我在 SKLearn 中使用逻辑回归将数据分类为 5 个类别之一。为了训练数据,我有一个观察Y
矩阵和一个特征矩阵X
。
有时,我的矩阵Y
将没有第 3 类发言权。在这种情况下,当我调用该predict_proba(X)
方法时,我希望列出 5 个概率,其中第 3 个条目为 0(因为没有第 3 类观察值)。相反,这个概率被简单地省略,并返回 4 个概率的列表。
我怎样才能改变逻辑回归对象来做到这一点?
我在 SKLearn 中使用逻辑回归将数据分类为 5 个类别之一。为了训练数据,我有一个观察Y
矩阵和一个特征矩阵X
。
有时,我的矩阵Y
将没有第 3 类发言权。在这种情况下,当我调用该predict_proba(X)
方法时,我希望列出 5 个概率,其中第 3 个条目为 0(因为没有第 3 类观察值)。相反,这个概率被简单地省略,并返回 4 个概率的列表。
我怎样才能改变逻辑回归对象来做到这一点?
LogisticRegression
不允许这样做,但它的近亲SGDClassifier
可以:
logreg = SGDClassifier(loss="log")
logreg.partial_fit(X, y, classes=np.arange(5))
SGDClassifier
不同之处在于它的训练算法和参数化。如果那不行,那么您将不得不推出自己的包装代码。
sklearn.preprocessing
使用该模块可以找到多类标签。
参考: http ://scikit-learn.org/stable/modules/preprocessing.html#label-binarization