2017-09-27 13 views
4

Après avoir lu la documentation de LightGBM sur la validation croisée, j'espère que cette communauté pourra faire la lumière sur les résultats de validation croisée et améliorer nos prédictions en utilisant LightGBM. Comment sommes-nous censés utiliser la sortie du dictionnaire de lightgbm.cv pour améliorer nos prédictions?Validation croisée dans LightGBM

Voici un exemple - nous formons notre modèle de CV en utilisant le code ci-dessous:

cv_mod = lgb.cv(params, 
       d_train, 
       500, 
       nfold = 10, 
       early_stopping_rounds = 25, 
       stratified = True) 

Comment peut-on utiliser les paramètres trouvés de la meilleure itération du code ci-dessus pour prédire une sortie? Dans ce cas, cv_mod n'a pas de méthode "predict" comme lightgbm.train et la sortie du dictionnaire de lightgbm.cv génère une erreur lorsqu'elle est utilisée dans lightgbm.train.predict(..., pred_parameters = cv_mod).

Est-ce qu'il me manque une étape de transformation importante?

Répondre

0

Vous devez utiliser CV pour l'optimisation des paramètres.

Si votre modèle fonctionne bien sur tous les plis, utilisez ces paramètres pour vous entraîner sur l'ensemble de l'ensemble. Ensuite, évaluez ce modèle sur l'ensemble de test externe.