Kom igångKom igång gratis

Samlad utvärdering

Kom ihåg att precision och recall kan viktas olika, vilket gör F-beta-poängen till ett viktigt utvärderingsmått. ROC-kurvans AUC är dessutom ett viktigt kompletterande mått till precision och recall – du såg tidigare att en modell kan ha ett högt AUC-värde men låg precision. I den här övningen beräknar du den fullständiga uppsättningen utvärderingsmått för varje klassificerare.

En funktion print_estimator_name() finns tillgänglig och anger namnet på varje klassificerare. X_train, y_train, X_test och y_test finns i din workspace, och särdragen har redan standardiserats. pandas som pd och sklearn finns också tillgängliga i din workspace.

Den här övningen är en del av kursen

Förutsäga CTR med maskininlärning i Python

Visa kurs

Övningsinstruktioner

  • Definiera en MLP-klassificerare med ett dolt lager med 10 dolda enheter och maximalt 50 iterationer.
  • Träna och gör förutsägelser för varje klassificerare.
  • Använd implementationer från sklearn för att beräkna precision, recall, F-beta-poäng och AUC för ROC-kurvan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod