Python SKLearn 逻辑回归中的虚拟变量
Posted
技术标签:
【中文标题】Python SKLearn 逻辑回归中的虚拟变量【英文标题】:Dummy Variables in Python SKLearn Logistic Regression 【发布时间】:2014-02-20 09:43:19 【问题描述】:我在 SKLearn 中使用逻辑回归将数据分类为 5 个类别之一。为了训练数据,我有一个观察矩阵Y
和一个特征矩阵X
。
有时我的矩阵Y
将没有类别 3 的说法。在这种情况下,当我调用 predict_proba(X)
方法时,我想要一个包含 5 个概率的列表,其中第三个条目为 0(因为没有第 3 类观察值)。相反,这个概率被简单地省略,并返回一个包含 4 个概率的列表。
如何更改逻辑回归对象以执行此操作?
【问题讨论】:
【参考方案1】:LogisticRegression
不允许这样做,但它的近亲 SGDClassifier
允许:
logreg = SGDClassifier(loss="log")
logreg.partial_fit(X, y, classes=np.arange(5))
SGDClassifier
的不同之处在于它的训练算法和参数化。如果这不行,那么您将不得不推出自己的包装代码。
【讨论】:
【参考方案2】:可以使用sklearn.preprocessing
模块找到多类标签。
参考: http://scikit-learn.org/stable/modules/preprocessing.html#label-binarization
【讨论】:
以上是关于Python SKLearn 逻辑回归中的虚拟变量的主要内容,如果未能解决你的问题,请参考以下文章
Python sklearn 逻辑回归 K-hold 交叉验证:如何为 coef_ 创建一个框架