请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师您好:我安装您之前答复他人的帖子用GridSearchCV对PolynomialLogisticRegression网格搜索出现一个问题

def PolynomialLogisticRegression(degree = 1, C = 0.1):
return Pipeline([
(‘poly’, PolynomialFeatures(degree=degree)),

    ('log_reg', LogisticRegression(C=C))
    ])

poly_log_reg = PolynomialLogisticRegression()
C_PARM = [0.01,0.03,0.05,0.08,0.1]
param_grid_log = [
{
‘poly__degree’: [i for i in range(1, 4)],
‘log_reg__C’: [i for i in C_PARM]
}
]

grid_search_log = GridSearchCV(poly_log_reg, param_grid_log)
grid_search_log.fit(x_train1,y_train)

print(grid_search_log.best_estimator_)

当我把degree设置在1到4后就报错。而在3以下则正常获得最优degree都是1.
这个报错说明了什么问题?

图片描述

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2021-06-25 23:20:57

对于你的数据,在 degree = 4 的时候没有收敛。根据提示,你需要手动设置一个更大的 max_iter 的值。(默认 100 太小了,试一下 1000 甚至 10000).


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕姐45445 #1
    老师您好。这个函数 一开始就定义了 degree=1,c=0.1 这样后面的网格搜索还能发挥作用吗?                 
     def PolynomialLogisticRegression(degree = 1, C = 0.1):
    回复 有任何疑惑可以回复我~ 2021-08-01 09:03:38
  • liuyubobobo 回复 提问者 qq_慕姐45445 #2
    可以的。初始参数如果在网格搜索的列表中,会被网格搜索中搜索的值取代。继续加油!:)
    回复 有任何疑惑可以回复我~ 2021-08-01 13:40:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信