【发布时间】:2015-05-17 10:30:52
【问题描述】:
假设我有以下从估算器获得的指标:
方法一:
Accuracy: 0.492307692308
score: 0.492307692308
precision: 0.368678121457
recall: 0.492307692308
hamming loss: 0.0536130536131
Jaccard similarity: 0.946386946387
F-Beta Score: 0.902376921174
方法二:
Accuracy: 0.07692308
score: 0.307692308
precision: 0.8678121457
recall: 0.492307692308
hamming loss: 0.0536130536131
Jaccard similarity: 0.946386946387
F-Beta Score: 0.902376921174
方法 3:
Accuracy: 0.432307692308
score: 0.412307692308
precision: 0.68678121457
recall: 0.2307692308
hamming loss: 0.0536130536131
Jaccard similarity: 0.946386946387
F-Beta Score: 0.902376921174
这些指标的获取方式如下:
from sklearn.metrics.metrics import precision_score, recall_score, confusion_matrix, classification_report, accuracy_score, roc_auc_score, auc
print '\nAccuracy:', accuracy_score(y_test, prediction)
print '\nscore:', classifier.score(testing_matrix, y_test)
print '\nprecision:', precision_score(y_test, prediction)
print '\nrecall:', recall_score(y_test, prediction)
print 'Hamming loss:',hamming_loss(y_test,prediction)
print 'Jaccard similarity:',jaccard_similarity_score(y_test,prediction)
print 'F-Beta Score:',fbeta_score(y_test, prediction, average='macro', beta=0.5)
如何使用 matplotlib 绘制这种不同的方法性能?让我们在 y 轴上说百分比,在 x 上说方法?
【问题讨论】:
-
这取决于方法。如果你得到某种信心分数,你可以例如绘制
precision与recall曲线,或ROC绘图。如果没有置信度分数,您仍然可以绘制每个方法的precision与recall值。理想情况下,您希望拥有precision=recall=1。 -
感谢@cel 的支持,您是否认为所有指标与所有指标都可以使用y 轴上的百分比和x 上的每个指标来混淆?
标签: python python-2.7 matplotlib plot scikit-learn