Підсумкове оцінювання
Пам'ятайте, що точність і повнота можуть мати різні ваги, тож F-бета — важлива метрика оцінювання. Крім того, ROC та площа під кривою AUC — важливі додаткові метрики до точності й повноти, адже ви вже бачили, що модель може мати високий AUC, але низьку точність. У цій вправі ви обчислите повний набір метрик оцінювання для кожного класифікатора.
Функція print_estimator_name() надає назву для кожного класифікатора. X_train, y_train, X_test, y_test доступні у вашому середовищі, і ознаки вже стандартизовано. pandas як pd та sklearn також доступні у вашому середовищі.
Ця вправа є частиною курсу
Прогнозування CTR за допомогою машинного навчання в Python
Інструкції до вправи
- Визначте MLP-класифікатор з одним прихованим шаром на 10 прихованих вузлів і максимумом у 50 ітерацій.
- Навчіть і спрогнозуйте для кожного класифікатора.
- Використайте реалізації зі
sklearn, щоб отримати точність (precision), повноту (recall), F-бета та AUC ROC.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))