评估模型性能
学习目标
解释混淆矩阵以评估模型性能。
本节重点介绍使用测试子集评估模型,测试子集由训练或验证期间未使用的数据组成。
位于行 0 的第一个表中的 AUC 值为 0.94。这略低于基于训练子集 0.95 的 AUC,这是预期的。在实际操作中,实现与训练数据相同的测试数据性能通常具有挑战性。
下面的第二个表显示"混淆矩阵"的条目,通过比较预测值与实际值 [1] 来帮助评估分类模型的性能。行零表示"真负值",其中 'PREDICTED_CLASS' 将 'ACTUAL_CLASS' 正确预测为"否"(负)。有 2,538 个"真负"案例。
以下输出表中的第 1 行引用"误报"。误报是指错误地预测为"正"但实际为"负"的案例 - 只有 14 个此类情况。第 2 行是指"假负数"(212),其中案例错误地预测为"负",但实际为"正"。最后,第三行表示"真阳性",其中案例正确预测为"正",有 103 个实例。
# Test model generalization using the test data subset (not used during training)
scorepredictions, scorestats, scorecm, scoremetrics = hgbc.score(data=df_test , key= 'EMPLOYEE_ID', label='FLIGHT_RISK',
ntiles=20, impute=True,
thread_ratio=1.0)
#display(hgbc.runtime)
display(scorestats.sort('CLASS_NAME').collect())
display(scorecm.filter('COUNT != 0').collect())
#display(scoremetrics.collect())
ITEM_NUMBER |
STAT_NAME |
STAT_VALUE |
CLASS_NAME |
|---|---|---|---|
0 |
AUC |
0.9414 |
无 |
1 |
准确性 |
0.9211 |
无 |
2 |
KAPPA |
0.4437 |
无 |
3 |
MCC |
0.5081 |
无 |
4 |
RECALL |
0.9945 |
否 |
5 |
PRECISION |
0.9229 |
否 |
6 |
F1_SCORE |
0.9573 |
否 |
7 |
支持 |
2552 |
否 |
8 |
RECALL |
0.3269 |
是 |
9 |
PRECISION |
0.8803 |
是 |
10 |
F1_SCORE |
0.4768 |
是 |
11 |
支持 |
315 |
是 |
ITEM_NUMBER |
ACTUAL_CLASS |
PREDICTED_CLASS |
计数 |
|---|---|---|---|
0 |
否 |
否 |
2538 |
1 |
否 |
是 |
14 |
2 |
是 |
否 |
212 |
3 |
是 |
是 |
103 |
参考
[1]混淆矩阵 - 概览