简单理解关于分类模型的评估
程序员文章站
2024-02-27 12:10:51
...
简单理解关于分类模型的评估
分类模型的评估的前提
对模型进行评估时,可以选择很多种指标,但不同的指标可能得到不同的结果,如何选择合适的指标,需要取决于任务需求。
混淆矩阵
在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)
精确率(Precision)与召回率(Recall)
-
精确率:预测结果为正例样本中真实为正例的比例(查得准)
-
召回率:真实为正例的样本中预测结果为正例的比例(查的全,对正样本的区分能力)
-
其他分类标准,F1-score,反映了模型的稳健型
sklearn分类模型评估API
sklearn.metrics.classification_report(y_true, y_pred, target_names=None)
- y_true:真实目标值
- y_pred:估计器预测目标值
- target_names:目标类别名称
- return:每个类别精确率与召回率
对于简单理解朴素贝叶斯算法中20类新闻分类例子,得出其精确率和召回率:
from sklearn.metrics import classification_report
...
print("每个类别的精确率和召回率\n", classification_report(y_test, y_predict, target_names=news.target_names))
运行结果:
每个类别的精确率和召回率
precision recall f1-score support
alt.atheism 0.87 0.87 0.87 104
comp.graphics 0.87 0.74 0.80 143
comp.os.ms-windows.misc 0.89 0.84 0.87 147
comp.sys.ibm.pc.hardware 0.76 0.87 0.81 156
comp.sys.mac.hardware 0.89 0.82 0.85 146
comp.windows.x 0.95 0.85 0.90 149
misc.forsale 0.91 0.75 0.82 134
rec.autos 0.83 0.91 0.87 142
rec.motorcycles 0.97 0.94 0.96 160
rec.sport.baseball 0.90 0.95 0.92 132
rec.sport.hockey 0.96 0.92 0.94 155
sci.crypt 0.80 0.96 0.87 172
sci.electronics 0.96 0.65 0.77 174
sci.med 0.95 0.86 0.90 145
sci.space 0.84 0.98 0.90 133
soc.religion.christian 0.46 0.99 0.63 141
talk.politics.guns 0.80 0.97 0.87 136
talk.politics.mideast 0.94 0.94 0.94 146
talk.politics.misc 1.00 0.59 0.74 125
talk.religion.misc 1.00 0.13 0.24 89
micro avg 0.84 0.84 0.84 2829
macro avg 0.88 0.83 0.82 2829
weighted avg 0.87 0.84 0.84 2829
上一篇: Spring源码深度解析(四)——模拟mybatis和原理分析
下一篇: 新手关于I2C 的学习笔记
推荐阅读
-
简单理解关于分类模型的评估
-
关于触发器的简单理解
-
ORM其实是在映射网络模型和关系模型,OO的关系模型无需映射,且更简单高效 博客分类: 思想 OO网络应用领域模型ORM数据结构
-
关于物流的5种模型10种算法的实现 博客分类: Java基础笔记 物流算法游戏JBuilderF#
-
对于hibernate缓存的简单理解 博客分类: hibernate HibernateSpringAOPCache
-
【AI模型部署】基于flask的pytorch简单分类模型部署
-
关于盒模型的理解_html/css_WEB-ITnose
-
Android编程中关于单线程模型的理解与分析
-
Android编程中关于单线程模型的理解与分析
-
关于session和cookie的简单理解