【机器学习】分类模型评价指标(混淆矩阵、ROC)--学习笔记(已修改,放心看)
分类模型的评价指标:交叉熵、混淆矩阵、ROC曲线
-
- 交叉熵
- 混淆矩阵(本身不是评价指标,只是一个特殊的矩阵)
-
- 准确率(Accuracy)
- 精准率(Precision)
- 召回率(Recall)
- F1值(F1-score)
- ROC曲线
交叉熵
根据上文:Logistic回归—学习笔记,从KL散度了解到,当交叉熵值越小,预测模型越接近真实模型,固然可以用交叉熵作为度量模型优化算法效果的一个指标
交叉熵:−∑i=1myilog2h(xi)交叉熵:-\\sum_{i=1}^my_ilog_2h(x_i)交叉熵:−i=1∑myilog2h(xi)
交叉熵是度量优化算法效果的一个相对指标,可以用于对比不同算法的效果,但它不适用于判断单个算法的预测效果 。
我的理解:交叉熵可以用来比较不同模型的优劣,而不适用对单一模型的预测效果的判定
混淆矩阵(本身不是评价指标,只是一个特殊的矩阵)
混淆矩阵:
实际为正例 | 实际为反例 | |
---|---|---|
预测为正例 | TP | FP |
预测为反例 | FN | TN |
- T:预测标签和实际标签相同(预测正确)
- F:预测标签和实际标签不相同(预测错误)
- P:预测标签为正例
- N:预测标签为反例
准确率(Accuracy)
准确率:=TP+TNTP+FP+FN+TN准确率:=\\frac{TP+TN}{TP+FP+FN+TN}准确率:=TP+FP+FN+TNTP+TN
:预测正确(T)占所有样本的比例
在整体样本中,预测正确的样本比例
精准率(Precision)
精准率:=TPTP+FP精准率:=\\frac{TP}{TP+FP}精准率:=TP+FPTP
:预测和实际标签都为正例(TP)占所有正例样本的比例
预测正例样本中,预测正确的比例
召回率(Recall)
召回率:=TPTP+FN召回率:=\\frac{TP}{TP+FN}召回率:=TP+FNTP
:预测和实际标签都为正例(TP)占所有预测标签为正例的比例
实际正例样本中,被预测正确的比例
F1值(F1-score)
2Precision∗RecallPrecision+Recall=21Recall+1Precision2\\frac{Precision*Recall}{Precision+Recall} = \\frac{2}{\\frac{1}{Recall}+\\frac{1}{Precision}}2Precision+RecallPrecision∗Recall=Recall1+Precision12
:F1值是一种常用的分类模型评价指标,它综合了模型的准确率和召回率两个指标。
F1值越大,说明模型在同时考虑准确率和召回率时表现越好。当一个分类器的precision和recall都很高时,F1值也会相应地很高;但是如果一个指标很高而另一个指标很低,则F1值会降低。因此,F1值可以作为评估二分类问题解决方案优劣的综合指标。
这个还是挺重要的
下面是一个二分类问题的混淆矩阵例子:
预测/实际 实际为正例 实际为反例 预测为正例 30 10 预测为反例 20 40 解释:该混淆矩阵表示模型在测试数据集上共有100个样本,其中实际为正例的有50个,实际为反例的有50个。模型将其中30个正例正确地预测为正例,20个正例错误地预测为反例;将其中40个反例正确地预测为反例,10个反例错误地预测为正例。
通过混淆矩阵可以计算出多种分类指标,例如:
- 准确率(Accuracy):预测正确的样本数占总样本数的比例,即 (30+40)/(30+20+10+40) = 70%
- 精确率(Precision):预测为正例且实际为正例的样本数占预测为正例的样本数的比例,即 30/(30+20) = 60%
- 召回率(Recall):预测为正例且实际为正例的样本数占实际为正例的样本数的比例,即 30/(30+10) = 75%
- F1值(F1-score):精确率和召回率的调和平均数,即 2 * Precision * Recall / (Precision + Recall) = 66.7%
ROC曲线
ROC曲线(Receiver Operating Characteristic Curve)是一种常用的二分类模型性能评估工具,其横轴为假正率(False Positive Rate, FPR),纵轴为真正率(True Positive Rate, TPR),ROC曲线的绘制是通过将不同阈值下的真正率和假正率作为坐标点绘制而成。
在ROC曲线上,理想情况下一个好的分类器应该尽可能靠近左上角,即TPR高,FPR低。而对于随机分类器,则会沿着y=x的直线进行绘制,代表了没有区分能力的分类器所呈现出来的性能。
另外,ROC曲线下面的面积AUC(Area Under the ROC Curve)也是评估分类器性能的指标之一,其数值范围在0.5到1之间,数值越接近1则代表分类器性能越好。
推荐视频:ROC曲线详解