Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python LightGBM内部存在的问题_Python_Python 2.7_Scikit Learn_Xgboost_Lightgbm - Fatal编程技术网

Python LightGBM内部存在的问题

Python LightGBM内部存在的问题,python,python-2.7,scikit-learn,xgboost,lightgbm,Python,Python 2.7,Scikit Learn,Xgboost,Lightgbm,无法理解LightGBM(Windows平台)的情况。以前我有这个算法真的很强大,但是现在他的性能太差了 为了进行比较(每个算法中的默认参数),LightGBM根据简单的DIFF-度量=(实际-预测)执行: CatBoostRegressor()-18142884 XGBoostRegressor()-20235110 GradientBoostingRegressionor()-20437130 LGBMRegressor()-60296698(版本=2.0.5) 我试图用HyperOpt

无法理解LightGBM(Windows平台)的情况。以前我有这个算法真的很强大,但是现在他的性能太差了

为了进行比较(每个算法中的默认参数),LightGBM根据简单的DIFF-度量=(实际-预测)执行:

  • CatBoostRegressor()-18142884
  • XGBoostRegressor()-20235110
  • GradientBoostingRegressionor()-20437130
  • LGBMRegressor()-60296698(版本=2.0.5)
我试图用HyperOpt找到一些更好的参数,但也没有成功

LGBM_SPACE = {
    'type': 'LGBM',
    'task': hp.choice('lgbm_task', ['train', 'prediction']),
    'boosting_type': hp.choice('lgbm_boosting_type', ['gbdt', 'dart']),
    'objective': hp.choice('lgbm_objective', ['regression']),
    'n_estimators': hp.choice('lgbm_n_estimators', range(10, 201, 5)),
    'learning_rate':  hp.uniform('lgbm_learning_rate', 0.05, 1.0),
    'num_leaves': hp.choice('lgbm_num_leaves', range(2, 7, 1)),
    'tree_learner': hp.choice('lgbm_tree_learner', ['serial', 'feature', 'data']),
    'metric': hp.choice('lgbm_metric', ['l1', 'l2', 'huber', 'fair']),
    'huber_delta': hp.uniform('lgbm_huber_delta', 0.0, 1.0),
    'fair_c': hp.uniform('lgbm_fair_c', 0.0, 1.0),
    'max_depth': hp.choice('lgbm_max_depth', range(3, 11)),
    'min_data_in_leaf': hp.choice('lgbm_min_data_in_leaf', range(0, 6, 1)),
    'min_sum_hessian_in_leaf': hp.loguniform('lgbm_min_sum_hessian_in_leaf', -16, 5),
    'feature_fraction': hp.uniform('lgbm_feature_fractionf', 0.0, 1.0),
    'feature_fraction_seed': hp.choice('lgbm_feature_fraction_seed', [12345]),
    'bagging_fraction': hp.uniform('lgbm_bagging_fraction', 0.0, 1.0),
    'bagging_freq': hp.choice('lgbm_bagging_freq', range(0, 16, 1)),
    'bagging_seed': hp.choice('lgbm_bagging_seed', [12345]),
    'min_gain_to_split': hp.uniform('lgbm_min_gain_to_split', 0.0, 1.0),
    'drop_rate': hp.uniform('lgbm_drop_rate', 0.0, 1.0),
    'skip_drop': hp.uniform('lgbm_skip_drop', 0.0, 1.0),
    'max_drop': hp.choice('lgbm_max_drop', [-1] + range(2, 51, 1)),
    'drop_seed': hp.choice('lgbm_uniform_drop', [12345]),
    'verbose': hp.choice('lgbm_verbose', [-1]),
    'num_threads': hp.choice('lgbm_threads', [2]), 
} 
最好的结果是
450422301
,与上述结果相比,这是非常糟糕的

使用所有scikit学习API的示例:

model = LGBMRegressor()
model.fit(X, Y)
model.predict(XT)

请尝试使用master branch的最新代码。Scikit学习API中出现不一致的参数,已修复:


或者,您可以在alg_配置中添加“最小儿童体重”:1e-3,“最小儿童样本”:20。

太好了!请您参考关于必须从精度角度调整的最佳参数子集的任何建议?