0%
Machine Learning avec H2O

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

  1. Préparation des Données

    • Nettoyage efficace
    • Feature engineering
    • Gestion des valeurs manquantes
    • Normalisation
  2. Configuration des Modèles

    • Hyperparamètres optimisés
    • Validation croisée
    • Équilibrage des classes
    • Monitoring
  3. É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
InSkillCoach

À 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

Lien copié !