机器学习中常用评价指标(分类篇)

Posted 夏小悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习中常用评价指标(分类篇)相关的知识,希望对你有一定的参考价值。

前言

   T P TP TP,即 T r u e   P o s i t i v e True\\ Positive True Positive,表示实际是正类,同时也被判定为正类;
   F P FP FP,即 F a l s e   P o s i t i v e False\\ Positive False Positive,表示实际是负类,但被判定为正类;第一类错误 ( T y p e   I   E r r o r ) (Type \\ I\\ Error) (Type I Error)
   T N TN TN,即 T r u e   N e g a t i v e True\\ Negative True Negative,表示实际是正类,但被判定为负类;第二类错误 ( T y p e   I I   E r r o r ) (Type \\ II\\ Error) (Type II Error)
   F N FN FN,即 F a l s e   N e g a t i v e False\\ Negative False Negative,表示实际是负类,同时也被判定为负类。

1. 准确率

  准确率(accuracy)是分类问题中最常用的度量。使用准确率时,我们要求算法返回明确的类别。准确率的定义如下: a c c u r a c y = 正 确 分 类 的 样 本 数 总 样 本 数 accuracy=\\frac {正确分类的样本数} {总样本数} accuracy=  有上述定义可知,准确率的取值区间为 [ 0 , 1 ] [0,1] [0,1],取值越大,分类效果越好。
  在实际应用中,只用准确率一项来衡量分类结果会有失偏颇。比如,如果在分类问题中有一类样本占大多数,而分类的重点在样本数较少的那一类,那么简单计算准确率并不能较好地反映算法的性能。举个栗子:

  假设我们有一个包含100个样本的数据集,其中97个是正常交易,3个是欺诈交易。如果算法 A A A 将所有样本都判定为正常交易,而算法 B B B 将8个样本判定为欺诈交易(包括3个真正的欺诈交易),根据准确率的计算公式,算法 A A A 的准确率为0.97,算法 B B B 的准确率为0.95。虽然算法 A A A 的准确率更高,但是它本质上没有给我们提供关于欺诈的任何有效信息,算法 B B B 的准确率虽然较低些,它是我们认为算法 B B B 在这个人物场景中更适用。

2. 混淆矩阵

  混淆矩阵(confusion matrix),又称为错误矩阵或者可能性表格。混淆矩阵全面考虑了各种错分的情况,并将分类的结果以类别a被判定为类别b的样本数为多少的形式展示。其中,每一行代表一个实际的类别,每一列代表一个预测的类别。
  根据上面的那个栗子,我们可以知道错位的分类有两种:正常的交易被判定为欺诈、欺诈的交易被判定为正常。由此可以得出算法 A A A 和算法 B B B 的混淆矩阵:

  基于混淆矩阵,可以定义 T P R ( T r u e   P o s i t i v e   R a t e ) TPR(True\\ Positive\\ Rate) TPR(True Positive Rate),又称为灵敏度(sensitivity),表示正类样本中被正确分类的比例: s e n s i t i v i t y = T P R = T P T P + F N sensitivity=TPR=\\frac {TP} {TP+FN} sensitivity=TPR=TP+FNTP   同样可以定义 T N R ( T r u e   P o s i t i v e   R a t e ) TNR(True\\ Positive\\ Rate) TNR(True Positive Rate),又称为特异度(specificity),表示负类样本中被正确分类的比例: s p e c i f i c i t y = T N R = T N T N + F P specificity=TNR=\\frac {TN} {TN+FP} specificity=TNR=TN+FPTN   可以定义 F P R ( F a l s e   P o s i t i v e   R a t e ) FPR(False\\ Positive\\ Rate) FPR(False Positive Rate),表示负类样本中被错误分类的比例: F P R = F P F P + T N FPR=\\frac {FP} {FP+TN} FPR=FP+TNFP  同样可以定义 T N R ( T r u e   P o s i t i v e   R a t e ) TNR(True\\ Positive\\ Rate) TNR(True Positive Rate),又称为特异度(specificity),表示负类样本中被正确分类的比例: s p e c i f i c i t y = T N R = T N T N + F P specificity=TNR=\\frac {TN} {TN+FP} specificity=TNR=TN+FPTN  根据混淆矩阵,可以计算出准确率为: a c c u r a c y = T P + T N T P + F P + T N + F N accuracy=\\frac {TP+TN} {TP+FP+TN+FN} accuracy=TP+FP+TN+FNTP+TN

3. 精确率

  精确度(precision)表示的是在算法判定为正类的所有样本中,真正的正类样本所占的比例,计算公式如下: p r e c i s i o n = T P T P + F P precision=\\frac {TP} {TP+FP} precision=TP+FPTP  精确度越高,说明在判定为正类的样本中负类样本越少。

4. 召回率

  召回率(recall)表示的是所有的正类样本被正确分类的比例,计算公式如下: r e c a l l = T P T P + F N recall=\\frac {TP} {TP+FN} recall=TP+FNTP  召回率越高,说明正类样本被错误分类的比例越小。

5. F1度量

  F1度量(F1-Measure)同时考虑了精确率和召回率,是精确率和召回率的调和平均数,计算公式如下: F 1 = 2 1 p r e c i s i o n + 1 r e c a l l = 2 × p r e c i s i o n × r e c a l l p r e c i s i o n + r e c a l l = 2 T P 2 T P + F P + F N F1=\\frac {2} {\\frac {1} {precision} + \\frac {1} {recall}} \\\\[5pt] =\\frac {2\\times precision \\times recall} {precision + recall} \\\\[5pt] =\\frac {2TP} {2TP+FP+FN} F1=precision1+recall12=precision+recall2×precision×recall=以上是关于机器学习中常用评价指标(分类篇)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中的评价指标

机器学习基础常用损失函数评价指标距离指标

机器学习第二周-模型评价指标(II)

搞懂机器学习的常用评价指标!

机器学习——评价指标

SIGAI机器学习第四集 基本概念