如何使用 y 轴上的百分比和 x 轴上的每个指标来绘制性能百分比?

Posted

技术标签:

【中文标题】如何使用 y 轴上的百分比和 x 轴上的每个指标来绘制性能百分比?【英文标题】:How to plot performance percentages using percentage on y axis and each metric on x axis? 【发布时间】: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 上说方法?

【问题讨论】:

这取决于方法。如果你得到某种信心分数,你可以例如绘制precisionrecall 曲线,或ROC 绘图。如果没有置信度分数,您仍然可以绘制每个方法的 precisionrecall 值。理想情况下,您希望拥有precision = recall = 1 感谢@cel 的支持,您是否认为所有指标与所有指标都可以使用y 轴上的百分比和x 上的每个指标来混淆? 【参考方案1】:

@cel'answer 是正确的,如果您想知道要绘制什么。如果您的问题更多关于如何绘制数字,seaborn 有一个叫做factor plot 的东西。看看教程here。

您可以轻松生成这样的图形(假设 x 轴有标签,它们是 accuracyf1precisionrecall):

【讨论】:

这似乎工作得很好......有没有做一个更有趣的情节类型的想法?感谢您的反馈! seaborn 可以做很多很棒且有用的情节,看看他们的教程

以上是关于如何使用 y 轴上的百分比和 x 轴上的每个指标来绘制性能百分比?的主要内容,如果未能解决你的问题,请参考以下文章

如何在冲积或桑基图中获得 y 轴上的百分比?

y轴上的jquery highcharts文本

每年绘制 X 轴上的月份和来自 NetCDF 的 Y 轴上的变量

如何在android studio 上用加速度传感器来得到x y z轴上的坐标?

在 X 和 Y 轴上的 HTML 表格滚动功能

如何使用 Plotly Express 在 y 轴上显示每个值?