相关疑难解决方法(0)

Python - 带有GridSearchCV的LightGBM,正在永远运行

最近,我正在做多个实验来比较Python XgBoost和LightGBM.似乎这个LightGBM是一种新算法,人们说它在速度和准确性方面都比XGBoost更好.

这是LightGBM GitHub.这是LightGBM python API文档,在这里你可以找到你可以调用的python函数.它可以直接从LightGBM模型调用,也可以通过LightGBM scikit-learn调用.

这是我使用的XGBoost Python API.如您所见,它与上面的LightGBM python API具有非常相似的数据结构.

这是我尝试过的:

  1. 如果你train()在XGBoost和LightGBM中使用方法,是的lightGBM工作得更快,准确度更高.但是这种方法没有交叉验证.
  2. 如果您cv()在两种算法中尝试方法,则用于交叉验证.但是,我没有找到一种方法来使用它返回一组最佳参数.
  3. 如果你尝试GridSearchCV()使用LGBMClassifier和XGBClassifer进行scikit-learn .它适用于XGBClassifer,但对于LGBClassifier,它永远运行.

以下是GridSearchCV()与两个分类器一起使用时的代码示例:

带GridSearchCV的XGBC分类器

param_set = {
 'n_estimators':[50, 100, 500, 1000]
}
gsearch = GridSearchCV(estimator = XGBClassifier( learning_rate =0.1, 
n_estimators=100, max_depth=5,
min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8, 
nthread=7,
objective= 'binary:logistic', scale_pos_weight=1, seed=410), 
param_grid = param_set, scoring='roc_auc',n_jobs=7,iid=False, cv=10)

xgb_model2 = gsearch.fit(features_train, label_train)
xgb_model2.grid_scores_, xgb_model2.best_params_, xgb_model2.best_score_
Run Code Online (Sandbox Code Playgroud)

这对XGBoost非常有效,只需几秒即可完成.

LightGBM与GridSearchCV

param_set = {
 'n_estimators':[20, 50]
}

gsearch …
Run Code Online (Sandbox Code Playgroud)

python cross-validation grid-search xgboost lightgbm

5
推荐指数
1
解决办法
5773
查看次数