2017-08-28 3 views
1

J'utilise LightGBM 2.0.6 API Python. Mes données d'entraînement ont environ 80K échantillons et 400 caractéristiques, et j'entraîne un modèle avec ~ 2000 itérations, et le modèle est pour la classification multi-classe (#classes = 10). Lorsque le modèle est formé, et quand j'ai appelé model.feature_importance(), j'ai rencontré une erreur de segmentation.Erreur de segmentation rencontrée lors de l'appel de feature_importance dans l'API python LightGBM

J'ai essayé de générer des données artificielles à tester (avec le même nombre d'échantillons, de classes, d'itérations et d'hyperparamètres), et je peux obtenir avec succès la liste des caractéristiques importantes. Par conséquent, je suspecte que le problème se produise dépend des données d'entraînement.

Je voudrais voir si quelqu'un d'autre a rencontré ce problème et si oui, comment a-t-il été surmonté. Je vous remercie.

Répondre

0

Ceci est un bug dans LightGBM; 2.0.4 n'a pas ce problème. Il devrait également être corrigé dans le maître LightGBM. Donc, soit rétrograder à 2.0.4, attendez une prochaine version, ou utilisez le maître LightGBM.

Le problème dépend en effet des données d'apprentissage; feature_importances segfault uniquement lorsqu'il y a des arbres "constants" dans l'ensemble formé, c'est-à-dire des arbres avec une seule feuille, sans division.

+0

Merci pour votre réponse. Cependant, j'ai rétrogradé à 2.0.4 et testé à nouveau, et toujours voir la faute de segmentation. Je vais vérifier le maître et essayer à nouveau. – Albert