CommencerCommencer gratuitement

Forêts aléatoires

Les Random Forests sont une méthode d’ensemble classique et puissante qui combine des arbres de décision individuels grâce à l’agrégation 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 de forêt aléatoire simple avec quelques valeurs d’hyperparamètres fixées.

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

Cet exercice fait partie du cours

Prédire le CTR avec le Machine Learning en Python

Afficher le cours

Instructions

  • Créez un classifieur de forêt aléatoire 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 du 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 du classifieur.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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