开始使用免费开始使用

评估决策树

您可以通过评估模型在测试数据上的表现来判断模型的质量。由于模型并未在这些数据上训练,因此这是对模型的客观评估。

混淆矩阵可以清晰地对"预测值 vs. 已知真实值"进行拆分。它有 4 个单元格,分别表示如下计数:

  • 真负(TN)— 模型预测为负,真实结果也为负
  • 真正(TP)— 模型预测为正,真实结果也为正
  • 假负(FN)— 模型预测为负,但真实结果为正
  • 假正(FP)— 模型预测为正,但真实结果为负。

这些计数(TNTPFNFP)之和应等于测试数据中的记录数,而测试数据只是航班数据的一个子集。您可以将其与测试数据的记录数进行比较,即 flights_test.count()

注意: 这些预测是在"测试"数据上得到的,因此计数会比在训练数据上做预测时更小。

本练习是课程的一部分

使用 PySpark 进行机器学习

查看课程

练习说明

  • 通过统计 labelprediction 的组合来创建混淆矩阵。显示结果。
  • 分别统计真负(TN)、真正(TP)、假负(FN)和假正(FP)的数量。
  • 计算准确率。

交互式实操练习

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

# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()

# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()

# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)
编辑并运行代码