TypeError:__init__()获取意外的关键字参数'iid'

2022-03-02 00:00:00 python data-science svm bayessearchcv

问题描述

我使用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的帮助

相关文章