2017-10-09 109 views
0

我与LightGBM相当新的,我想通过LGBMRegressor以适应简单的线条。lightgbm.sklearn.LGBMRegressor未能配合简单的线条

import numpy as np 
import lightgbm as lgbm 
xs = np.linspace(0, 10, 30).reshape((-1, 1)) 
ys = np.linspace(0, 10, 30)  
reg = lgbm.sklearn.LGBMRegressor() 
reg.fit(xs, ys) 
print reg.predict(xs) 
>>> array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 
    0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 
    0., 0., 0., 0.]) 

我在做什么错了?也许我需要更多功能?

我LightGBM版本是2.0.7(从GitHub源),Python版本是2.7.12

PS对不起,我的英文不好

+0

我还没有转载您的设置,但我使用python3.6和lightgbm 2.0.3检查它在我自己的设置。 (与点安装)。结果得到了不同的输出(看起来是正确的)。你的python是一个64位版本吗?否则你的代码似乎很好。 –

+0

@ChristopherSchröder感谢您发表评论!是的,我的python2.7.12是64位的。也许我应该尝试与lgbm 2.0.3 –

+0

我也尝试过使用2.0.7版本以后我的代码。仍然产生合理的产出。也许你可以尝试使用pip安装程序?你使用哪种操作系统? –

回答

1

设置参数min_data_in_leaf = 1,min_data_in_bin = 1