CommencezCommencez gratuitement

Forêts aléatoires

Les Random Forests sont une méthode d'ensemble classique et puissante qui exploite des arbres de décision individuels au moyen d'un échantillonnage bootstrap (ou « bagging »). Deux hyperparamètres principaux pour ce type de modèle sont le nombre d'arbres et la profondeur maximale de chaque arbre. Dans cet exercice, vous allez implémenter et évaluer un classifieur random forest simple avec quelques valeurs d'hyperparamètres fixes.

X_train, y_train, X_test, y_test sont disponibles dans votre espace de travail. pandas sous pd, numpy sous np, et sklearn sont aussi disponibles. RandomForestClassifier() de sklearn.ensemble est également accessible, ainsi que roc_curve() et auc() de sklearn.metrics.

Cette activité fait partie du cours

Prédire le CTR avec le Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Créez un classifieur random forest avec 50 arbres et une profondeur maximale de 5.
  • Entraînez le classifieur et obtenez les scores de probabilité via .predict_proba(), ainsi que les prédictions via .predict() pour les données de test.
  • Évaluez l'AUC de la courbe ROC pour le classifieur en utilisant d'abord roc_curve() pour calculer fpr et tpr, puis auc() sur le résultat.
  • Évaluez la précision et le rappel pour le classifieur.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create random forest classifier with specified params
clf = ____(____ = 50, ____ = 5)

# Train classifier - predict probability score and label
y_score = clf.____(X_train, y_train).____(X_test) 
y_pred = clf.____(X_train, y_train).____(X_test) 

# Get ROC curve metrics
fpr, tpr, thresholds = ____(y_test, y_score[:, 1])
print("ROC of AUC: %s"%(____(fpr, tpr)))

# Get precision and recall
precision = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
print("Precision: %s, Recall: %s" %(precision, recall))
Modifier et exécuter le code