НачатьНачать бесплатно

Полная оценка моделей

Точность и полнота могут иметь разный вес, поэтому F-beta метрика является важным инструментом оценки. Кроме того, ROC-кривая и площадь под ней (AUC) — это полезная дополнительная метрика, особенно с учётом того, что модель с высоким AUC может при этом показывать низкую точность. В этом упражнении вы вычислите полный набор метрик оценки для каждого классификатора.

В вашем распоряжении есть функция print_estimator_name(), которая выводит название каждого классификатора. В рабочей среде доступны X_train, y_train, X_test, y_test, признаки уже стандартизированы. Также доступны pandas как pd и sklearn.

Это упражнение является частью курса

Прогнозирование CTR с помощью машинного обучения на Python

Посмотреть курс

Инструкции к упражнению

  • Определите классификатор MLP с одним скрытым слоем из 10 нейронов и максимальным числом итераций 50.
  • Обучите каждый классификатор и получите предсказания.
  • Используйте инструменты из sklearn для вычисления точности, полноты, F-beta метрики и площади под ROC-кривой (AUC).

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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))
Редактировать и запускать код