easyml-framework 1.3.2
Framework ML ultra-simple avec cache intelligent, ensemble learning et monitoring automatique
Requires Python: >=3.7

# �� EasyML Framework

Framework Machine Learning automatisé pour Python - Simple et efficace

## ✨ Ce qui fonctionne vraiment

- **🤖 AutoClassifier** - Classification automatique avec 10 algorithmes
- **📊 AutoRegressor** - Régression automatique  
- **🎯 AutoEnsemble** - Ensemble learning intelligent
- **🧹 Preprocessing** - Nettoyage automatique des données
- **⚡ Optimisation** - Hyperparamètres automatiques
- **💾 Sauvegarde** - Modèles persistants

## 🛠️ Installation

```bash
pip install easyml-framework
```

## 🚀 Utilisation Rapide

### Classification Automatique

```python
import easyml as ez
import pandas as pd
from sklearn.datasets import load_iris

# Données
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target

# Modèle automatique
model = ez.AutoClassifier()
model.fit(df, target='target')

# Résultats
scores = model.evaluate()
print(f"Accuracy: {scores['accuracy']}")
print(f"Meilleur modèle: {scores['best_model']}")

# Prédiction
sample = df.drop('target', axis=1).iloc[:1]
prediction = model.predict(sample)
```

### Ensemble Learning

```python
# Ensemble automatique
ensemble = ez.AutoEnsemble()
ensemble.fit(df, target='target')

# Évaluation
scores = ensemble.evaluate()
print(f"Ensemble Accuracy: {scores['accuracy']}")
```

## 🔧 Algorithmes Supportés

**Classification :**
- RandomForest, GradientBoosting
- XGBoost, LightGBM (si installés)
- LogisticRegression, SVM
- KNeighbors, ExtraTrees
- AdaBoost, NaiveBayes

**Régression :**
- RandomForest, GradientBoosting
- LinearRegression, Ridge, Lasso
- ElasticNet, SVR, KNeighbors

## 📊 Fonctionnalités Avancées

- **Optimisation automatique** des hyperparamètres
- **Cross-validation** intégrée
- **Sélection du meilleur modèle** automatique
- **Preprocessing intelligent** (valeurs manquantes, encoding)
- **Cache des résultats** pour performances
- **Monitoring automatique** des modèles

## 🎯 Performances Réelles

- **10 algorithmes** testés automatiquement
- **Optimisation hyperparamètres** avec RandomizedSearch
- **Cross-validation** 5-fold par défaut
- **Accuracy typique** : 90-96% sur datasets standard
- **Vitesse** : Quelques secondes à minutes selon la taille

## 💾 Sauvegarde et Chargement

```python
# Sauvegarder
model.save('mon_modele.pkl')

# Charger
nouveau_model = ez.AutoClassifier()
nouveau_model.load('mon_modele.pkl')
```

## 📈 Interface CLI

```bash
# Classification rapide
easyml --auto-classify data.csv --target label

# Régression rapide  
easyml --auto-regress data.csv --target price

# Aide
easyml --help
```

## 🔧 Exemple Complet

```python
import easyml as ez
import pandas as pd

# Vos données
df = pd.read_csv('data.csv')

# Classification automatique
classifier = ez.AutoClassifier()
classifier.fit(df, target='label')

# Voir les résultats
results = classifier.evaluate()
print(f"Meilleur modèle: {results['best_model']}")
print(f"Accuracy: {results['accuracy']}")

# Tous les scores des modèles testés
for model, score in results['model_scores'].items():
    print(f"{model}: {score:.3f}")

# Prédiction sur nouvelles données
new_data = pd.read_csv('new_data.csv')
predictions = classifier.predict(new_data)
```

## 📄 Licence

MIT License - voir [LICENSE](LICENSE)

## 🚀 Comment Publier une Mise à Jour

1. Modifier la version dans `setup.py` et `easyml/__init__.py`
2. Reconstruire : `python setup.py sdist bdist_wheel`
3. Publier : `twine upload dist/*`