Toplam puanlama
Precision ve recall farklı ağırlıklandırılabileceğinden, F-beta skoru önemli bir değerlendirme metriğidir. Ayrıca, AUC eğrisinin ROC'u, bir modelin yüksek AUC'ye sahip olup düşük precision gösterebileceğini daha önce gördüğün için, precision ve recall'a tamamlayıcı önemli bir metriktir. Bu egzersizde her sınıflandırıcı için tüm değerlendirme metriklerini hesaplayacaksın.
Her sınıflandırıcı için adını veren bir print_estimator_name() fonksiyonu sağlanmıştır. X_train, y_train, X_test, y_test çalışma alanında mevcut ve özellikler zaten standartlaştırıldı. pandas pd olarak ve sklearn de çalışma alanında mevcut.
Bu egzersiz, kursun bir parçasıdır
Python ile Machine Learning kullanarak TOB tahmini
Egzersiz talimatları
- 10 gizli birimli tek gizli katmanlı ve maksimum 50 iterasyonlu bir MLP sınıflandırıcı tanımla.
- Her sınıflandırıcı için eğit ve tahmin et.
- Precision, recall, F-beta skoru ve ROC eğrisinin AUC skorunu almak için
sklearnuygulamalarını kullan.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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))