python Ridge回归解释结果

时间:2017-05-09 23:43:48

标签: python regression

我正在使用带有sklearn和statsmodels的python来创建回归模型。 这是我第一次使用Ridge回归。但是,我不明白结果意味着什么。例如。

我打印时

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 ]

无论何时,我进行正常的线性回归,我只得到1次拦截,但是在脊模型中我得到5.有人可以详细解释为什么以及它是什么意思?

1 个答案:

答案 0 :(得分:2)

我相信您有多个目标,如果您查看属性intercept_下的Linear Regression文档,它会指定它独立于模型。如果您查看Ridge Regression,的相同文档,则会在“属性”部分中指定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]。 我在课程Data Analysis with Python ./

中介绍了岭回归