针对COVID-19数据ML预测使用GridSearchCV时遇TypeError问题求助
问题解决:TypeError: init() got an unexpected keyword argument 'iid'
错误原因
iid参数在scikit-learn 0.22版本后已被移除,你的代码中使用了这个已废弃的参数,导致初始化GridSearchCV时触发类型错误。
修改后的代码
将GridSearchCV初始化代码中的iid=True参数删除即可,修改后的代码如下:
# 定义模型和参数 model = LogisticRegression() solvers = ['newton-cg', 'lbfgs', 'liblinear'] penalty = ['l2'] c_values = [100, 10, 1.0, 0.1, 0.01, 0.001] # 定义网格搜索 grid = dict(solver=solvers, penalty=penalty, C=c_values) cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1) # 删除iid=True参数 grid_search = GridSearchCV(estimator=model, param_grid=grid, n_jobs=-1, cv=cv, scoring='accuracy', error_score=0) grid_result = grid_search.fit(X_train, y_train) # 总结结果 print(f"Best: {grid_result.best_score_:.3f} using {grid_result.best_params_}")
补充说明
如果需要兼容旧版本iid=True的逻辑,新版本scikit-learn中默认的refit=True会自动适配最优模型,无需额外配置参数。
内容的提问来源于stack exchange,提问作者Ayorinde
相关产品推荐
相关产品推荐

