Penilaian total
Ingat bahwa precision dan recall dapat diberi bobot berbeda sehingga skor F-beta menjadi metrik evaluasi yang penting. Selain itu, ROC dari kurva AUC merupakan metrik pelengkap yang penting bagi precision dan recall karena sebelumnya Anda melihat bahwa sebuah model bisa saja memiliki AUC tinggi tetapi precision rendah. Dalam latihan ini, Anda akan menghitung serangkaian metrik evaluasi lengkap untuk setiap classifier.
Fungsi print_estimator_name() disediakan untuk menampilkan nama setiap classifier. X_train, y_train, X_test, y_test tersedia di workspace Anda, dan fitur-fitur telah distandardisasi. pandas sebagai pd dan sklearn juga tersedia di workspace Anda.
Latihan ini adalah bagian dari kursus
Memprediksi CTR dengan Machine Learning di Python
Petunjuk latihan
- Definisikan classifier MLP dengan satu hidden layer berisi 10 unit tersembunyi dan 50 iterasi maksimum.
- Latih dan lakukan prediksi untuk setiap classifier.
- Gunakan implementasi dari
sklearnuntuk memperoleh precision, recall, skor F-beta, dan AUC dari skor ROC.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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))