首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ROC_CURVE- IndexError:数组索引过多

ROC_CURVE- IndexError:数组索引过多
EN

Stack Overflow用户
提问于 2020-05-28 01:04:01
回答 1查看 58关注 0票数 0

分类,当我输入具有测试标签和测试概率的numpy数组时,它抛出以下错误

代码语言:javascript
运行
复制
dataset = read_csv('C:/.../dataset/KDDREAL.csv')
dataset = dataset.values
X = dataset[:, :-1]
Y = dataset[:, -1]

encoder = LabelEncoder().fit(Y)
encoded_Y = encoder.transform(Y)


X_train, X_test, Y_train, Y_test = train_test_split(X , encoded_Y , test_size=0.3, random_state=0)

model_svm = svm.SVC()
model_svm.fit(X_train, Y_train) 
results_svm = model_svm.predict(X_test)

fpr2 = dict()
tpr2 = dict()
roc_auc2 = dict()
for i in range(num_classes):
    fpr2[i], tpr2[i], _ = roc_curve(Y_test , results_svm[:, i])
    roc_auc2[i] = auc(fpr2[i], tpr2[i])
    # Compute micro-average ROC curve and ROC area
fpr2, tpr2, _ = roc_curve(y_test.ravel(), PGD20_X_test_trm.ravel())
roc_auc2 = auc(fpr2, tpr2)
代码语言:javascript
运行
复制
fpr2[i], tpr2[i], _ = roc_curve(Y_test , results_svm[:, i])

IndexError: too many indices for array
EN

回答 1

Stack Overflow用户

发布于 2020-05-28 01:19:31

对于下面给出的代码行-

代码语言:javascript
运行
复制
for i in range(num_classes):
       fpr2[i], tpr2[i], _ = roc_curve(Y_test , results_svm[:, i])

试着把它换成-

代码语言:javascript
运行
复制
for i in range(n_classes):
      fpr[i], tpr[i], _ = roc_curve(Y_test[:, i], results_svm[:, i])

如果您正在复制此行,请检查是否有缩进。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62048745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档