MLアンサンブル(βver)
オートMLやマニュアルMLは、最も優れた1つのモデルを結果として出力しますが、その背後では探索過程で複数のモデルが構築されます。
これらのモデルを組み合わせ、新しいモデルを構築できるのがMLアンサンブルの機能です。
1つのアルゴリズムでモデルを構築する代わりに、複数のアルゴリズムを組み合わせることで、より高精度なモデルを得ることができる可能性があります。
入出力定義
定義 | 内容 | 補足 |
---|---|---|
入力 | データ | |
左出力 | 機械学習モデル | |
中出力 | データ | モデルの精度指標を出力 |
右出力 | データ | 説明変数の重要度等の指標を出力 |
ボニートくん | 精度検証結果 | |
ボニートくん | 機械が重視したデータ | |
ボニートくん | 学習プロセス | |
ボニートくん | 精度改善の余地 | |
ボニートくん | モデル詳細情報 |
サンプル
処理内容補足
実施する前処理
精度を最大化するために、自動的に処理を選択します。
- 欠損値処理
- 数値列の変換 (Box-Cox 変換など)
- 文字列の変換 (ワンホットエンコーディングなど)
- 数値の外れ値処理
- 特徴量選択
学習に用いるアルゴリズム
精度を最大化するために、自動的に処理を選択します。
- ランダムフォレスト
- XGBoost
- LightGBM
- CatBoost
- SVM
- 回帰分析
- 一般線形モデル
- ロジスティック回帰
- 線形混合モデル
- 決定木
探索
総当たりでモデルを構築するのではなく、ベイズ最適化に基づいてより良い精度が期待できる組み合わせを探索します。
これにより、実行時間を大幅に短縮しつつ高い精度を実現できます。
なお、この探索回数の上限は処理モードで制御できます。
処理内容補足
アンサンブル手法
現時点では、均等に複数のモデルを混合するブレンディングの設定のみが可能です。
今後は、需要に応じてブレンディングの重み付けやスタッキングの手法を導入したいと考えています。
処理設定補足
モデル ID の指定
処理設定で、アンサンブルするモデルのIDを指定する必要があります。
このモデルIDは、オートMLまたはマニュアルMLのボニートくんの「モデル詳細情報」の表内の「モデルID」列と対応しています。
複数のアルゴリズムを組み合わせる場合や、同じアルゴリズム内で異なるパラメータを持つモデルを組み合わせる場合に利用できます。
出力内容補足
モデルの精度指標(中出力)
モデルの精度を簡単に確認するため、以下の項目を出力します。
項目 | 説明 |
---|---|
採用モデル | 構築されたモデルに採用された学習アルゴリズムを表示 |
精度指標値 | 処理設定「最大化する指標」にて選択した指標の値を表示 |
精度評価 | 精度指標値に基づく評価を表示 |
過学習リスク(10段階) | モデルが過学習している可能性を10段階で表示 |
モデル補足情報(右出力)
モデル構築時に利用された説明変数ごとの重要度を出力します。
重要度の値が大きいほど、機械が重視した説明変数です。