逻辑回归Scikit-Learn获取分类系数

8

我将进行多类分类,并对其应用逻辑回归。

当我调用以下代码拟合数据时:

logistic.fit(InputDATA,OutputDATA)

估计器“logistic”适合这些数据。

现在,当我调用logistic.coef_时,它会打印一个2D数组,其中有4行(我有四个类别)和n列(每个特征都有一列)。

这是我在Scikit-learn网站上看到的:

coef_:数组,形状为(n_features,)或(n_targets, n_features) 线性回归问题的估计系数。如果在拟合期间传递了多个目标(y 2D),则这是形状为(n_targets, n_features)的2D数组,而如果只传递了一个目标,则这是长度为n_features的1D数组。

现在我的问题是: 为什么不同的类别有不同的系数,因为我只需要一个假设来预测输出。

2个回答

4

由于您有一个多类别案例(>2个案例),因此采用一对其余策略。sklearn创建了4个分类器,而不仅仅是1个。因此,您有4个假设和4 *系数。

注意:我对逻辑回归分类器一无所知,但这就是sklearn SVM的工作方式。


非常感谢。我现在明白了。现在使用四个分类器,其中概率最大的一个形成输出类别。 - Shivam Duggal
那么,logistic.predict是否使用此方法来选择适当的分类器? - Shivam Duggal
1
在训练阶段生成了4个分类器。 一个将A与BCD分开,一个将B与ACD分开,依此类推。 一个新样本(即predict())被输入到这四个分类器中。 具有最高概率的分类器获胜。例如,如果你的新类是C,那么C与ABD分类器的概率比其他分类器更高。 C是predict()的返回值。 - fgoettel

0

您将获得与L1或L2正则化相关的输入特征系数。如果您没有指定L1或L2,则模型将默认为L2。您可以使用这些系数进行模型优化或特征工程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接