Optuna ist eine Bibliothek, die Hyperparameter durch Bayes'sche Optimierung optimiert. Dieser Artikel ist ein Hinweis auf einen Fehler, der beim Versuch aufgetreten ist, mit Optuna unterschiedliche Verteilungen für dieselben Parameter anzugeben.
Der Grund, warum ich dies tun wollte, ist wie max_features in RandomForest (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) in scikit-learn. Für Parameter mit drei Arten von Spezifikationsmethoden, int type, float type und category, dachte ich, dass es einfacher wäre, ohne darüber nachzudenken, wenn Optuna sie alle zusammen optimieren würde, einschließlich der anzugebenden Methode. Gibt es.
Ich dachte, es wäre besser, in zwei Schritten unter Bezugnahme auf "Zweige und Schleifen" unter https://optuna.readthedocs.io/en/latest/tutorial/configurations.html vorzuschlagen.
Bitten Sie zunächst um Vorschläge von suggest_categorical, einer der drei Kategorien float, int und category.
Versuchen Sie anschließend, abhängig vom Ergebnis des Vorschlags, den aufzurufenden Vorschlag wie folgt zu ändern.
Der folgende Fehler wird während des Tests angezeigt und endet.
cannot set different distribution kind to the same parameter name.
Die Bayes'sche Optimierung setzt eine Verteilung von Parametern voraus, so dass es unpraktisch wäre, denselben Parametern unterschiedliche Verteilungen zuzuweisen. Zusammenfassend scheint es also keine andere Wahl zu geben, als so viele Parameteroptimierungsprozesse durchzuführen, wie es Typen spezifizierter Methoden gibt.
Recommended Posts