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 获取分类的系数的主要内容,如果未能解决你的问题,请参考以下文章

Logistic Regression 笔记与理解

linear regression and logistic regression with pytorch

机器学习—Logistic Regression

logistic regression

Logistic Regression

逻辑回归 logistic regression