解释LogisticRegression类的coef_属性

时间:2017-08-06 19:58:30

标签: scikit-learn logistic-regression

我对coef_的{​​{1}}属性提出了一个(可能很愚蠢)的问题。

我只使用两个要素(花瓣宽度和长度)使sklearn.linear_model.LogisticRegression模型适合LogisticRegression。为了获得每个特征的权重,我使用Iris dataset属性,它返回3x2数组。我明白我获得3行的原因是因为3个类和1-vs-rest规则。

但是,我无法理解为什么它只包括w_1和w_2(或theta_1和theta_2,取决于你使用的符号),特征1和2的系数,但缺少w_0(或theta_0),它是截距。< / p>

代码:

coef_

2 个答案:

答案 0 :(得分:1)

属性'coef_'仅给出决策函数中特征的系数。

你可以使用以下方法获得拦截:

lr.intercept_

答案 1 :(得分:0)

您可能会注意到结尾处看起来很奇怪的下划线 coef_intercept_中的一个。 Scikit-learn始终存储任何内容 从训练数据得出的属性中,以 下划线。那就是将它们与参数分开 由用户设置。

lr.coef_

形状为(1,n_features)或(n_classes,n_features)的coef_ndarray 决策函数中特征的系数。

当给定问题为二进制时, coef_的形状为(1,n_features)。特别是,当multi_class ='multinomial'时,coef_对应于结果1(真),而-coef_对应于结果0(假)。

lr.intercept_

形状为(1,)或(n_classes,)的intercept_ndarray 拦截功能(也称为偏差)添加到了决策功能中。

如果fit_intercept设置为False,则截距设置为零。当给定问题为二进制时,intercept_的形状为(1,)。特别是,当multi_class ='multinomial'时,intercept_对应于结果1(True),而-intercept_对应于结果0(False)。

来源:Scikit learn Official Documentation