2017-10-09 2 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のバージョンは、私の下手な英語

+0

用2.7.12

PS申し訳あり私はあなたの設定を再現していませんが、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

関連する問題