Machine Learning avec H2O
Découvrez comment utiliser H2O pour le machine learning et l'automatisation des modèles.
I
InSkillCoach
· min
Machine Learning avec H2O
Découvrez comment utiliser H2O pour le machine learning et l’automatisation des modèles.
Configuration de Base
1. Installation
pip install h2o pandas numpy scikit-learn
2. Initialisation
import h2o
from h2o.automl import H2OAutoML
# Initialisation de H2O
h2o.init()
# Configuration de la mémoire
h2o.cluster().show_status()
Préparation des Données
1. Chargement des Données
# Chargement depuis un fichier CSV
data = h2o.import_file("data.csv")
# Chargement depuis un DataFrame pandas
import pandas as pd
df = pd.read_csv("data.csv")
data = h2o.H2OFrame(df)
# Division train/test
train, test = data.split_frame(ratios=[0.8], seed=42)
2. Préparation des Features
# Identification des colonnes
y = "target" # Variable cible
x = [col for col in data.columns if col != y]
# Conversion des types
data["target"] = data["target"].asfactor() # Pour la classification
data["target"] = data["target"].asnumeric() # Pour la régression
# Gestion des valeurs manquantes
data = data.fillna(method="forward")
AutoML avec H2O
1. Configuration de l’AutoML
# Configuration de l'AutoML
aml = H2OAutoML(
max_models=10,
seed=42,
max_runtime_secs=300,
sort_metric="AUTO",
balance_classes=True,
nfolds=5
)
# Entraînement
aml.train(x=x, y=y, training_frame=train)
2. Évaluation des Modèles
# Leaderboard
lb = aml.leaderboard
print(lb)
# Meilleur modèle
best_model = aml.leader
# Prédictions
predictions = best_model.predict(test)
# Métriques de performance
performance = best_model.model_performance(test)
print(performance)
Modèles Spécifiques
1. Random Forest
from h2o.estimators import H2ORandomForestEstimator
# Configuration du modèle
rf = H2ORandomForestEstimator(
ntrees=100,
max_depth=10,
min_rows=5,
seed=42
)
# Entraînement
rf.train(x=x, y=y, training_frame=train)
# Évaluation
rf_performance = rf.model_performance(test)
2. Gradient Boosting
from h2o.estimators import H2OGradientBoostingEstimator
# Configuration du modèle
gbm = H2OGradientBoostingEstimator(
ntrees=100,
max_depth=6,
learn_rate=0.1,
seed=42
)
# Entraînement
gbm.train(x=x, y=y, training_frame=train)
# Évaluation
gbm_performance = gbm.model_performance(test)
Fonctionnalités Avancées
1. Feature Engineering
# Création de nouvelles features
data["new_feature"] = data["feature1"] * data["feature2"]
# Encodage catégoriel
data["categorical"] = data["categorical"].asfactor()
# Normalisation
from h2o.preprocessing import H2OScaler
scaler = H2OScaler()
data_scaled = scaler.fit_transform(data)
2. Sélection de Features
# Importance des features
feature_importance = best_model.varimp(use_pandas=True)
print(feature_importance)
# Sélection des features importantes
important_features = feature_importance[feature_importance["relative_importance"] > 0.01]["variable"]
Sauvegarde et Chargement
1. Sauvegarde des Modèles
# Sauvegarde du modèle
h2o.save_model(best_model, path="models/")
# Sauvegarde des prédictions
h2o.export_file(predictions, "predictions.csv")
2. Chargement des Modèles
# Chargement du modèle
loaded_model = h2o.load_model("models/best_model")
# Utilisation du modèle chargé
new_predictions = loaded_model.predict(test)
Bonnes Pratiques
-
Préparation des Données
- Nettoyage efficace
- Feature engineering
- Gestion des valeurs manquantes
- Normalisation
-
Configuration des Modèles
- Hyperparamètres optimisés
- Validation croisée
- Équilibrage des classes
- Monitoring
-
Évaluation
- Métriques appropriées
- Validation sur test
- Interprétabilité
- Documentation
Conclusion
Points clés à retenir :
- AutoML efficace
- Modèles performants
- Feature engineering
- Évaluation complète
Recommandations :
- Optimiser les hyperparamètres
- Valider les résultats
- Documenter les expériences
- Se former sur H2O
- Suivre les bonnes pratiques
À propos de InSkillCoach
Expert en formation et technologies
Coach spécialisé dans les technologies avancées et l'IA, porté par GNeurone Inc.
Certifications:
- AWS Certified Solutions Architect – Professional
- Certifications Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
715
253
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion