キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
DataRobot コミュニティ

ブループリントのパラメータと高度なチューニング

takeshi
青色LED

ブループリントのパラメータと高度なチューニング

データを入力し、DataRobotで回帰予測させたところ、Light Gradient Boosted Trees Regressor with Early Stopping モデルが上位に来ました。指標はRMSEです。
Light Gradient Boosted Trees Regressor with Early Stopping モデルについて、説明タブのブループリントを確認し、Light Gradient Boosted Trees Regressor with Early Stopping モデルのノードをクリックしたところ、学習に使用したハイパーパラメータなどが表示されました。この中に「Forest: n_estimators : 1」という項目がありました。この項目について、n_estimatorsが1のとき最もvalidationのscoreがよい、という認識でした。
しかし、同モデルの評価タブの高度なチューニングを選択し、パラメータをcsvエクスポートし、中身を確認したところ、n_estimatorsが10のとき最もスコア列が良い(低い)結果となっておりました。
パラメータの探索の結果、n_estimatorsはどの値のとき最も精度が良い結果となっているのでしょうか。
稚拙な文章で申し訳ありませんが、有識者の方々、ご教示ください。

0 件の賞賛
1件の返信1
Shogo Nagano
データサイエンティスト
データサイエンティスト

@takeshi-san、ご質問いただきありがとうございます。
結論から申し上げると、ハイパーパラメータをcsvエクポートして得られた結果がハイパーパラメータ探索で得られた最良の結果です(@takeshi-sanの例ではn_estimators: 10)。ブループリントのモデルのノードには恐らく「Forest: n_estimators : 1」と「n_estimators : XXXX」という2つのハイパーパラメータの設定が別々に表示されているかと思います。以下、ご質問内容を2つの観点で説明させていただきます。
 
  1. Forestと表示されるハイパーパラメータについて
こちらはモデルをバギングするためのハイパーパラメータとなります。例えば「eXtreme Gradient Boosted Trees Regressor with Early Stopping (Gamma Loss) - Forest (10x)」というブループリントではXgBoostモデルを10回バギングしているため、「Forest: n_estimators :10」と表示されます。このような特殊なブループリント以外では通常「Forest: n_estimators :1」と表示されます(モデルをバギングしていないという意味なので無視していただいて構いません)。
 
  1. ブループリントの表示とCSV出力のn_estimatorsの最良結果が異なる理由
こちらは少々ややこしいですが、ハイパーパラメータのn_estimatorsの値は「最大のestimators数」と読み替えてください。対象となるブループリントがEarly Stoppingをサポートしているモデルであるため、n_estimatorsで設定した値以下のn_estimatorsで学習が止まります。@takeshi-sanのブループリントでは、ハイパーパラメータとして設定されているn_estimatorsは10以上であり、Early Stoppingの結果csv出力するとn_estimators :10が最良の結果として表示されていると考えられます。
 
@takeshi-sanはブループリントで表示されている「Forest: n_estimators 」とcsv出力されているで得られる「n_estimators」を比較されていますが、ブループリントで表示されている「n_estimators 」とcsv出力されているで得られる「n_estimators」を比較し、EarlyStoppingが作動しているかをご確認いただければと考えます。
 
お答えになっていますでしょうか。その他、疑問点やご質問等ございましたらお伝えください。
 
参考:ドキュメントにEarly Stoppingの詳細が記載されています。
Light Gradient Boosted Trees Regressor with Early Stopping Documentation