【发布时间】:2021-02-18 11:31:32
【问题描述】:
我正在尝试在我的代码中实现 sklearn 的套索。为了测试它,我决定使用alpha = 0 进行测试。根据定义,这应该产生与LinearRegression 相同的结果,但事实并非如此。
代码如下:
import pandas as pd
from sklearn.linear_model import Lasso
from sklearn.linear_model import LinearRegression
# Don't worry about this. It is made so that we can work with the same dataset.
df = pd.read_csv('http://web.stanford.edu/~oleg2/hse/Credit.csv').dropna()
df['Asian'] = df.Ethnicity=='Asian'
df['Caucasian'] = df.Ethnicity=='Caucasian'
df['African American'] = df.Ethnicity=='African American'
df = df.drop(['Ethnicity'],axis=1).replace(['Yes','No','Male','Female',True,False],[1,0,1,0,1,0])
# End of unimportant part
ft = Lasso(alpha=0).fit(x, df.Balance)
print(ft.intercept_)
ft = LinearRegression().fit(x, df.Balance)
print(ft.intercept_)
输出:
-485.3744897927978
-480.89071679937786
coef_s 也各不相同。
我做错了什么?
【问题讨论】:
标签: python machine-learning scikit-learn lasso-regression