IniziaInizia gratis

Valutazione completa

Ricorda che precision e recall possono avere pesi diversi e quindi il punteggio F-beta è una metrica di valutazione importante. Inoltre, la curva ROC e la sua AUC sono metriche complementari fondamentali rispetto a precision e recall, dato che hai visto in precedenza come un modello possa avere un’AUC alta ma una precision bassa. In questo esercizio calcolerai l’intero set di metriche di valutazione per ciascun classificatore.

È fornita una funzione print_estimator_name() che restituisce il nome di ciascun classificatore. X_train, y_train, X_test, y_test sono disponibili nel tuo workspace e le feature sono già state standardizzate. pandas come pd e sklearn sono anch’essi disponibili nel tuo workspace.

Questo esercizio fa parte del corso

Prevedere il CTR con il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci un classificatore MLP con un livello nascosto di 10 unità e un massimo di 50 iterazioni.
  • Allena e predici per ciascun classificatore.
  • Usa le implementazioni di sklearn per ottenere precision, recall, punteggio F-beta e l’AUC della ROC.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice