LoslegenKostenlos loslegen

Gesamtbewertung

Denk daran, dass Precision und Recall unterschiedlich gewichtet werden können und daher der F-Beta-Score eine wichtige Bewertungskennzahl ist. Außerdem ist die ROC-AUC-Kurve eine wichtige ergänzende Kennzahl zu Precision und Recall, da du zuvor gesehen hast, dass ein Modell eine hohe AUC, aber eine niedrige Precision haben kann. In dieser Übung berechnest du den vollständigen Satz an Bewertungsmetriken für jeden Klassifikator.

Eine Funktion print_estimator_name() ist gegeben, die den Namen für jeden Klassifikator ausgibt. X_train, y_train, X_test, y_test stehen in deinem Workspace zur Verfügung, und die Features wurden bereits standardisiert. pandas als pd und sklearn stehen dir ebenfalls zur Verfügung.

Diese Übung ist Teil des Kurses

CTR-Vorhersage mit Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere einen MLP-Klassifikator mit einer verborgenen Schicht mit 10 Neuronen und maximal 50 Iterationen.
  • Trainiere und sage für jeden Klassifikator voraus.
  • Verwende Implementierungen aus sklearn, um Precision, Recall, F-Beta-Score und die AUC der ROC zu erhalten.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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))
Code bearbeiten und ausführen