评估 Logistic Regression 模型
Accuracy(准确率)通常并不可靠,因为它可能受到最常见目标类别的偏置影响。
还有两个更有用的指标:
- 精确率(precision)和
- 召回率(recall)。
请查看本课的幻灯片以获取相关公式。
精确率是指被预测为正类的样本中,预测正确所占的比例。对于所有被预测会延误的航班,实际延误的占比是多少?
召回率是指实际为正类的样本中,被正确预测所占的比例。对于所有实际延误的航班,模型正确预测的占比是多少?
精确率和召回率一般以正类为基准来定义。但也可以计算这些指标的加权版本,兼顾两个目标类别。
混淆矩阵的组成部分可通过 TN、TP、FN 和 FP 获取,同时还提供了对象 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.____(____, {____})