Score global
Gardez à l’esprit que la précision et le rappel peuvent être pondérés différemment ; le score F-bêta est donc un indicateur d’évaluation important. De plus, l’AUC de la courbe ROC est une métrique complémentaire essentielle à la précision et au rappel, puisque vous avez vu précédemment qu’un modèle peut avoir une AUC élevée mais une faible précision. Dans cet exercice, vous allez calculer l’ensemble complet des métriques d’évaluation pour chaque classificateur.
Une fonction print_estimator_name() est fournie pour afficher le nom de chaque classificateur. X_train, y_train, X_test, y_test sont disponibles dans votre espace de travail, et les variables explicatives ont déjà été normalisées. pandas sous l’alias pd et sklearn sont également disponibles dans votre espace de travail.
Cet exercice fait partie du cours
Prédire le CTR avec le Machine Learning en Python
Instructions
- Définissez un classificateur MLP avec une couche cachée de 10 unités cachées et un maximum de 50 itérations.
- Entraînez et prédisez pour chaque classificateur.
- Utilisez les implémentations de
sklearnpour obtenir la précision, le rappel, le score F-bêta et l’AUC de la ROC.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create classifiers
clfs = [LogisticRegression(), DecisionTreeClassifier(), RandomForestClassifier(),
____(____ = (10, ), ____ = 50)]
# Produce all evaluation metrics for each classifier
for clf in clfs:
print("Evaluating classifier: %s" %(print_estimator_name(clf)))
y_score = clf.fit(X_train, y_train).____(X_test)
y_pred = clf.fit(X_train, y_train).____(X_test)
prec = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
fbeta = ____(y_test, y_pred, beta = 0.5, average = 'weighted')
roc_auc = ____(y_test, y_score[:, 1])
print("Precision: %s: Recall: %s, F-beta score: %s, AUC of ROC curve: %s"
%(prec, recall, fbeta, roc_auc))