matplotlib 如何在Sklearn RocCurveDisplay中设置浮点精度?

yquaqz18  于 2023-03-03  发布在  其他
关注(0)|答案(2)|浏览(147)

我想把AUC(如图例所示)的浮点精度设置为4位,我使用了sklearn.metrics.RocCurveDisplay中的默认函数:

RocCurveDisplay.from_predictions(
   y_test, y_preds, name="CNN")

plt.show()

我得到了matplotlib图,

我希望更改图例中的AUC精度。

daolsyd0

daolsyd01#

如果使用RocCurveDisplay作为硬编码的打印精度,似乎无法执行此操作:

if self.roc_auc is not None and name is not None:
            line_kwargs["label"] = f"{name} (AUC = {self.roc_auc:0.2f})"
        elif self.roc_auc is not None:
            line_kwargs["label"] = f"AUC = {self.roc_auc:0.2f}"
        elif name is not None:
            line_kwargs["label"] = name

参见www.example.comhttps://github.com/scikit-learn/scikit-learn/blob/7e1e6d09b/sklearn/metrics/_plot/roc_curve.py#L110
您需要以更加手动的方式绘制ROC曲线,请参见https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_curve.html并添加具有所需精度的图例标签。

0kjbasz6

0kjbasz62#

您可以使用

RocCurveDisplay.from_predictions(
y_test, y_preds, name="CNN", label = 'CNN (AUC = 0.97xx')

手动设置你想要的AUC。不过你还是要手动计算。

相关问题