开始使用免费开始使用

评估 Logistic Regression 模型

Accuracy(准确率)通常并不可靠,因为它可能受到最常见目标类别的偏置影响。

还有两个更有用的指标:

  • 精确率(precision)和
  • 召回率(recall)。

请查看本课的幻灯片以获取相关公式。

精确率是指被预测为正类的样本中,预测正确所占的比例。对于所有被预测会延误的航班,实际延误的占比是多少?

召回率是指实际为正类的样本中,被正确预测所占的比例。对于所有实际延误的航班,模型正确预测的占比是多少?

精确率和召回率一般以正类为基准来定义。但也可以计算这些指标的加权版本,兼顾两个目标类别。

混淆矩阵的组成部分可通过 TNTPFNFP 获取,同时还提供了对象 prediction

本练习是课程的一部分

使用 PySpark 进行机器学习

查看课程

练习说明

  • 求出精确率和召回率。
  • 创建一个多分类评估器并评估加权精确率。
  • 创建一个二分类评估器,并使用 "areaUnderROC" 指标评估 AUC。

交互式实操练习

通过完成这段示例代码来试试这个练习。

from pyspark.ml.evaluation import MulticlassClassificationEvaluator, BinaryClassificationEvaluator

# Calculate precision and recall
precision = ____
recall = ____
print('precision = {:.2f}\nrecall    = {:.2f}'.format(precision, recall))

# Find weighted precision
multi_evaluator = ____
weighted_precision = multi_evaluator.____(prediction, {multi_evaluator.metricName: "____"})

# Find AUC
binary_evaluator = ____
auc = binary_evaluator.____(____, {____})
编辑并运行代码