%22%3E%3Cpath%20d%3D%22m-369%200h408v79h-408z%22%20fill%3D%22%237933ff%22%2F%3E%3Cpath%20d%3D%22m-148%200h306v45h-306z%22%20fill%3D%22%23974dff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m76%200h484v36h-484z%22%20fill%3D%22%23974dff%22%2F%3E%3Cpath%20d%3D%22m0%200h384v24h-384z%22%20fill%3D%22%2306bdfc%22%20transform%3D%22matrix(1%200%200%20-1%200%2060)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
如果您想学习我们的《机器学习工具箱》课程,请访问此链接。
计算混淆矩阵
正如您在视频中看到的,混淆矩阵是一个非常有用的工具,用于校准模型输出并检查预测的所有可能结果(真正例、真反例、假正例、假反例)。
在创建混淆矩阵之前,您需要在给定阈值处“截断”预测概率,将概率转换为类别预测。您可以使用 ifelse() 函数轻松完成,例如:
class_prediction <-
ifelse(probability_prediction > 0.50,
"positive_class",
"negative_class"
)
技术支持
您可以使用 R 基础中的 table() 函数来创建这样的列联表,但 caret 中的 confusionMatrix() 除了表中的基准比率外,还会返回许多有用的辅助统计量。您可以使用预测结果以及真实结果来计算混淆矩阵(及其相关统计),例如:
confusionMatrix(predicted, actual)
技术支持
操作说明
- 将数值预测
p 转换为名为 p_class 的类别预测向量,使用 0.50 作为预测阈值。进行预测时,请确保对正类使用 "M",对负类使用 "R",以与原始数据中的类别保持一致。
- 使用
p_class、test 集中的实际取值,以及 confusionMatrix() 函数创建一个混淆矩阵。
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix
如果理解了这些内容,就继续进行下一个练习吧!如果还有疑问,请观看下方概览视频。
混淆矩阵概览视频
从概率到混淆矩阵
反过来说,假设您想要非常确定模型能将所有地雷都正确识别为地雷。在这种情况下,您可能会使用 0.10 的预测阈值,而不是 0.90。
您可以像之前一样,使用新的预测类别来构建混淆矩阵:
pred <- ifelse(probability > threshold, "M", "R")
技术支持
接下来,您可以像上一练习中一样调用 confusionMatrix() 函数:
confusionMatrix(pred, actual)
技术支持
# If p exceeds threshold of 0.1, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix
如果您想从本课程中学到更多内容,请访问此链接。
如果您想学习我们的《机器学习工具箱》课程,请访问此链接。
计算混淆矩阵
正如您在视频中看到的,混淆矩阵是一个非常有用的工具,用于校准模型输出并检查预测的所有可能结果(真正例、真反例、假正例、假反例)。
在创建混淆矩阵之前,您需要在给定阈值处“截断”预测概率,将概率转换为类别预测。您可以使用
ifelse()函数轻松完成,例如:您可以使用 R 基础中的
table()函数来创建这样的列联表,但caret中的confusionMatrix()除了表中的基准比率外,还会返回许多有用的辅助统计量。您可以使用预测结果以及真实结果来计算混淆矩阵(及其相关统计),例如:操作说明
p转换为名为p_class的类别预测向量,使用 0.50 作为预测阈值。进行预测时,请确保对正类使用"M",对负类使用"R",以与原始数据中的类别保持一致。p_class、test集中的实际取值,以及confusionMatrix()函数创建一个混淆矩阵。如果理解了这些内容,就继续进行下一个练习吧!如果还有疑问,请观看下方概览视频。
混淆矩阵概览视频
从概率到混淆矩阵
反过来说,假设您想要非常确定模型能将所有地雷都正确识别为地雷。在这种情况下,您可能会使用 0.10 的预测阈值,而不是 0.90。
您可以像之前一样,使用新的预测类别来构建混淆矩阵:
接下来,您可以像上一练习中一样调用
confusionMatrix()函数:如果您想从本课程中学到更多内容,请访问此链接。