機械学習(ML)は、アプリケーションに含めると便利な流行語から、機能して付加価値をもたらす必須の機能になりました。データサイエンティストは、TensorFlow、Scikit-learn、PyTorch、Azure MLなどのさまざまなMLフレームワークでMLモデルを開発します。ML.NETがすべての開発者に利用可能になる前は、ML機能を.NETアプリケーションに追加するには、いくつかのMLフレームワークの知識が必要でした。 MLモデルをトレーニングします。また、そのモデルを.NETアプリケーションに統合するために追加の時間と労力が必要でした。
ML.NETは、カスタムMLモデルを構築、トレーニング、および展開するためのグラフィカルなVisualStudio拡張機能であるModelBuilderを使用して、.NET開発者にとってこの作業を非常に簡単にしました。 ML.NETのモデルビルダーとそのAutoML機能を使用すると、私などの機械学習の専門知識がない開発者でも、数分以内にMLモデルを開発して使用できます。
ML.NETについて
この例に飛び込む前に、ML.NETの歴史とその現在の状態について少し話しましょう。
ML.NETは、「テストマイニングの検索とナビゲーション」の略であるTMSNという名前の2002年のMicrosoftResearchプロジェクトに端を発しています。その後、TLC、「学習コード」に名前が変更されました。 TLCライブラリから派生したML.NET戦争。当初は、社内のMicrosoft製品で使用されていました。
最初の公開バージョンML.NET1.0は2019年にリリースされました。これには、Model BuilderアドインとAutoML(自動機械学習)機能が含まれていました。
現在のバージョンは1.6.0です。すべてのリリースの詳細については、ML.NETの公式リリースページをご覧ください。
ML.NETで実行できるタスクは次のとおりです。
–感情分析
–製品の推奨事項
–価格予測
–顧客セグメンテーション
–オブジェクト検出
–不正検出
–売上高の急上昇の検出
–画像分類
–売上予測
インストールとセットアップ
最低限必要なVisualStudioのバージョンは16.6.1です。次の手順は、VisualStudio16.9.2で実行されます。したがって、別のバージョンを使用している場合は、一部の詳細が異なる可能性があります。
ML.NETモデルビルダーのインストール
- VisualStudioインストーラーを開く
- .NETデスクトップ開発を確認してください オプション
- 右側のペインで、.NETデスクトップ開発>を展開します。 オプションを展開します > ML.NET Model Builder(プレビュー)を確認してください
注:ML.NET Model Builderは、.NETクロスプラットフォーム開発で利用できます。 オプション。

VisualStudioでML.NETモデルビルダーを有効にする
- ツールに移動します >オプション >環境 >プレビュー機能
- ML.NETモデルビルダーを有効にするを確認します チェックボックス

MLモデルの構築
プロジェクトを右クリックして、追加を選択します >機械学習

シナリオを選択
テキスト分類–を選択します 簡単な感情分析機能を追加します:

トレーニング環境を選択
私たちの場合、それはローカルマシンです。

データを追加
UCI SentimentLabeledSentencesデータセットZIPファイルを使用します ダウンロード可能です。

予測する出力を選択します
この場合は2番目の列なので、 col1を選択します 。使用できる列は2つしかないため、入力列は自動的に選択されます。

モデルをトレーニングする
トレーニングする時間を選択し、トレーニングの開始をクリックします :

以下の画像は、出力とトレーニングの結果を示しています。


モデルを評価する
Janice was niceと入力すると サンプルデータ入力に、出力はこの文が100%確実に肯定的であることを示しています:

Janiceは失礼でしたと入力すると サンプルデータ入力に、出力はこの文が100%確実に肯定的ではないことを示しています:

MLモデルの展開と消費
残っているのは、アプリケーションで作成したモデルを使用することだけです。 MLモデルプロジェクトへの参照を追加する必要があります。


また、NuGetからMicrosoft.MLをインストールする必要があります。


Microsoft.MLはx64のみをサポートします およびx86 プロセッサアーキテクチャ。したがって、アプリを作成するときは、必ずそのうちの1つを選択してください。

そしてそれがすべてです。ここで、コードの動作を確認できます。

結論
ML.NETのインストールから、ML機能を備えた最初のアプリケーションまでの全プロセスは、数分で完了します。もちろん、これはML.NETフレームワークに精通することを唯一の目的とする非常に基本的な例です。ただし、事前の経験がなくても、いくつかの調整と改善を行うことで、実際のシナリオで実際に機能するアプリケーションを構築できました。
とはいえ、ML.NETはツールです。機械学習のアルゴリズムと原理に関する知識が増えると、より効率的に使用できるようになります。
最後まで頑張っていただきありがとうございます。ML.NETの次の記事にぜひご参加ください。