文章转自【机器学习炼丹术】
基本概念
首先,要背住的几个概念就是:accuracy,precision,recal, TP,FP,TN,FN
- TP:true positive。预测是正确的正样本
- FP:false positive。预测是谬误的正样本
- TN:true negative。预测是正确的负样本
- FP:false positive。预测是谬误的负样本
通常咱们会做出这样的一个混同矩阵:
右边的 positive,negative 示意样本实在值,表格上边的 positive,negative 示意样本的预测后果。
当初咱们有这样的一个例子:
图中的 TP,FP 等是一个比例,假如总共有 100 个样本,有 40 个是 TP,有 20 个是 FP……(不过混同矩阵个别不必除以总样本数量)
当初咱们有了
$TP=0.3,FP=0.1$
$TN=0.4,FN=0.2$
准确率 Accuracy
准确率是指,对于给定的测试数据集,分类器正确分类的样本书与总样本数之比,也就是预测正确的概率。
对应下面的例子,能够失去 Accuracy=0.7。
【准确率 Accuracy 的弊病】
准确率作为咱们最罕用的指标,当呈现样本不平衡的状况时,并不能正当反映模型的预测能力。例如测试数据集有 90% 的正样本,10% 的负样本,假如模型预测后果全为正样本,这时准确率为 90%,然而模型对负样本没有辨认能力,此时高准确率不能反映模型的预测能力。
准确率 Precision
示意预测为正的样本中,理论的正样本的数量。
对应下面的例子,$precision=\frac{0.3}{0.3+0.1}=0.75$。
【集体了解】
Precision 是针对预测后果而言的。预测后果中,预测为正的样本中预测正确的概率。相似于一个考生在考卷上写进去的答案中,正确了多少。体现模型的精准度,模型说:我说哪个对哪个就是对的。
召回率 Recall
Recall 示意理论为正的样本被判断为正样本的比例
对应上述的例子,失去 $Recall=\frac{0.3}{0.3+0.2}=0.6$
【集体了解】
Recall 是针对数据样本而言的。数据样本中,正样本中预测正确的概率。相似于一个考生在考卷上答复了多少题。体现一个模型的全面性,模型说:所有对的我都能找进去。
F1 score
Precision 和 Recall 是一对矛盾的度量,一般来说,Precision 高时,Recall 值往往偏低;而 Precision 值低时,Recall 值往往偏高。当分类置信度高时,Precision 偏高;分类置信度低时,Recall 偏高。为了可能综合思考这两个指标,F-measure 被提出(Precision 和 Recall 的加权和谐均匀),即:
F1 的核心思想在于,在尽可能的进步 Precision 和 Recall 的同时,也心愿两者之间的差别尽可能小。F1-score 实用于二分类问题,对于多分类问题,将二分类的 F1-score 推广,有 Micro-F1 和 Macro-F1 两种度量。
【Micro-F1】
统计各个类别的 TP、FP、FN、TN,加和形成新的 TP、FP、FN、TN,而后计算 Micro-Precision 和 Micro-Recall,失去 Micro-F1。具体的说,统计进去各个类别的混同矩阵,而后把混同矩阵“相加”起来,失去一个多类别的混同矩阵,而后再计算 F1score
【Macro-F1】
我感觉更罕用的是 Macro-F1。统计各个类别的 TP、FP、FN、TN,别离计算各自的 Precision 和 Recall,失去各自的 F1 值,而后取平均值失去 Macro-F1
【总结】
从下面二者计算形式上能够看出,Macro-F1 平等地对待各个类别,它的值会受到罕见类别的影响;而 Micro-F1 则更容易受到常见类别的影响。
参考:
[1]http://zjmmf.com/2019/08/13/F…
[2]https://zhuanlan.zhihu.com/p/…