Récemment, j'étudie l'apprentissage automatique avec Jupyter Lab. Parmi eux, j'ai pensé écrire un article sur la recherche d'Optuna sur l'optimisation des hyperparamètres LightGBM, qui avait un ancien résultat de recherche sur Google.
jupyter lab
est spécifié lors du démarrage de l'image Docker ci-dessus.--Je souhaite optimiser les paramètres Piper de LightGBM avec Optuna. ――Cela ne fonctionne pas bien même si je copie le code qui est sorti par google ――On dit qu'il n'y a pas d'argument car c'est best_params. --Appliquer le document officiel --Essayez l'exemple de document officiel → Cela fonctionne --Vérifiez les échantillons passés de Github et confirmez qu'il y a best_params à partir de la version 1.3 Il semble que ce ne sera pas la version 1.4 ou ultérieure ――Si vous avez un problème, lisez le document officiel. ――Si le comportement est différent des informations sur le net, c'est une bonne idée de vérifier la version de la bibliothèque.
C'est la première chose qui est ressortie lorsque j'ai essayé Google Optimisation automatique des hyperparamètres par l'extension Optuna LightGBM Tuner Voici un extrait du code sur la page ci-dessus
booster = lgb.train(params, dtrain, valid_sets=dval,
verbose_eval=0,
best_params=best_params,
tuning_history=tuning_history)
Lorsque j'ai essayé ce qui précède, j'ai eu l'erreur suivante.
TypeError: __init__() got an unexpected keyword argument 'best_params'
HM. Il n'y a pas d'argument de mot-clé pour best_params
. Est dit être.
Je me suis demandé si les différents arguments signifiaient des versions différentes, j'ai donc décidé de vérifier la documentation officielle. Optuna Il y avait un lien vers Github, alors j'y ai déménagé optuna/optuna
Recherchez dans le référentiel avec lightgbm
sur optuna / optuna
Résultats de la recherche dans le référentiel
En regardant les résultats de la recherche, j'ai trouvé que examples / README.md était comme un échantillon. Confirme-le.
examples/lightgbm_tuner_simple.py
#Certains sauts de ligne sont utilisés pour faciliter la comparaison des sources de citations
model = lgb.train(
params, dtrain, valid_sets=[dtrain, dval],
verbose_eval=100,
early_stopping_rounds=100
)
Il n'y a pas de best_params
ici, donc la version actuelle ressemble à ceci.
Je l'ai essayé ci-dessus et cela a fonctionné! Je l'ai fait.
Au fait, lorsque j'ai vérifié, il y avait best_params
jusqu'à v1.3.0, et [v1.4.0](https :: De //github.com/optuna/optuna/blob/v1.4.0/examples/lightgbm_tuner_simple.py), il n'y avait pas de best_params
.
En fait, j'ai vérifié des pages autres que celles ci-dessus, mais j'ai omis celles qui n'ont produit aucun résultat (ou plutôt, j'ai oublié) Lorsque l'enquête et la résolution de tels problèmes et erreurs ne produisent pas de résultats, cela ne sort pas du tout. Il est difficile d'obtenir des résultats. Dans un tel cas, il est recommandé de changer de jour ou de consulter légèrement d'autres personnes, car vous pourrez voir le mode de vie de manière inattendue.
Si le résultat de Google ne fonctionne pas, cela est souvent dû à un environnement ou une version différent. Si les spécifications et les exemples sont accessibles au public, il s'agit souvent d'un raccourci pour résoudre le problème en se référant à la documentation officielle et à Github. (Bien que cette heure soit différente) Il est également important de vérifier le contenu du message d'erreur et d'effectuer une recherche par message. Si le nombre d'arguments ou les arguments eux-mêmes sont différents, la version sera probablement différente. Si vous ne trouvez pas de solution, il est important d'en parler à quelqu'un d'autre ou de changer la date.
Recommended Posts