Zacznij terazZacznij za darmo

Pełna ocena modeli

Precyzja i czułość mogą mieć różne wagi, dlatego wynik F-beta jest ważną metryką ewaluacyjną. Pole pod krzywą ROC (AUC) stanowi natomiast cenne uzupełnienie precyzji i czułości – wcześniej widziałeś, że model może osiągać wysokie AUC przy jednocześnie niskiej precyzji. W tym ćwiczeniu obliczysz pełny zestaw metryk ewaluacyjnych dla każdego klasyfikatora.

Dostępna jest funkcja print_estimator_name(), która wyświetla nazwę każdego klasyfikatora. W przestrzeni roboczej masz dostęp do X_train, y_train, X_test, y_test – cechy zostały już wystandaryzowane. Dostępne są również pandas jako pd oraz sklearn.

To ćwiczenie jest częścią kursu

Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj klasyfikator MLP z jedną ukrytą warstwą złożoną z 10 neuronów i maksymalnie 50 iteracjami.
  • Wytrenuj każdy klasyfikator i dokonaj predykcji.
  • Użyj implementacji z sklearn, aby obliczyć precyzję, czułość, wynik F-beta oraz AUC krzywej ROC.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod