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
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 calculerfprettpr, puisauc()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))