机器学习—分类模型评估—准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure

分类模型评估

假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本。
利用分类模型显示找出了50个是正样本的,但其中只有40个是真正的正样本。
作为评估者的你需要来评估(evaluation)下该模型的工作。
机器学习—分类模型评估—准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure_第1张图片
由题意得出:
TP: 将正类预测为正类数 40---- (50个预测结果中真正是正类的有40个)
FN: 将正类预测为负类数 20 ----(60个正样本中其实只找出了40个)
FP: 将负类预测为正类数 10 ----(50个预测结果中10个预测错了)
TN: 将负类预测为负类数 30 ----(40个负样本中有10个预测为正类了)

引出评估指标:

准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%
精确率(precision)、查准类= TP/(TP+FP) = 80%
召回率(recall)、查全率 = TP/(TP+FN) = 2/3
F1值就是精确率和召回率的调和均值
在这里插入图片描述
图片展示
机器学习—分类模型评估—准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure_第2张图片
A:搜索到的,也相关 (搜到的也想要的)
B:检索到的,但是不相关的 (搜到的但没用的)
C:未检索到的,但却是相关的 (没搜到,然而实际上想要的)
D:未检索到的,也不相关的 (没搜到也没用的)

简单理解:

准确率就是找得对,召回率就是找得全。
大概就是你问问一个模型,这堆东西是不是某个类的时候,
准确率就是,它说是,这东西就确实是的概率。(预测出来的正样本中真正正确的)
召回率就是,它说是,但它漏说了(1-召回率)这么多。(所有的正样本中预测正确的)

PR曲线:(曲线越靠近右上部模型性能越好)

横轴:召回率
纵轴:精确率
机器学习—分类模型评估—准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure_第3张图片
某个模型对一批数据数据进行预测,会为每个样本输出一个概率(属于正例的概率)
我们做分类时如果要严格输出0或1的话,就要使用阈值对概率进行激活。
选择不同的阈值时,精确率(确实为正例的数量/模型认为是正例的个数)和召回率(确实为正例的数量/总的正例的数量)就会不同。那么就会有PR曲线这种东西。

ROC曲线:(曲线越靠近左上部模型性能越好)

横轴:FPR:在所有实际为阴性的样本中,被错误地判断为阳性之比率。FPR=FP/(FP+TN)
纵轴:TPR:在所有实际为阳性的样本中,被正确地判断为阳性之比率。TPR=TP/(TP+FN) (和召回率一样)
机器学习—分类模型评估—准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure_第4张图片
ROC曲线一般用AUC(ROC曲线下的面积)来衡量。
较大的AUC代表了较好的Performance。

你可能感兴趣的:(机器学习)