zoukankan      html  css  js  c++  java
  • 机器学习算法优秀性:衡量指标

    评价算法优秀程序的时候,常用一系列指标来衡量,主要包括:Precision,Recall,F-1 Score,为什么要设计这些值?单单用Precision不行吗?

    1, 什么是Precision ?

    Precison,准确度,主要表示检测出的Alert中有多少是正确的判断(True Positive,TP)。

    实际使用中,由于样本中正常数据和异常数据的比例不同,准确性可能不能体现真实的算法性能,举个例子:

    癌症检测:假定99.5%的人是健康的,0.5%的人患有癌症。

    错误检测算法:简单所有患者都判断为健康的。

    准确性:上述算法准确性为99.5% !!只有0.5%的不健康的人被误判为健康。

    2, 为什么用Recall ?

    上例中一种明显错误的检测算法可以轻松达到99.5%的准确度,所以准确性不能全面衡量算法优秀程度,为此设立了Recall值来衡量。

    Recall,召唤率,异常数据被检测出来的比例。Recall = TP/(TP+FN)

    在上例中,Recall就是0,没有异常值能够被检测出来。

    3, 为什么用F-1 Score ?

    将Precision和Recall结合起来就可以更综合衡量算法的优秀程度,F-1就是这样一个指标:

    F-1 Score = 2*Precision*Recall /(Precision+Recall)

    注:不能简单对Precision和Recall求均值(Average),上面那个明显错误的例子,Precision = 0.995, Recall = 0, 均值有0.5,明显不合理。

    而采用F-1Score,F1依然是0,更合理。

  • 相关阅读:
    2013 HIT 春季校赛C题
    2013610 四省赛
    [BZOJ] 1441 Min
    移植中Makefile学习 关键字理解
    Emgu 学习之HelloWorld
    XML 基本概念和XPath选择
    AI 资源帖
    c语言 static
    Linux watch命令 实时监测命令的运行结果(转)
    ctags 注意点
  • 原文地址:https://www.cnblogs.com/yulele/p/4353835.html
Copyright © 2011-2022 走看看