2017-10-09 1 views
0

Ich bin ziemlich neu mit LightGBM und ich versuche, einfache Linie über LGBMRegressor passen.lightgbm.sklearn.LGBMRegressor konnte nicht in die einfache Zeile passen

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.]) 

Was mache ich falsch? Vielleicht brauche ich mehr Funktionen?

Meine LightGBM Version 2.0.7 (von Github-Quelle), Python-Version ist 2.7.12

PS Sorry für mein schlechtes Englisch

+0

Ich habe Ihr Setup nicht reproduziert, aber ich habe es in meinem eigenen Setup mit python3.6 und lightgbm 2.0.3 überprüft. (installiert mit Pip). Als Ergebnis bekam ich eine andere Ausgabe (die richtig aussah). Ist Ihr Python eine 64-Bit-Version? Sonst scheint dein Code gut zu sein. –

+0

@ ChristopherSchröder danke für den Kommentar! Ja, mein python2.7.12 ist 64-bit. Wahrscheinlich sollte ich meinen Code mit lgbm 2.0.3 versuchen –

+0

Ich versuchte es auch später mit der Version 2.0.7. Produzierte immer noch vernünftig. Vielleicht können Sie versuchen, den Pip-Installer zu verwenden? Welches Betriebssystem verwenden Sie? –

Antwort

1

Set Parameter min_data_in_leaf = 1, min_data_in_bin = 1.

Verwandte Themen