首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CatBoost的skopt的BayesSearchCV

使用CatBoost的skopt的BayesSearchCV
EN

Stack Overflow用户
提问于 2019-04-14 20:28:22
回答 1查看 485关注 0票数 2

我正在尝试将skopt的BayesSearchCV方法与Catboost.However一起使用,我不知道如何将catboost原生的分类特征的索引传递给bayesSearch object的fit()方法。

代码语言:javascript
复制
clf = catboost.CatBoostClassifier()
search_spaces = {'iterations': (10, 1000),
                 'depth': (1, 10),
                 'learning_rate': (0.001, 0.5),
                 'random_strength': (1e-9, 10)}
pt = BayesSearchCV(clf,
                    search_spaces,
                    n_iter=40)
pt.fit(x_train,y_train)

fit()抛出错误无法将分类转换为浮点型,

我知道,错误是因为我没有传递分类变量的索引,但是我不能在贝叶斯的fit()中传递它们。我尝试了catboost的method.Also ()方法,但也不起作用。

EN

回答 1

Stack Overflow用户

发布于 2019-05-30 10:29:23

我在CalibratedClassifierCV上也遇到过类似的问题。所以,在这里发布解决方案。也许这对你有用。

您可以尝试解决此问题,方法是先将分类特征编码为数字,以愚弄BayesSearchCV,但在初始化CatBoostClassifier()时仍然传递分类特征索引,以便CatBoost可以适当地利用它们:

代码语言:javascript
复制
# Import necessary libraries
from sklearn.calibration import CalibratedClassifierCV
from catboost import CatBoostClassifier

# Initialize Calibrated Classifier with Catboost
model_combined = CalibratedClassifierCV(
    CatBoostClassifier(cat_features=<cat_features_indexes>),
    method='isotonic',
    cv=5,
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55675253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档