我正在使用predict_proba()
y_pred = clf.predict_proba(X_test)[:,1]我得到了这个错误:
IndexError: index 1 is out of bounds for axis 1 with size 1我打印了结果,结果如下所示:
[[0.11 0.89]
[0.84 0.16]
[1. 0. ]
[1. 0. ]
[0.94 0.06]
[0.96 0.04]
[0.83 0.17]
[0.97 0.03]
[0.91 0.09]
[0.95 0.05]]有时就像这样:
[[1.]
[1.]
[1.]]有什么帮助吗?
发布于 2020-12-30 21:55:47
下面是上面的操作注释:
它发生了.可能是因为此设置的target变量中只有一个唯一的值。
从predict_proba返回的数组具有示例数量x训练类数量的大小。例如,请参见here for the logistic regression classifier。
如果你的分类器只在一个类上训练,这本身没有任何意义,predict_proba会返回一个一维数组。它还解释了为什么返回的向量只包含1s -分类器将所有示例分类为它所训练的一个类,因为它不“知道”除了这个类之外的其他类。
在只包含一个类的集合上训练分类器与分类器的目的相矛盾。你可以使用read here on a one class classifier,也许这就是你想要的(但我对此表示怀疑,我认为你只需要在你的训练集中包含2个课程)。
https://stackoverflow.com/questions/65507422
复制相似问题