gpt4 book ai didi

scikit-learn - 在传递到 'roc_curve' 之前如何处理从 'auc' 返回的 NaN?

转载 作者:行者123 更新时间:2023-12-05 08:00:39 25 4
gpt4 key购买 nike

我正在使用 scikit-learn 中度量模型中的“roc_curve”。该示例显示 'roc_curve' 应在 'auc' 之前调用,类似于:

fpr, tpr, thresholds = metrics.roc_curve(y, pred, pos_label=2)

然后:

metrics.auc(fpr, tpr)

但是返回以下错误:

Traceback (most recent call last):   File "analysis.py", line 207, in <module>
r = metrics.auc(fpr, tpr) File "/apps/anaconda/1.6.0/lib/python2.7/site-packages/sklearn/metrics/metrics.py", line 66, in auc
x, y = check_arrays(x, y) File "/apps/anaconda/1.6.0/lib/python2.7/site-packages/sklearn/utils/validation.py", line 215, in check_arrays
_assert_all_finite(array) File "/apps/anaconda/1.6.0/lib/python2.7/site-packages/sklearn/utils/validation.py", line 18, in _assert_all_finite
raise ValueError("Array contains NaN or infinity.") ValueError: Array contains NaN or infinity.

这对术语或结果意味着什么/有没有办法克服这个问题?

最佳答案

您是否正在尝试使用 roc_curve 来评估多类分类器?换句话说,如果您在非二元分类问题上使用 roc_curve,那么这将无法正常工作。有用于多维 ROC 分析的数学方法,但 python 中当前的 ROC 方法没有实现它们。

尝试使用以下方法评估多类问题:来自 sklearn 的 confusion_matrix 和 classification_report,以及来自 skll 的 kappa()。

关于scikit-learn - 在传递到 'roc_curve' 之前如何处理从 'auc' 返回的 NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com