开始使用免费开始使用

综合评分

请记住,精确率与召回率可能需要不同的权重,因此 F-beta 分数是一个重要的评估指标。此外,ROC 曲线下的 AUC 是对精确率和召回率的有力补充指标,您之前也看到,模型可能出现 AUC 很高但精确率很低的情况。在本练习中,您将为每个分类器计算完整的一组评估指标。

已为您提供 print_estimator_name() 函数,用于输出每个分类器的名称。工作区中已提供 X_trainy_trainX_testy_test,并且特征已标准化。pandas 已以 pd 导入,sklearn 也已可用。

本练习是课程的一部分

用 Python 预测 CTR 的机器学习实战

查看课程

练习说明

  • 定义一个具有 1 个隐藏层(10 个隐藏单元)且最大迭代次数为 50 的 MLP 分类器。
  • 对每个分类器进行训练并生成预测。
  • 使用 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))
编辑并运行代码