Closed3
Stepwise Tuner 周りの予習
明日のスプリントでこれをやるので。
設計のディスカッションは下記でなされている模様。LightGBMTuner を実装するにあたって、別のコントリビュータが、すでに StepwiseTuner をすでに提案してくれているので、XGBoostTuner を実装する際はこれを拡張すればいけるという文脈かな。そして、"A customizable stepwise tuner would be amazing functionality." らしいので、これを実装できると結構実装の幅が広がりそう。
以下はメモ。
-
StepwiseTuner#tune
で Study を作成する。これは、もっともよいパラメータと値を返す関数になる。LightGBMTuner
のインタフェースと同じ形になっている必要がある。 -
StepwiseTuner
のサブクラスとしてXGBoostTuner
やLightGBMTuner
が用意できる。
こちらで StepwiseTuner
のプロトタイプが実装されている。
-
Step
オブジェクト- 探索時に使用するいくつかのパラメータが格納されている。分布、使用する sampler、枝刈りの方法、試行回数とタイムアウトが入っているオブジェクトになっている。
- サブクラスに
GridStep
や_NoOpsStep
がいる。 - いわゆる値オブジェクト的な。Python のバージョンが最新に近ければ @dataclass で管理してそう。
-
StepObjective
: 普通の Study とよく似ているが、最適化に使用するさらなるパラメータを保持する。 -
StepwiseTuner
: メイン。最適化タスクに対応する。
このスクラップは2021/03/12にクローズされました