深入浅出机器学习算法评估指标

2021-05-08 11:53:19 浏览数 (3)

1. 混淆矩阵

1.1 定义:混淆矩阵的每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。每一列中的数值表示真实数据被预测为该类的数目。

TN :预测Negative,真值Negative

FP :预测Positive, 真值Negative

FN :预测Negative,真值Positive

TP :预测Positive, 真值Positive

2. Accuracy 准确率

2.1 定义:预测对的样本数占样本总数的比例

2.2 公式:Accuracy=(TP TN) / (TP TN FP FN)

2.3 缺点:当数据集出现不平衡情况时,accuracy的值没有参考价值。比如猫狗二分类:一共100张图片,猫占95张,狗占5张,在不使用任何算法的前提下,预测猫的准确率已经是95%。也就是说我把100张图片全部预测为猫,准确率达到95%,狗的准确率就是0。

3. Precision 精确率

3.1 定义:精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。

3.2 公式:Precision = TP / (TP FP)

4. Recall召回率

4.1 定义:召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

4.2 公式:Recall = TP / (TP FN)

4.3 注意:一般情况下,召回率和精确率是针对某一个类别说的,比如正类别的Recall,负类别的Recall等。如果你是10分类,那么可以有’1’这个类别的Precision,’2’这个类别的Precision,’3’这个类别的Recall等。而没有类似全部数据集的Recall或Precision这种说法。通常对于二分类,我们说正类的recall和precision。

5. F1-Score

5.1 定义:F1-score基于召回率和精确率计算的;

5.2 公式:F1-score = 2 * Precision * Recall / ( Precision Recall )

5.3 注意:同样F1-score也是针对某个样本而言的。一般而言F1-score用来综合precision和recall作为一个评价指标。还有F1-score的变形,主要是添加一个权重系数可以根据需要对recall和precision赋予不同的权重。

6. TPR 真正率

6.1 定义:TPR表示的就是预测正确且实际分类为正的数量 与 所有正样本的数量的比例,TPR = Recall ;

6.2 公式:

6.3 注意:TPR越大,则表示挑出的越有可能(是正确的)

7. FPR 假正率

7.1 定义:预测为正例但真实情况为反例的,占所有真实情况中反例的比率。

7.2 公式:

7.3 注意:FPR越大,则表示越不可能(在挑选过程中,再挑新的出来,即再挑认为是正确的出来,越有可能挑的是错误的)。

8. ROC 和 AUC

8.1 定义:Receiver of Characteristic Curve,描述TPR和FPR之间的关系

对于ROC来说,横坐标就是FPR,而纵坐标就是TPR,当 TPR越大,而FPR越小时,说明分类结果是较好的。因此充分说明ROC用于二分类器描述的优势,但是除此之外,有一个新的问题:ROC曲线并不能完美的表征二分类器的分类性能。

8.2 定义:AUC 即ROC曲线下的面积,计算方式即为ROC Curve的微积分值。随机给定一正一负两个样本,将正样本排在负样本之前的概率,因此AUC越大,说明正样本越有可能被排在负样本之前,即分类的结果越好。

0 人点赞