blo*_*oop 8 python scikit-learn auc
我在现有的数据帧上做了k-fold XV,我需要获得AUC分数.问题是 - 有时测试数据只包含0,而不是1!
我尝试使用此示例,但使用不同的数字:
import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 0, 0])
y_scores = np.array([1, 0, 0, 0])
roc_auc_score(y_true, y_scores)
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
ValueError:y_true中只有一个类.在这种情况下,没有定义ROC AUC分数.
是否有任何解决方法可以使其在这种情况下工作?
Dat*_*ran 10
您可以使用try-except来防止错误:
import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 0, 0])
y_scores = np.array([1, 0, 0, 0])
try:
roc_auc_score(y_true, y_scores)
except ValueError:
pass
Run Code Online (Sandbox Code Playgroud)
现在,roc_auc_score如果只有一个类,也可以将其设置为零.但是,我不会这样做.我猜您的测试数据非常不平衡.我建议使用分层K折叠,这样你至少可以同时使用两个类.
| 归档时间: |
|
| 查看次数: |
9953 次 |
| 最近记录: |