【发布时间】:2016-10-24 08:35:02
【问题描述】:
当我通过 metrics.precision_score、metrics.recall_score、metrics.f1 score 分别使用 metrics.classification_report 中的(recall、precision、fi-score)和相同的 metriceses 时,它们之间有什么区别。
请有人看一下这段代码并解释一下区别
from sklearn.svm import LinearSVC
clf_svm_linear = LinearSVC(C=20.0)
clf_svm_linear.fit(X_train, y_train)
y_pred = clf_svm_linear.predict(X_test)
print ' Results on Validation data'
print metrics.classification_report(y_test, y_pred, target_names=['No Diabetes', 'Diabetes'])
print "==================================================================="
print "The accuracy on validation dataset of Linear SVM: \t", metrics.accuracy_score(y_test, y_pred)
print "Precision on validation dataset of Linear SVM: \t", metrics.precision_score(y_test, y_pred)
print "Recall on validation dataset of Linear SVM : \t", metrics.recall_score(y_test, y_pred)
print "F1 score on validation dataset of Linear SVM: \t", metrics.f1_score(y_test, y_pred)
当运行上面的代码时,我得到了如图所示的结果 为什么当我独立打印他们的分数时,报告上的平均/总分与精度、召回率和 f1 分数不匹配。
【问题讨论】:
-
所有
metrics.something_score()方法中都有一个可选参数。设置average=macro以获得班级分数的未加权平均值。
标签: python python-2.7 python-3.x scikit-learn confusion-matrix