【发布时间】:2021-10-21 19:31:51
【问题描述】:
我使用 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_)
我阅读了一些解决方案,说我需要降级 scikit-learn 版本,但它对我不起作用。 请有任何解决方案。
【问题讨论】:
-
首先阅读
BayesSearchCV的文档,因为它似乎无法获取iid- 所以删除它或签入文档可以使用不同的名称获取它 -
是的,它无法将
iid作为参数BayesSearchCV定义,但是当我运行我的代码时,它给了我同样的错误,我也输入了iid = False也同样的错误 -
你必须删除
iid=- 不要使用它。 -
@furas idd 参数确实出现在文档中。回溯可能会有所帮助。加上一个可重现的例子,或者至少是导入行。
标签: python data-science svm bayessearchcv