我对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_
答案 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)。