Logistic Regression Scikit-Learn 获取分类的系数
Posted
技术标签:
【中文标题】Logistic Regression Scikit-Learn 获取分类的系数【英文标题】:Logistic Regression Scikit-Learn Getting the coefficients of the classification 【发布时间】:2015-10-12 08:48:52 【问题描述】:我正在做多类分类并对其应用逻辑回归
当我通过调用拟合数据时
logistic.fit(InputDATA,OutputDATA)
估计器“逻辑”拟合数据。
现在当我调用logistic.coef_
时,它会打印一个二维数组
有 4 行(我有 4 个课程)和 n 列(每个功能一个)
这是我在 SCIKIT LEARN 网站上看到的:
coef_ : 数组,形状 (n_features, ) 或 (n_targets, n_features) 线性回归问题的估计系数。如果多个 在拟合期间传递目标(y 2D),这是一个 2D 形状数组 (n_targets, n_features),而如果只传递一个目标,这是一个 长度为 n_features 的一维数组。
现在我的查询是: 为什么不同的类别有不同的系数,因为我只需要一个可以预测输出的假设。
【问题讨论】:
【参考方案1】:由于您有一个多类案例(>2 个案例),因此应用了一对一的策略。 sklearn 创建了 4 个分类器,而不仅仅是 1 个。 因此,您有 4 个假设和 4 个*系数。
注意:我对逻辑回归分类器一无所知,但这就是 sklearn SVM 的工作原理。
【讨论】:
非常感谢。我现在知道了。现在使用四个分类器,一个具有最大概率的分类器形成输出类。 那么,logistic.predict 是否使用这种方法来选择合适的分类器? 在训练阶段生成了 4 个分类器。一个将 A 与 BCD 分开,一个将 B 与 ACD 分开,依此类推。一个新样本(即 predict() )被输入所有四个分类器。具有最高概率的分类器获胜。例如,您的新类是 C,则 C 与 ABD 分类器的概率高于其他分类器。 C 是 predict() 的返回值。【参考方案2】:您将根据 L1 或 L2 正则化获得输入特征的系数。如果您未指定 L1 或 L2,则模型将假定 L2。您可以将这些系数用于模型优化或特征工程
【讨论】:
以上是关于Logistic Regression Scikit-Learn 获取分类的系数的主要内容,如果未能解决你的问题,请参考以下文章