错误 : "Number of classes in y_true not equal to the number of columns in 'y_score'"



我有一个不平衡的多类数据集,当我试图计算roc_auc_score时,我得到了这个错误:ValueError:y_true中的类数不等于"y_score"中的列数。

这是代码:

model = svm.SVC(kernel='linear', probability=True)
model.fit(X_train, y_train)
y_prob = model.predict_proba(X_test)
macro_roc_auc_ovr = roc_auc_score(y_test, y_prob, multi_class="ovr",
average="macro")

任何解决这个问题的建议。

谢谢

当我在每个折叠中没有至少一个类的示例时,这个问题就发生了。为了解决这个问题,我用分层的KFold替换了KFold。

我认为你的拆分方法可能有问题。您也可以要求对分割进行分层,将layery=y传递给train_testrongplit方法(如果您使用的是这种方法(

最新更新