Azure Machine Learningで多項分類を試してみた。

それでは作成した多項分類モデルでサンプルデータの分類を行ってみましょう。

モデルを実行する場合には「RUN」をクリックします。

モデルの作成から1500個の分類、評価を行うのにかかった時間は約30秒でした。

分類結果の精度を確認する場合には、「Evaluate Model」を右クリックして「Evaluation Results」→「Visualize」を選択します。

「Visualize」ではAccuracy (正答率)、Precision (精度)、Recall (再現率)の情報が取得できます。これらの値は1に近いほど良好な分類結果となることを示します。

また、マトリクス図では、実際のパターンに対して予測がどのパターンに分類したかを割合で示しており、右下がりの対角線方向がパターンごとの正答率になります。

以下は、初めに示したサンプルの結果になりますが、たった30秒で95%を正しく分類できていました。

サンプルに付加するノイズの標準偏差を1、3、5と変化させた場合の分類の精度を確かめてみました。標準偏差が大きいほどにノイズが大きくなるため、分類の精度は低下していきますが、パラメータの期待値4.5に対して100%以上の標準偏差のノイズを付加しても、65~80%の正答率と良好な分類ができていることが分かります。

また、同サンプルデータでパラメータ数を半分の5個にして同様の分類を行いました。パラメータ数を減少したものでは、正答率が40~60%程度と低くなっており、有意なパラメータが多いほど分類精度が上がることが分かりました。

「One-vs-All Multiclass」モジュール

「One-vs-All Multiclass」モジュールを使うと、二項分類モジュールを多項分類に適用することができます。

二項分類モジュールを「Train Model」に接続すると多項分類のサンプルであっても、二項分類として結果が出力されます。

「One-vs-All Multiclass」モジュールを介して「Train Model」に接続すると二項分類モジュールでありながら、多項分類の結果が出力できます。

現状では多項分類アルゴリズムは4種類しかありませんが、「One-vs-All Multiclass」を使うことで、事実上、二項分類アルゴリズムを含めた13種類のアルゴリズムが使用可能となります。

いかがでしたでしょうか。

一見して関係性のわからないような数値の羅列でも、機械学習であれば教師データとパターンの対応を識別して分類してくれるため、情報の分類に苦心されている方は一度試してみてはいかがでしょうか。

次回もお楽しみに!!

この記事を書いた人

azure-recipe-user