• 机器学习评估指标 - f1, precision, recall, acc, MCC


    1 介绍 TP, TF, FP, FN

            TP, TF, FP, FN 是针对二分类任务预测结果得到的值,这四个值构成了混淆矩阵;

            如下图的混淆矩阵

            左侧表示真实的标签,human标记为0; fake标记为1;

            右侧部分predicted class表示预测的标签;

            因此: TN表示(True -- 预测正确, Negitive, 预测为0)预测标签为0(human),预测正确;

                         FN表示(False -- 预测错误,Negitive, 预测为0)预测标签为0(human),预测错误;

                         FP表示  (False -- 预测错误, Positive, 预测为1)预测标签为1(fake),预测错误;

                         TP表示(True -- 预测正确, Positive, 预测为1)预测标签为1(fake),预测正确;

    2 介绍f1, precision, recall, acc, MCC

            f1, precision, recall, acc, MCC是由上述混淆矩阵的四个值计算得到的;

            计算公式:

            acc = \frac{TP + TN}{TP+TN+FP+FN} 

                    acc预测的真实结果,总体数据中,有多少数据被预测正确了;

            recall = \frac{TP}{TP+FN}

                    recall 预测为bot且预测正确的数量占全部预测为bot数量的比例;

            Precision = \frac{TP}{TP + FP}

                    Precision 预测为bot且预测正确的数量占实际为bot数量的比例;

            f1 = \frac{2*Precision*recall}{Precision+recall}

            MCC =

            f1 和 Mcc为综合评价指标;

    上述五个指标优劣分析:

            准确度(acc)衡量有多少样本在两个类中被正确识别,但它不表示一个类能否被另一个类更好地识别;

            高精确度(Precision)表明许多被识别为1(bot)的样本被正确识别,但它没有提供有关尚未识别的1(bot)样本的任何信息;

            该信息由召回指标(recall)提供,表示在整个1(bot)样本集中有多少样本被正确识别:低召回意味着许多1(bot)样本未被识别;

            F1 和 MCC 试图在以一个单一的值中传达预测的质量,并结合其他指标。

            MCC 被认为是 F1 的无偏版本,因为它使用了混淆矩阵的所有四个元素。 MCC 值接近 1 表示预测非常准确;接近 0 的值意味着预测并不比随机猜测好,接近 -1 的值意味着预测与真实类别严重不一致。

            

  • 相关阅读:
    Jtti:云服务器ftp不能访问端口如何解决
    经纬恒润入选教育部产学合作协同育人项目单位
    Python 什么是flask框架?快速入门(flask安装,登录,新手三件套,登录认证装饰器,配置文件,路由系统,CBV)
    记录一些C++用法
    力扣100题——贪心算法
    同一个浏览器不同窗口登录不同账号,窗口切换时,页面刷新账号变更为最后一次登录的账号
    线程池面试题灵魂三问
    [S2] Challenge 25 心脏病预测
    理解ASP.NET Core - 限流(Rate Limiting)
    Java抽象类与接口
  • 原文地址:https://blog.csdn.net/qq_40671063/article/details/126954237