小编Bál*_*res的帖子

AxisError:计算 AUC 时,轴 1 超出维度 1 数组的范围

我有一个分类问题,我有一个 8x8 图像的像素值和图像代表的数字,我的任务是使用 RandomForestClassifier 根据像素值预测数字('Number' 属性)。数值的值可以是0-9。

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score

forest_model = RandomForestClassifier(n_estimators=100, random_state=42)
forest_model.fit(train_df[input_var], train_df[target])
test_df['forest_pred'] = forest_model.predict_proba(test_df[input_var])[:,1]
roc_auc_score(test_df['Number'], test_df['forest_pred'], average = 'macro', multi_class="ovr")
Run Code Online (Sandbox Code Playgroud)

这里它抛出一个AxisError。

回溯(最近一次调用最后一次):
  文件“dap_hazi_4.py”,第 44 行,在 
    roc_auc_score(test_df['Number'],test_df['forest_pred'],average = 'macro', multi_class="ovo")
  文件“/home/balint/.local/lib/python3.6/site-packages/sklearn/metrics/_ranking.py”,第 383 行,在 roc_auc_score
    多类、平均值、样本权重)
  文件“/home/balint/.local/lib/python3.6/site-packages/sklearn/metrics/_ranking.py”,第440行,_multiclass_roc_auc_score
    如果不是 np.allclose(1, y_score.sum(axis=1)):
  文件“/home/balint/.local/lib/python3.6/site-packages/numpy/core/_methods.py”,第 38 行,在 _sum 中
    返回 umr_sum(a,axis, dtype, out, keepdims, initial, where)

AxisError:轴 1 超出维度 1 数组的范围

python-3.x scikit-learn multiclass-classification

8
推荐指数
2
解决办法
4941
查看次数