python - Problems in LightGBM internals -


can't understand what's going on lightgbm (windows platform). had algorithm powerful, performance bad.

for comparison (default parameters in each algorithm) lightgbm performs according simple diff-metric = (actual - prediction):

  • catboostregressor() - 18142884
  • xgboostregressor() - 20235110
  • gradientboostingregressor() - 20437130
  • lgbmregressor() - 60296698 (version=2.0.5)

i trying find better parameters hyperopt, without success

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]),  }  

the best result 450422301, super bad in comparing above.

example of using scikit-learn api:

model = lgbmregressor() model.fit(x, y) model.predict(xt) 


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -