微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与网格搜索不一致的 R2

如何解决与网格搜索不一致的 R2

我正在使用网格搜索来调整 Lasso 中的参数。 但是,我不明白为什么我的 R2 是 -1.40。看起来完全不连贯。

from sklearn.model_selection import gridsearchcv
lasso = Lasso(random_state=0)

parameters = {
    'alpha' : np.arange(0,1,0.01).tolist(),'fit_intercept' : [True,False],'max_iter' : [1000,10000,50000]
}

from sklearn.model_selection import RepeatedKFold
cv = RepeatedKFold(n_splits=10,n_repeats=3,random_state=0)
gridsearch = gridsearchcv(estimator=lasso,param_grid=parameters,cv=cv,n_jobs=-1,verbose = 1)

result = gridsearch.fit(X,y) 
print("The best parameters are :",result.best_params_)
print("The best r2 is {:.2f}:".format(result.best_score_ ))

输出如下:

The best parameters are : {'alpha': 0.54,'fit_intercept': False,'max_iter': 50000}
The best r2 is -1.40:

其次,当我在 LassoCV 中调整参数时。我得到了不同的结果。为什么?

from sklearn.linear_model import LassoCV
from sklearn.model_selection import RepeatedKFold
cv = RepeatedKFold(n_splits=10,random_state=0)
reg = LassoCV(cv=cv,random_state=0,alphas=np.arange(0,fit_intercept = False,normalize = False,max_iter=50000).fit(X,y)
reg.score(X,y)  # Set to 0.5544122302847161
reg.alpha_       # Set to 0.6

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。