【机器学习】评价指标 - 混淆矩阵confusion matrix, 准确率,召回率

混淆矩阵

.预测正确(接受)预测错误(拒绝)
TP T P TN T N (第一类分类错误,去真) P P
FP(第二类分类错误,存伪) FN F N N N

列表示:实际属性
行表示:预测值

  • FP
    第一类分类错误

    • TN T N
      第二类分类错误

    • FP rate F P   r a t e

      FP Rate=FPN=FPTN+FP F P   R a t e = F P N = F P T N + F P

    • Specificity S p e c i f i c i t y

      Specificity=1FP Rate=TNN=TNFN+FP S p e c i f i c i t y = 1 − F P   R a t e = T N N = T N F N + F P

    • Recall R e c a l l


      Recall=TPP=TPTP+TN R e c a l l = T P P = T P T P + T N

    • Precision P r e c i s i o n

      Precision=TPTP+FP P r e c i s i o n = T P T P + F P

    • Accuracy A c c u r a c y

    • Accuracy=TP+FNP+N A c c u r a c y = T P + F N P + N

      • Fscore F − s c o r e
        FScore=Precision×Recall F − S c o r e = P r e c i s i o n × R e c a l l

      ROC曲线 AUC曲线

      以上这些都属于静态的指标,当正负样本不平衡时它会存在着严重的问题。极端情况下比如正负样本比例为1:99(这在有些领域并不少见),那么一个基准分类器只要把所有样本都判为负,它就拥有了99%的精确度,但这时的评价指标是不具有参考价值的。另外就是,现代分类器很多都不是简单地给出一个0或1的分类判定,而是给出一个分类的倾向程度,比如贝叶斯分类器输出的分类概率。对于这些分类器,当你取不同阈值,就可以得到不同的分类结果及分类器评价指标,依此人们又发明出来ROC曲线以及AUC(曲线包围面积)指标来衡量分类器的总体可信度。

      可视化解释

      • 图表示

      • 计算Precision 的点

      Precision=1111+10 P r e c i s i o n = 分 类 1 中 1 的 数 量 分 类 1 中 1 的 数 量 + 分 类 1 中 0 的 数 量

      • 计算Recall的点

      Recall=1111+01 R e c a l l = 分 类 1 中 1 的 数 量 分 类 1 中 1 的 数 量 + 分 类 0 中 1 的 数 量

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
混淆矩阵是用来衡量分类模型预测结果的准确性的一种工具。在机器学习中,混淆矩阵由四个不同的结果组成:真正例(TP)、真负例(TN)、假正例(FP)和假负例(FN)。其中,真正例表示模型将正例正确地预测为正例的数量,真负例表示模型将负例正确地预测为负例的数量,假正例表示模型将负例错误地预测为正例的数量,假负例表示模型将正例错误地预测为负例的数量。 召回率是一种评估模型在预测正例方面性能的指标。具体而言,召回率指的是模型正确识别出的正例数量(TP)占实际正例数量(TP+FN)的比例。召回率越高,模型识别正例的能力越强。 在R语言中,可以使用混淆矩阵函数来计算混淆矩阵召回率。例如,可以使用`confusionMatrix`函数来计算混淆矩阵和各种评估指标,包括召回率。具体步骤如下: ```R # 导入混淆矩阵库 library(caret) # 定义真实标签和预测标签 actual <- c(1, 1, 0, 1, 0) predicted <- c(1, 0, 0, 1, 0) # 构建混淆矩阵 cm <- confusionMatrix(as.factor(predicted), as.factor(actual)) # 输出混淆矩阵 print(cm) # 输出召回率 recall <- cm$byClass["Recall"] print(recall) ``` 上述代码中,我们首先导入`caret`库,然后定义了真实标签和预测标签。然后使用`confusionMatrix`函数根据这两个标签计算混淆矩阵。最后,我们通过访问混淆矩阵对象的`byClass`属性获取召回率,并将其打印出来。 总之,混淆矩阵是评估分类模型性能的重要工具,召回率是衡量模型在预测正例方面表现的重要指标,在R语言中可以使用`confusionMatrix`函数计算混淆矩阵召回率

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值