开始使用免费开始使用

计算混淆矩阵

正如您在视频中所见,混淆矩阵是用于校准模型输出并检查所有可能预测结果(真正类、真负类、假正类、假负类)的非常有用的工具。

在创建混淆矩阵之前,您需要在给定阈值处"切分"预测概率,把概率转为类别预测的因子。请将 ifelse()factor() 结合使用,如下所示:

pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))

caret 中的 confusionMatrix() 在 base R 的 table() 基础上做了改进,除了表中的基本比率外,还添加了许多有用的辅助统计量。您可以使用预测结果以及真实结果来计算混淆矩阵(及相关统计量),例如:

confusionMatrix(p_class, test_values)

本练习是课程的一部分

在 R 中使用 caret 的机器学习

查看课程

练习说明

  • 使用 ifelse() 创建字符向量 m_or_r:当 p 大于 0.5 时取正类 "M",否则取负类 "R"
  • m_or_r 转换为因子 p_class,其水平与 test[["Class"]] 的水平相同。
  • 使用 confusionMatrix() 构建混淆矩阵,传入 p_classtest 数据集中的 "Class" 列。

交互式实操练习

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

# If p exceeds threshold of 0.5, M else R: m_or_r


# Convert to factor: p_class


# Create confusion matrix
编辑并运行代码