モデルの評価

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

標準メトリックを使用して分類または回帰モデルの結果を評価します

カテゴリ: Machine Learning/評価

注意

適用対象: Machine Learning Studio (クラシック) のみ

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

モジュールの概要

この記事では、Machine Learning Studio (クラシック) でモデルの評価モジュールを使用して、トレーニング済みのモデルの精度を測定する方法について説明します。 モデルから生成されたスコアを含むデータセットを指定すると、Evaluate Model (モデルの評価) モジュールが業界標準の一連の評価メトリックを計算します。

Evaluate Model (モデルの評価) で返されるメトリックは、評価するモデルの種類によって異なります。

レコメンデーション モデルの場合は、 Evaluate Recommender モジュールを使用します。

ヒント

モデルの評価を新たに行う場合は、Azure AI ギャラリーでこれらのサンプルをお勧めします。このサンプルでは、モデルを構築し、関連するメトリックを使用する方法について説明します。

また、EdX の 機械学習コース の一環として、Stephen Elston 博士によるビデオ シリーズもお勧めします。

モデルの評価の使用方法

モデルの評価モジュールを使用するには、次の 3 つの方法があります。

  • トレーニング データのスコアを生成し、これらのスコアに基づいてモデルを評価する
  • モデルでスコアを生成するが、これらのスコアを予約済みのテスト セットでのスコアと比較する
  • 同じデータ セットを使用して、2 つの異なるが関連するモデルのスコアを比較する

トレーニング データを使用する

モデルを評価するには、入力列とスコアのセットを含むデータセットを接続する必要があります。 他に使用できるデータがない場合は、ご自分の元のデータセットを使用できます。

  1. モデルのスコア付けデータセット出力をモデル評価の入力にConnectします。
  2. Evaluate Model (モデルの評価) モジュールをクリックして、[Run selected]\(選択項目の実行\) を選択して評価スコアを生成します。

テスト データを使用する

機械学習における一般的なシナリオは、Split (分割) モジュール、または Partition and Sample (パーティションとサンプル) モジュールを使用して、元のデータ セットをトレーニングとテストのデータセットに分離することです。

  1. Score Model (モデルのスコア付け)Scored dataset (スコア付けされたデータセット) 出力を Evaluate Model (モデルの評価) の入力に接続します。
  2. テスト データを含むデータの分割モジュールの出力を、Evaluate Model (モデルの評価) の右側の入力に接続します。
  3. Evaluate Model (モデルの評価) モジュールをクリックして、[Run selected]\(選択項目の実行\) を選択して評価スコアを生成します。

2 つのモデルのスコアを比較する

スコアの 2 番目のセットを Evaluate Model (モデルの評価) に接続することもできます。 スコアは、既知の結果または同じデータの異なるモデルからの一連の結果を使用する共有評価セットである場合があります。

この機能は、同じデータで 2 つの異なるモデルの結果を簡単に比較できるので便利です。 または、異なるパラメーターを使って同じデータに対する 2 つの異なる実行からのスコアを比較することもできます。

  1. モデルのスコア付けデータセット出力をモデル評価の入力にConnectします。
  2. 2 つ目のモデルのモデルのスコア付けモジュールの出力を Evaluate Model (モデルの評価) の右側の入力に接続します。
  3. Evaluate Model (モデルの評価) を右クリックして、[Run selected]\(選択項目の実行\) を選択して評価スコアを生成します。

結果

Evaluate Model (モデルの評価) の実行後、モジュールを右クリックして [Evaluation results]\(評価結果\) を選択し、結果を表示します。 次のようにすることができます。

  • 他のツールでの分析を簡単にするため、データセットとして結果を保存する
  • Studio (クラシック) インターフェイスで視覚エフェクトを生成する

データセットを Evaluate Model (モデルの評価) の両方の入力に接続すると、結果には両方のデータのセットまたは両方のモデルのメトリックが含まれます。 左側のポートにアタッチされたモデルまたはデータがレポートの最初に表示され、次に右側のポートにアタッチされているデータセットまたはモデルのメトリックが表示されます。

たとえば、次の図は、同じデータで異なるパラメーターを使用して構築された 2 つのクラスタリング モデルからの結果の比較を表しています。

AML_Comparing2Models

これはクラスタリング モデルであるため、評価結果は 2 つの回帰モデルからのスコアを比較した場合、または 2 つの分類モデルを比較した場合とは異なります。 ただし、全体的な表示は同じです。

メトリック

このセクションでは、Evaluate Model (モデルの評価) で使用するためにサポートされているモデルの特定の種類に対して返されるメトリックについて説明します。

分類モデルのメトリック

分類モデルを評価するときに、次のメトリックが報告されます。 モデルを比較すると、評価のために選択したメトリックによってモデルが順位付けされます。

  • Accuracy (正確性) は、分類モデルの利点をケース全体に対する真の結果の割合として測定します。

  • Precision (精度) は、すべての肯定的な結果に対する真の結果の割合です。

  • Recall (再現率) は、モデルによって返されるすべての正しい結果の割合です。

  • F-score (F スコア) は、精度と再現率の加重平均として、0 から 1 の範囲で計算されます。理想的な F スコアの値は 1 です。

  • AUC は、真陽性 を x 軸に、偽陽性を y 軸にプロットした曲線の下の領域を測定します。 このメトリックは、さまざまな種類のモデルを比較できる単一の数値を提供するのに役立ちます。

  • Average log loss (平均ログ損失) は、誤った結果のペナルティを表すために使用される 1 つのスコアです。 これは 2 つの確率分布 (真の確率とモデル内の確率) の間の差として計算されます。

  • Training log loss (トレーニング ログ損失) は、ランダムな予測に対する分類子の利点を表す 1 つのスコアです。 ログ損失は、モデルがラベル内の既知の値 (グラウンド トゥルース) に出力する確率を比較することによって、モデルの不確実性を測定します。 モデル全体のログ損失を最小限にすることが目標です。

回帰モデルのメトリック

回帰モデルに対して返されるメトリックは通常、エラーの量を見積もるために設計されています。 観察された値と予測された値の差が小さい場合は、モデルがデータとうまく適合しているとみなされます。 ただし、残差のパターン (任意の 1 つの予測ポイントとそれに対応する実際の値の差) を調べることで、モデル内の潜在的なバイアスに関して多くのことがわかります。

回帰モデルを評価するために次のメトリックが報告されます。 モデルを比較するときに、評価のために選択したメトリックによってモデルが順位付けされます。

  • 負の対数尤度 は損失関数を測定し、低いスコアが優れています。 このメトリックは、 ベイジアン線形回帰デシジョン フォレスト回帰に対してのみ計算されることに注意してください。他のアルゴリズムの場合、値は Infinity 何も意味しません。

  • Mean absolute error (MAE) (平均絶対誤差 (MAE)) は、予測が実際の結果とどのくらい近いかを測定します。そのため、スコアは低いほど良好です。

  • Root mean squared error (RMSE) (二乗平均平方根誤差 (RMSE)) は、モデル内のエラーをまとめた 1 つの値を作成します。 差を 2 乗することで、メトリックは過剰予測と過小予測との差を無視します。

  • Relative absolute error (RAE) (相対絶対誤差 (RAE)) は、予測した値と実際の値との相対的な絶対差です。相対なのは、平均の差が算術平均で除算されるからです。

  • Relative squared error (RSE) (相対二乗誤差 (RSE)) は、予測された値の二乗誤差の合計を、実際の値の二乗誤差の合計で除算することで、同様に正規化します。

  • Mean Zero One Error (MZOE) (ゼロワン誤差平均 (MZOE)) は、予測が正しかったかどうかを示します。 つまり、x!=y のときは ZeroOneLoss(x,y) = 1 で、それ以外の場合は 0 です。

  • Coefficient of determination (決定係数) (大抵は R2 と呼ばれます) は、モデルの予測能力を 0 から 1 の値で表します。 ゼロはモデルがランダム (何も説明しない) であることを意味し、1 は完全一致があることを意味します。 ただし、R2 値の解釈には注意が必要です。低い値はまったく正常で、高い値は疑わしい場合があります。

クラスター モデルのメトリック

クラスター モデルは、多くの点で分類モデルと回帰モデルと大きく異なるため、モデルの評価ではクラスター モデルに対して別の統計セットも返されます。

クラスター モデルに対して返される統計には、各クラスターに割り当てられたデータ ポイントの数、クラスター間の間隔、各クラスター内でのデータ ポイントの集中度合いが示されます。

クラスター モデルの統計は、クラスターごとの統計を含む追加の行と共に、データセット全体で平均化されます。

たとえば、次の結果は、PIMA インド糖尿病二項分類データセット (Machine Learning Studio (クラシック) で使用できるデータをクラスター化するサンプル実験の結果の一部を示しています。

結果の説明 クラスター センターまでの平均距離 その他の中心までの平均距離 点の数 クラスター センターまでの最大距離
結合された評価 55.915068 169.897505 538 303.545166
クラスターの評価 No.0 0 1 570 0
クラスターの評価 No.1 0 1 178 0
クラスターの評価 No.2 0 1 178 0

これらの結果から、次の情報が得られます。

  • スイープ クラスタリング モジュールは、精度の順に一覧表示された複数のクラスタリング モデルを作成します。 わかりやすくするために、ここでは最もランクの高いモデルのみを示しました。 モデルは可能なすべてのメトリックを使用して測定されますが、モデルは指定したメトリックを使用してランク付けされます。 メトリックを変更した場合、別のモデルが上位にランク付けされる可能性があります。

  • 結果の各セクションの上部にある 結合された評価 スコアには、その特定のモデルで作成されたクラスターの平均スコアが一覧表示されます。

    この最上位のモデルでは、3 つのクラスターが作成されました。他のモデルでは、2 つのクラスターまたは 4 つのクラスターが作成される場合があります。 したがって、この組み合わせ評価スコアは、異なる数のクラスターを持つモデルを比較するのに役立ちます。

  • Average Distance to Cluster Center (クラスターの中心への平均距離) のスコアは、クラスター内のすべてのポイントからそのクラスターの重心までの近さを表します。

  • Average Distance to Other Center (その他の中心への平均距離) のスコアは、クラスター内の各ポイントが他のすべてのクラスターの重心に平均でどれだけ近いかを表します。

    この距離を測定するには 4 つのメトリックのいずれかを選択できますが、すべての測定値で同じメトリックを使用する必要があります。

  • Number of Points (ポイントの数) 列には、各クラスターに割り当てられたデータ ポイントの数と、クラスター内のデータ ポイントの総数が示されます。

    クラスターに割り当てられたデータ ポイントの数が、使用可能なデータ ポイントの総数よりも少ない場合は、データ ポイントがクラスターに割り当てられなかったことを意味します。

  • 列のスコアである [最大クラスター中心までの距離] は、各ポイントと、そのポイントのクラスターの重心間の距離の合計を表します。

    この数が大きい場合は、クラスターが広範囲に分散していることを意味する可能性があります。 この統計情報は、 クラスター センターまでの平均距離 と共に確認して、クラスターの分散を判断する必要があります。

評価メトリックを生成、視覚化、解釈する方法の例については、 Azure AI ギャラリーでこれらのサンプル実験を参照してください。 次の実験では、複数のモデルの構築方法と、評価モデルを使用してどのモデルが最適かを見極める方法について示します。

  • バイナリ分類子の比較: 同じデータを使用して構築されたさまざまな分類子のパフォーマンスを比較する方法について説明します。

  • 複数クラス分類子の比較: 文字認識データセットに基づいて構築されたさまざまな分類モデルの精度を比較する方法を示します。

  • リグレッサーの比較: さまざまな回帰モデルを評価するプロセスについて手順を示します。

  • 需要見積もり: 複数のモデルから評価メトリックを組み合わせる方法について説明します。

  • 顧客関係の予測: 複数の関連モデルを評価する方法を示します。

想定される入力

名前 Type 説明
スコア付けされたデータセット データ テーブル スコア付けされたデータセット
比較するスコア付きのデータセット データ テーブル 比較するスコア付きデータセット (オプション)

出力

名前 Type 説明
評価結果 データ テーブル データ評価結果

例外

例外 説明
エラー 0003 1 つまたは複数の入力が null または空の場合、例外が発生します。
エラー 0013 渡されたモジュール学習器の型が無効の場合に、例外が発生します。
エラー 0020 モジュールに渡された一部のデータセットの列の数が少なすぎる場合、例外が発生します。
エラー 0021 モジュールに渡された一部のデータセットの行の数が少なすぎる場合、例外が発生します。
エラー 0024 データセットにラベル列が含まれていない場合、例外が発生します。
エラー 0025 データセットにスコア列が含まれていない場合、例外が発生します。

関連項目

モデルのクロス検証
レコメンダーの評価
Evaluate
モデルのスコア付け