python - `scikit-optimize` 包中的 TypeError
问题描述
当我使用scikit-optimize
0.7.4 版本优化scikit-learn
0.23 模型时:
rf = BayesSearchCV(
RandomForestClassifier(
min_samples_leaf=0.01, oob_score=True
), {
'n_estimators': Integer(30, 200),
'max_depth': Integer(10, 150),
'min_samples_split': Real(0.05, 0.3),
}, n_iter=32
)
当我跑步时rf.fit
,它说,
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\space\space.py", line 764, in rvs
if sp_version < (0, 16):
TypeError: '<' not supported between instances of 'Version' and 'tuple'
但是当我简单地使用RandomForestClassifier
并安装它时,就不会发生错误。那么,如何避免这个问题呢?谢谢!
完整的回溯如下。
Traceback (most recent call last):
File "C:/Users/cloudy/PyCharmProjects/clixove/BasicML/classifier.py", line 106, in <module>
rf.fit(clf.data['X_train'], clf.data['Y_train'])
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\searchcv.py", line 678, in fit
optim_result = self._step(
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\searchcv.py", line 552, in _step
params = optimizer.ask(n_points=n_points)
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\optimizer\optimizer.py", line 360, in ask
x = opt.ask()
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\optimizer\optimizer.py", line 332, in ask
return self._ask()
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\optimizer\optimizer.py", line 398, in _ask
return self.space.rvs(random_state=self.rng)[0]
File "C:\Users\cloudy\PyCharmProjects\clixove\venv\lib\site-packages\skopt\space\space.py", line 764, in rvs
if sp_version < (0, 16):
TypeError: '<' not supported between instances of 'Version' and 'tuple'
解决方案
scikit-learn >= 0.23 的问题已在 0.8.1 版本中修复
以下是 PIP 安装:
pip install scikit-optimize==0.8.1
推荐阅读
- azure-maps - 按国家/地区划分的 AzureMaps 计算距离
- sql - Redshift 加入通配符
- listview - 如何通过此代码中的按钮在 HistoryListTile 中添加项目?扑
- java - 看不到 javadoc 信息。我如何解决它?
- sql - SQL Query to Split a string, format each result, then build back into a single row
- python - Writing CSV from JSON returned from API
- r - 如何在饼图的每个扇区中放置百分比
- python - 显示 ValueError:形状 (1,2) 和 (3,1) 未对齐:2 (dim 1) != 3 (dim 0)
- r - RStudio 在临时目录中从 Rmarkdown 创建 PDF 文件
- ruby - 无法安装 Ruby OpenSSL