TypeError:__init__()获取意外的关键字参数';iid';
问题描述
我使用GridSearchCV和RandomizedSearchCV为我的TCSVM模型找到了最佳参数和最佳分数。
现在我想使用BayesSearchCV来与以前的方法进行比较,但是我收到了这个错误__init__() got an unexpected keyword argument 'iid'
这是我使用的代码:
model2 = make_pipeline(StandardScaler(), SVC())
parameter_grid = {
'C': Real(1e-5, 1e+3, prior='log-uniform'),
'gamma': Real(2e-2, 2e+3, prior='log-uniform'),
'degree': Integer(1, 8),
'kernel': Categorical(['linear', 'poly', 'rbf']),
}
grid_searchdt = BayesSearchCV(estimator=model2, search_spaces=parameter_grid, n_iter=32, cv=5, random_state=0,
iid=True)
grid_searchdt.fit(X_Train, Y_Train)
grid_searchdt.score(X_Test, Y_Test)
print("Score opt =", grid_searchdt.score(X_Test, Y_Test))
print("Best_Params =", grid_searchdt.best_params_)
print("Best_Score =", grid_searchdt.best_score_)
我读到一些解决方案,说我需要降级SCRICKIT-LEARN版本,但它对我不起作用。 请提供任何解决方案。
解决方案
最终它可以工作了,我卸载了SCRICIT-Learn Usingpip uninstall scikit-learn
,然后再次安装,在安装完SCRKIT-Optimize Usingpip install --upgrade scikit-optimize==0.23.3
之后,当我运行我的代码时,它运行得非常好。
感谢您@Furas的帮助
相关文章