Metadata-Version: 2.4
Name: mlpy-geo
Version: 0.1.0
Summary: A Machine Learning Framework for Python inspired by mlr3
Author: MLPY Contributors
License: MIT
Project-URL: Homepage, https://github.com/mlpy-project/mlpy
Project-URL: Documentation, https://mlpy.readthedocs.io
Project-URL: Source, https://github.com/mlpy-project/mlpy
Project-URL: Tracker, https://github.com/mlpy-project/mlpy/issues
Project-URL: Changelog, https://github.com/mlpy-project/mlpy/blob/main/CHANGELOG.md
Keywords: machine learning,ml,data science,framework,mlr3
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: scikit-learn>=1.0.0
Requires-Dist: typing-extensions>=4.0.0; python_version < "3.10"
Requires-Dist: click>=8.0.0
Requires-Dist: pyyaml>=5.4.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: isort>=5.10.0; extra == "dev"
Requires-Dist: flake8>=5.0.0; extra == "dev"
Requires-Dist: mypy>=0.990; extra == "dev"
Requires-Dist: pre-commit>=2.20.0; extra == "dev"
Requires-Dist: sphinx>=5.0.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "dev"
Requires-Dist: numpydoc>=1.5.0; extra == "dev"
Provides-Extra: visualization
Requires-Dist: matplotlib>=3.5.0; extra == "visualization"
Requires-Dist: seaborn>=0.12.0; extra == "visualization"
Provides-Extra: parallel
Requires-Dist: joblib>=1.2.0; extra == "parallel"
Requires-Dist: ray>=2.0.0; extra == "parallel"
Requires-Dist: dask[complete]>=2023.1.0; extra == "parallel"
Provides-Extra: interpretability
Requires-Dist: shap>=0.41.0; extra == "interpretability"
Requires-Dist: lime>=0.2.0; extra == "interpretability"
Provides-Extra: arrow
Requires-Dist: pyarrow>=10.0.0; extra == "arrow"
Requires-Dist: polars>=0.19.0; extra == "arrow"
Provides-Extra: all
Requires-Dist: mlpy[arrow,dev,interpretability,parallel,visualization]; extra == "all"
Dynamic: license-file

# 🚀 MLPY - Modern Machine Learning Framework for Python

[![Python 3.8+](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Tests](https://img.shields.io/badge/tests-85%25%20passing-green.svg)](tests/)
[![Coverage](https://img.shields.io/badge/coverage-16%25-orange.svg)](htmlcov/index.html)
[![Documentation](https://img.shields.io/badge/docs-available-brightgreen.svg)](docs/)

MLPY es un framework moderno y extensible de aprendizaje automático para Python, inspirado en [mlr3](https://mlr3.mlr-org.com/). Proporciona una interfaz unificada, componible y orientada a objetos para tareas de machine learning.

## ✨ Características Principales

- 🎯 **API Unificada**: Interfaz consistente para clasificación, regresión, clustering y más
- 🧩 **Diseño Modular**: Bloques componibles para flujos de trabajo complejos
- 🔧 **Altamente Extensible**: Fácil integración de nuevos learners, medidas y transformaciones
- 📊 **Evaluación Robusta**: Múltiples estrategias de resampling y medidas de rendimiento
- 🤖 **AutoML Integrado**: Optimización automática de hiperparámetros y feature engineering
- ⚡ **Alto Rendimiento**: Paralelización nativa y backends optimizados
- 🔍 **Explicabilidad**: Interpretación de modelos con SHAP, LIME y más
- 📈 **Visualización Rica**: Gráficos interactivos para análisis de resultados
- 🔗 **Integración Total**: Compatible con scikit-learn, XGBoost, LightGBM, PyTorch

## 📦 Instalación

### Instalación Básica
```bash
pip install mlpy
```

### Instalación Completa (todas las dependencias)
```bash
pip install mlpy[all]
```

### Instalación para Desarrollo
```bash
git clone https://github.com/your-org/mlpy.git
cd mlpy
pip install -e .[dev]
```

## 🚀 Inicio Rápido

### Ejemplo Básico de Clasificación

```python
import pandas as pd
from mlpy.tasks import TaskClassif
from mlpy.learners.sklearn import LearnerRandomForestClassifier
from mlpy.resamplings import ResamplingCV
from mlpy.measures import MeasureClassifAccuracy

# Cargar datos
data = pd.read_csv("iris.csv")

# Crear tarea de clasificación
task = TaskClassif(data=data, target="species")

# Crear learner
learner = LearnerRandomForestClassifier(n_estimators=100, random_state=42)

# Configurar cross-validation
cv = ResamplingCV(folds=5)

# Entrenar y evaluar
learner.train(task)
predictions = learner.predict(task)

# Medir rendimiento
measure = MeasureClassifAccuracy()
accuracy = measure.score(predictions.truth, predictions.response)
print(f"Accuracy: {accuracy:.2%}")
```

### Pipeline Completo con AutoML

```python
from mlpy.automl import AutoML
from mlpy.tasks import TaskRegr

# Crear tarea
task = TaskRegr(data=data, target="price")

# Configurar AutoML
automl = AutoML(
    task=task,
    time_budget=300,  # 5 minutos
    metric="rmse"
)

# Ejecutar optimización
best_model = automl.fit()

# Hacer predicciones
predictions = best_model.predict(task)
```

## 📚 Documentación Completa

### Guías Principales

- 📖 [Guía de Usuario Completa](docs/DOCUMENTATION_SUMMARY.md)
- 🎓 [Tutoriales Paso a Paso](docs/tutoriales/00_INDICE_TUTORIALES.md)
- 🔬 [Guía de Evaluación Lazy](docs/LAZY_EVALUATION_GUIDE.md)
- 📊 [Guía de Big Data](docs/BIG_DATA_GUIDE.md)
- 🧪 [Guía de Testing](docs/TESTING_GUIDE.md)
- 💾 [Guía de Persistencia](docs/PERSISTENCE_GUIDE.md)
- 🖥️ [Guía de CLI](docs/CLI_GUIDE.md)

### Casos de Uso

- 🛒 [Predicción de Churn en Retail](docs/casos_uso/retail_prediccion_churn.md)
- 📊 [Ejemplos con Big Data](docs/BIG_DATA_EXAMPLES.md)

## 🏗️ Arquitectura

```
mlpy/
├── core/           # Componentes fundamentales
├── tasks/          # Definición de tareas ML
├── learners/       # Algoritmos de aprendizaje
├── measures/       # Métricas de evaluación
├── resamplings/    # Estrategias de validación
├── pipelines/      # Pipelines de procesamiento
├── automl/         # AutoML y optimización
├── validation/     # Validación de datos
├── backends/       # Backends de computación
└── visualization/  # Herramientas de visualización
```

## 🎯 Modelos Disponibles

### Clasificación
- Random Forest, Gradient Boosting, XGBoost, LightGBM
- SVM, Logistic Regression, Naive Bayes
- Redes Neuronales (MLP, CNN, RNN)
- Deep Learning con PyTorch

### Regresión
- Linear/Ridge/Lasso/ElasticNet
- Random Forest, Gradient Boosting
- Support Vector Regression
- Redes Neuronales

### Clustering
- K-Means, DBSCAN, Hierarchical
- Gaussian Mixture Models
- Spectral Clustering
- HDBSCAN con auto-tuning

### Deep Learning
- LSTM, GRU, BiLSTM para series temporales
- Transformers para NLP
- CNNs para visión por computadora

## 📊 Benchmarking

```python
from mlpy.benchmark import Benchmark

# Configurar benchmark
benchmark = Benchmark(
    tasks=[task1, task2],
    learners=[learner1, learner2, learner3],
    resamplings=[cv, holdout],
    measures=[accuracy, auc, f1]
)

# Ejecutar
results = benchmark.run(parallel=True)

# Visualizar
results.plot_comparison()
results.to_latex("results.tex")
```

## 🧪 Testing

El framework incluye una suite completa de tests:

```bash
# Ejecutar todos los tests
pytest tests/

# Con coverage
pytest --cov=mlpy tests/

# Tests rápidos de validación
python test_quick_validation.py
```

Estado actual:
- ✅ 7/7 tests de validación pasando
- ✅ 29/34 tests unitarios pasando (85%)
- 📊 16.28% coverage de código

## 🤝 Contribuir

¡Las contribuciones son bienvenidas! Por favor:

1. Fork el repositorio
2. Crea una rama para tu feature (`git checkout -b feature/AmazingFeature`)
3. Commit tus cambios (`git commit -m 'Add AmazingFeature'`)
4. Push a la rama (`git push origin feature/AmazingFeature`)
5. Abre un Pull Request

## 📈 Roadmap

### v2.1 (Actual)
- ✅ Model Registry completo
- ✅ Deep Learning models (LSTM, GRU, Transformers)
- ✅ Advanced clustering con auto-tuning
- ✅ Sistema de validación mejorado

### v3.0 (Próximo)
- [ ] MLOps completo (tracking, deployment)
- [ ] AutoML mejorado con NAS
- [ ] Distributed training
- [ ] GUI interactiva

## 📝 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo [LICENSE](LICENSE) para más detalles.

## 🙏 Agradecimientos

- Inspirado en [mlr3](https://mlr3.mlr-org.com/) de R
- Construido sobre [scikit-learn](https://scikit-learn.org/)
- Integración con el ecosistema Python ML

## 📞 Contacto

- 📧 Email: mlpy@example.com
- 💬 Discord: [MLPY Community](https://discord.gg/mlpy)
- 🐦 Twitter: [@mlpy_framework](https://twitter.com/mlpy_framework)

---

**⭐ Si te gusta MLPY, dale una estrella en GitHub!**

<p align="center">
  Hecho con ❤️ por la comunidad MLPY
</p>
