【机器学习】classification_report分类报告

一、classification_report是什么?

话不多说,直接上图,看看长啥样:
下图是使用sklearn.linear_model中对数几率回归模型求解鸢尾花分类问题的分类报告:
【机器学习】classification_report分类报告_第1张图片
首先看列名,中文分别是“精确率”,“召回率”,“F1值”,样本数“”,我们接下来依次讲解这些内容。
行名分别是种类1,种类2…(这里的种类1是0,种类2是1,种类3是2),accuracy,macro avg(宏平均):算术平均
weighted avg(加权平均):除开本身的比例,还要算上该种类样本占所有样本的比例。
例如:本图macro avg=(1+0.93+0.96)/3=0.963
weighted avg=1×11/30+0.93×7/30+0.96×12/30=0.9676

二、预测结果分类(TP,FP,TN,FN)

我们回忆一下混淆矩阵的样子:
【机器学习】classification_report分类报告_第2张图片
横坐标是预测的结果,纵坐标是真实的结果。如果一个真实数据类型为‘1’,但是它被预测为了‘0’,那么说明这个模型就预测错了。如果一个真实数据类型为‘1’,但是它被预测为了‘1’,那么说明这个模型就预测对了。
这个背景下,混淆矩阵里对角线上的元素就算预测对了

在这个概念下,我们引出TP,FP,TN,FN的概念:
【机器学习】classification_report分类报告_第3张图片
1)TP:实际为正,预测为正
2)FP:实际为正,预测为负
3)TN:实际为负,预测为正
4)FN:实际为负,预测为负

三.精确率,召回率,F1值

1)精确率
【机器学习】classification_report分类报告_第4张图片
2)召回率
【机器学习】classification_report分类报告_第5张图片
3)F1值
【机器学习】classification_report分类报告_第6张图片
调用分析报告的代码(输入的是真实数据和预测数据):

classification_report(Y_test,Y_pre)

你可能感兴趣的:(机器学习,机器学习,分类,人工智能)