我是统计数据和线性回归的新手。我只是想了解Ridge和OLS之间的确切场景和用法。这是我一直在使用的数据样本。
在此,权重和BSA都是高度相关的(换句话说,多重共线性)。我运行以下两个模型,
线性回归:
df = pd.read_csv('/data/bloodpress.txt', index_col=0)
input = df.drop('BP',axis=1)
output = df.BP
llr = linear_model.LinearRegression()
llr.fit(input,output)
print(llr.coef_)
print(llr.predict([[56,95.7,2.09,7.0,75,99]]))
O / P
[ 0.70325939 0.96991978 3.776491 0.06838304 -0.08448469 0.0055715 ]
[ 121.92014732]
岭:
input = df.drop('BP',axis=1)
output = df.BP
llr = linear_model.Ridge()
llr.fit(input,output)
print(llr.coef_)
print(llr.predict([[56,95.7,2.09,7.0,75,99]]))
O / P
[ 0.71980652 1.08207683 0.276536 0.0640874 -0.12182558 0.00696796]
[ 121.87298902]
当我们看到o / p OLS提供更好的解决方案时。问题是,
1)当我和Ridge一起去的时候? 2)在这个例子中,哪个会提供更好的预测?