我使用python与sklearn和statsmodel一起创建回归模型。这是我第一次使用岭回归。然而,我不明白这些结果意味着什么。例如。
当我打印
print reg.intercept_
print reg.coef_我得到的是
print reg.intercept_
[[ 0.00000000e+00]
[ -5.27579034e-03]
[ 3.35202990e-03]
[ -1.54862324e-02]
[ -3.74392708e-02]
print reg.coef_
[ 1.00000000e+00 4.11548523e-02 6.98464464e-01 3.88878487e-01
5.20562949e+01 ]无论何时,我做一个正常的线性回归,我只会得到一个截距,但是在岭模型中,我得到了5。有人能解释为什么,它意味着什么吗?
发布于 2017-12-11 17:08:51
我相信您有多个目标,如果您查看属性线性回归的文档,它指定它独立于模型。如果您查看岭回归,的相同文档,它将在属性部分指定intercept_ : float | array, shape = (n_targets,)。
您可以通过在我修改的以下代码中更改变量n_targets控制的目标数量来验证这一点:
from sklearn.linear_model import Ridge
import numpy as np
n_targets=2
n_samples, n_features = 10, 5
np.random.seed(0)
y = np.random.randn(n_samples,n_targets)
X = np.random.randn(n_samples, n_features)
clf = Ridge(alpha=1.0)
clf.fit(X, y)
print( clf.intercept_)如果设置n_targets=1,则得到0.89586534,如果设置n_targets=2,则得到0.7101951 0.36420037。我在我的课程用Python进行数据分析中讨论岭回归。
https://stackoverflow.com/questions/43881458
复制相似问题