分类报告: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>