2017-10-09 2 views
0

Je suis assez nouveau avec LightGBM et j'essaie de s'adapter à la ligne simple via LGBMRegressor.lightgbm.sklearn.LGBMRegressor échoué à s'adapter à la ligne simple

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

Qu'est-ce que je fais mal? Peut-être que j'ai besoin de plus de fonctionnalités?

Ma version est LightGBM 2.0.7 (de la source GitHub), version python est 2.7.12

PS Désolé pour mon mauvais anglais

+0

Je n'ai pas reproduit votre configuration, mais je l'ai vérifié sur ma propre configuration en utilisant python3.6 et lightgbm 2.0.3. (installé avec pip). En conséquence, a obtenu une sortie différente (qui semblait correcte). Est-ce que votre python est une version 64 bits? Sinon, votre code semble bien. –

+0

@ ChristopherSchröder merci pour le commentaire! Oui, mon python2.7.12 est 64 bits. Probablement je devrais essayer mon code avec lgbm 2.0.3 –

+0

J'ai également essayé en utilisant la version 2.0.7 plus tard. Toujours produit une production raisonnable. Peut-être que vous pouvez essayer d'utiliser l'installateur pip? Quel système d'exploitation utilisez-vous? –

Répondre

1

Régler les paramètres min_data_in_leaf = 1, min_data_in_bin = 1.