F1值,就是综合考虑了precision和recall
F1 = 2*precision*recall/(precision+recall)
准确率(Accuracy),
在给定的测试数据集上,正确分类的样本占总样本的比例。
精确率(Precision),
在给定的测试数据集上,正确分类的样本中,分类结果为正样本所占的比例。
召回率(Recall):
在给定的测试数据集上,分类结果为正样本的集合中,正确分类的样本所占的比例。和灵敏度一个概念,灵敏度(表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。)
F1-Measure
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:
如何拓展到多分类问题上?
1、宏平均的方案,即分别计算每一类的precision和recall;
2、另外一种,我不理解,感觉意义不大。
--------------------------------------------
Python如何计算多类的Precision和Recall,以及F1值?
from sklearn.metrics import accuracy_score,precision_score, recall_score, f1_score import numpy as np y_true = np.array([],dtype='int64') y_pred = np.array([],dtype='int64')
accuracy = accuracy_score(y_true, y_predict) precision = precision_score(y_true, y_predict, average='macro') recall = recall_score(y_true, y_predict, average='macro') f1 = f1_score(y_true, y_predict, average='macro')
print("accuracy is {}, Precision is {}, Recall is {} and F1 is {}".format(accuracy, precision, recall, f1))
多分类ROC曲线的绘制没有没有必要?