Optuna est une bibliothèque qui optimise les hyperparamètres par optimisation bayésienne. Cet article est une note d'une erreur que j'ai rencontrée en essayant de spécifier différentes distributions pour les mêmes paramètres à l'aide d'Optuna.
La raison pour laquelle je voulais faire cela est comme max_features dans RandomForest (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) dans scikit-learn. Pour les paramètres qui ont trois types de méthodes de spécification, le type int, le type float et la catégorie, j'ai pensé que ce serait plus facile sans penser que Optuna les optimise tous ensemble, y compris la méthode à spécifier. y a-t-il.
J'ai pensé qu'il serait préférable de suggérer en deux étapes, en se référant à "Branches et boucles" sur https://optuna.readthedocs.io/en/latest/tutorial/configurations.html.
Tout d'abord, demandez des suggestions par suggest_categorical, qui est l'une des trois catégories, float, int et category.
Ensuite, en fonction du résultat de la proposition, essayez de modifier la suggestion à appeler comme suit.
L'erreur suivante apparaît pendant l'essai et se termine.
cannot set different distribution kind to the same parameter name.
L'optimisation bayésienne suppose une distribution des paramètres, il serait donc peu pratique de donner des distributions différentes aux mêmes paramètres. Donc, en conclusion, il semble qu'il n'y ait pas d'autre choix que d'effectuer autant de processus de réglage de paramètres qu'il y a de types de méthodes spécifiées.
Recommended Posts