ML.NET CLI を使用してモデル トレーニングを自動化する
ML.NET CLI は、.NET 開発者向けのモデル生成を自動化します。
ML.NET API を単独で使用するには(ML.NET AutoML CLI を使用せずに)、トレーナー (特定のタスクの機械学習アルゴリズムの実装)、およびデータに適用するデータ変換のセット (特徴エンジニアリング) を選択する必要があります。 最適なパイプラインはデータセットごとに異なり、すべての選択肢から最適なアルゴリズムを選択すると複雑さが増します。 さらに、各アルゴリズムには、チューニングするハイパーパラメーターのセットがあります。 そのため、特徴エンジニアリング、学習アルゴリズム、ハイパーパラメーターの最適な組み合わせを見つけようと、機械学習モデルの最適化に数週間から数か月を費やすことができます。
ML.NET CLI は、自動化された機械学習 (AutoML) を使用してこのプロセスを簡略化します。
手記
この記事では、現在プレビュー段階にある ML.NET CLI と ML.NET AutoMLについて説明します。資料は変更される可能性があります。
ML.NET コマンドライン インターフェイス (CLI) とは
ML.NET CLI は、.NET ツールです。 インストールすると、機械学習タスクとトレーニング データセットが提供され、ML.NET モデルと、アプリケーションでモデルを使用するために実行する C# コードが生成されます。
次の図に示すように、高品質の ML.NET モデル (シリアル化されたモデル .zip ファイル) と、そのモデルを実行/スコア付けするためのサンプル C# コードを簡単に生成できます。 さらに、そのモデルを作成/トレーニングする C# コードも生成されるため、生成された "最適なモデル" に使用されるアルゴリズムと設定を調査して反復処理できます。
ML.NET CLI 内で動作する AutoML エンジンの
自分でコーディングしなくても、独自のデータセットからこれらの資産を生成できるため、ML.NET を既に知っている場合でも生産性が向上します。
現在、ML.NET CLI でサポートされている ML タスクは次のとおりです。
- 分類
- 回帰
- 勧告
- 画像分類
- 予測
- 列車
ML.NET CLI は、次のコマンドを使用して、オペレーティング システムとそのアーキテクチャに基づいてインストールできます。
dotnet tool install --global mlnet-<OS>-<ARCH>
たとえば、x64 バージョンの Windows は次のようにインストールできます。
dotnet tool install --global mlnet-win-x64
詳細については、「ML.NET CLI のインストール ハウツー ガイド」を参照してください。
使用例 (分類シナリオ):
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10
mbconfig ファイルを使用してトレーニングできるコマンドもあります。 mbconfig ファイルは、モデル ビルダー セッションを開始するときに作成されます。
コマンドラインからの分類を行う
生成された出力資産
CLI の ML タスク コマンドは、出力フォルダーに次の資産を生成します。
- C# ソリューションの内容:
- 生成されたモデルを実行/スコア付けするコンソール アプリ (そのモデルを使用してエンドユーザー アプリで予測を行います)。
- そのモデルの生成に使用されるトレーニング コードを含むコンソール アプリ (学習目的またはモデルの再トレーニング用)。
- このシリアル化されたモデル ("最適なモデル") は、予測の実行に使用できる圧縮 .zip ファイルとしても提供されます。
- mbconfig ファイル。モデル ビルダーでモデルを開くことができる構成データが含まれています。
- 詳細な構成/パイプラインを含め、評価された複数のアルゴリズム間のすべてのイテレーション/スイープの情報を含むログ ファイル。
最初の 2 つの資産は、エンドユーザー アプリ (コア Web アプリ、サービス、デスクトップ アプリ ASP.NET など) で直接使用して、生成された ML モデルで予測を行うことができます。
3 つ目の資産であるトレーニング コードは、生成されたモデルをトレーニングするために CLI によって使用された ML.NET API コードを示しています。そのため、モデルを再トレーニングし、CLI と AutoML によって選択された特定のトレーナー/アルゴリズムとハイパーパラメーターを調査して反復処理することができます。
モデルの品質を理解する
CLI ツールを使用して "最適なモデル" を生成すると、ターゲットとする ML タスクに適した品質メトリック (精度や R-2 乗など) が表示されます。
ここでは、これらのメトリックを ML タスク別にグループ化して、自動生成された "最適なモデル" の品質を理解できるようにします。
分類モデルのメトリック
次の図は、CLI によって検出された上位 5 つのモデルの分類メトリックの一覧を示しています。
上位 5 つのモデル の
精度は分類の問題で一般的なメトリックですが、次のリファレンスで説明されているように、精度が最適なモデルを選択するのに最適なメトリックであるとは限りません。 追加のメトリックを使用してモデルの品質を評価する必要がある場合があります。
CLI によって出力されるメトリックを調べて理解するには、分類の
回帰モデルとレコメンデーション モデルのメトリック
回帰モデルは、観測値とモデルの予測値の差が小さく偏っていない場合に、データに適合します。 回帰は、特定のメトリックで評価できます。
CLI で見つかった上位 5 つの品質モデルの同様のメトリックの一覧が表示されます。ただし、この場合、上位 5 つのメトリックは回帰 ML タスクに関連しています。
上位 5 つのモデルの
CLI によって出力されるメトリックを調べて理解するには、「回帰の評価メトリック
関連項目
.NET