分类报告:sklearn.metrics.classification_report(y_true, y_pred, labels=None, target_names=None,sample_weight=None, digits=2),显示主要的分类指标,返回每个类标签的精确、召回率及F1值
主要参数说明:
labels:分类报告中显示的类标签的索引列表
target_names:显示与labels对应的名称
digits:指定输出格式的精确度
———————–讲讲自己的理解———————–
精度和召回率的分母部分的研究对象是不同的
精度关注于所有被预测为阳性的样本中究竟有多少是阳性的,而召回率关注于所有真实为阳性的样本有多少被准确预测出来了。
精度和召回率是相互矛盾的,一个上升另外一个就会下降。比如我全部预测样本为阳性,那么精度就会降的很低,而召回率达到100%。如果我全部预测为阴性,那么精度为100%(0/0),召回率降得很低。所以才会有F指数来综合上述两个指标。
精度(precision) = 正确预测的个数(TP)/被预测正确的个数(TP+FP)
召回率(recall)=正确预测的个数(TP)/预测个数(TP+FN)
F1 = 2*精度*召回率/(精度+召回率)
————————————————————————-
- In [4]: from sklearn.metrics import classification_report
- …: y_true = [1, 2, 3, 3, 3]
- …: y_pred = [1, 1, 3, 3, 2]
- …: labels =[1,3,2]
- …: target_names = [‘labels_1’,‘labels_2’,‘labels_3’,‘labels-4’]
- …: print(classification_report(y_true,y_pred,labels=labels,target_names= t
- …: arget_names,digits=3))
- …:
- precision recall f1-score support
-
- labels_1 0.500 1.000 0.667 1
- labels_2 1.000 0.667 0.800 3
- labels_3 0.000 0.000 0.000 1
-
- avg / total 0.700 0.600 0.613 5
最后一行结果:等于各指标的加权平均值注意:在二分类中,真正例率也称灵敏度,真负例率也称特效性
</div>