首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LightGBM超参数整定RandomizedSearchCV

LightGBM超参数整定RandomizedSearchCV
EN

Stack Overflow用户
提问于 2019-06-20 11:50:15
回答 1查看 9.1K关注 0票数 4

我有一个用于培训和测试集的数据集,其维度如下:

代码语言:javascript
复制
X_train = (58149, 9)
y_train = (58149,)
代码语言:javascript
复制
X_test = (24921, 9) 
y_test = (24921,)

使用RandomizedSearchCV分类器的LightGBM代码如下所示:

代码语言:javascript
复制
# Parameters to be used for RandomizedSearchCV-
rs_params = {
        # 'bagging_fraction': [0.6, 0.66, 0.7],
        'bagging_fraction': sp_uniform(0.5, 0.8),
        'bagging_frequency': sp_randint(5, 8),
        # 'feature_fraction': [0.6, 0.66, 0.7],
        'feature_fraction': sp_uniform(0.5, 0.8),
        'max_depth': sp_randint(10, 13),
        'min_data_in_leaf': sp_randint(90, 120),
        'num_leaves': sp_randint(1200, 1550)

}

# Initialize a RandomizedSearchCV object using 5-fold CV-
rs_cv = RandomizedSearchCV(estimator=lgb.LGBMClassifier(), param_distributions=rs_params, cv = 5, n_iter=100)

# Train on training data-
rs_cv.fit(X_train, y_train)

当我执行这段代码时,它会给出以下错误:

检查失败: /__w/1/s/python-package/compile/src/io/config_auto.cpp,第295行的bagging_fraction <=1.0。

知道出了什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-20 13:23:06

我已经从您的代码中删除了sp_uniform和sp_randint,并且运行良好。

代码语言:javascript
复制
from sklearn.model_selection import RandomizedSearchCV
import lightgbm as lgb
np.random.seed(0)

d1 = np.random.randint(2, size=(100, 9))
d2 = np.random.randint(3, size=(100, 9))
d3 = np.random.randint(4, size=(100, 9))

Y = np.random.randint(7, size=(100,))
X = np.column_stack([d1, d2, d3])

rs_params = {
        'bagging_fraction': (0.5, 0.8),
        'bagging_frequency': (5, 8),
        'feature_fraction': (0.5, 0.8),
        'max_depth': (10, 13),
        'min_data_in_leaf': (90, 120),
        'num_leaves': (1200, 1550)
}

# Initialize a RandomizedSearchCV object using 5-fold CV-
rs_cv = RandomizedSearchCV(estimator=lgb.LGBMClassifier(), param_distributions=rs_params, cv = 5, n_iter=100,verbose=1)

# Train on training data-
rs_cv.fit(X, Y,verbose=1)

而根据文档,bagging_fraction将是<=0 \ >=1。

添加verbose=1以便您可以看到您的模型的配件,详细地给我们您的模型的信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56685352

复制
相关文章

相似问题

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