ROC曲線ツールの利用¶
ROC曲線ツールでは、特定のモデルの分類性能が仕様を満たしているかどうかを判断するのに役立つ可視化および指標を提供します。 そのタブのROC曲線とその他のチャートは、計算されたしきい値のサンプルに基づいていることを理解することが重要です。 つまり、DataRobotはすべてのデータのしきい値を計算します。その後、サンプリングによりパフォーマンスが向上する(UIで結果をより迅速に返す)ため、可視化には最大120のしきい値(分位に基づく代表的な選択)を使用します。 手動計算の方が若干精度が高いため、最初に自動生成された計算と手動で生成された計算が完全に一致することはありません。
ROC曲線による可視化のメリット
モデルは0から1までの値で、数千万、数億とは言わないまでも、数百万もの独自の可能性を持つ確率を生成します。 しかし、モデルの結果に基づいて実行するのは、たとえばオファーを送るか送らないかといった二者択一です。 これらの確率をすべて二者択一に「変換」するには、しきい値(「確率がX%を超える場合はオファーを送信する」)を選択します。 しきい値によって、False PositivesとTrue Positivesという2つの値が作成され、グラフにプロットすることができます。 しきい値を変更すると、False PositiveとTrue Positiveの数が変わります。 しきい値が非常に低いとFalse Positiveが多くなり、しきい値が高いとFalse Positiveがゼロになります。
概念的には、False Positivesが低く、True Positivesが高いことが最良の結果(優れたモデルによって得られる結果)です。 ROC曲線においては、False Positivesが低く、True Positivesが高いことを表している左上のポイントが必要とされます。 コイントス程度の性能のモデルでは、45度の線が表示されます。
ROC曲線ツールへのアクセス¶
-
ROC曲線タブにアクセスするには、リーダーボードに移動し、評価したいモデルを選択して、評価 > ROC曲線をクリックします。 ROC曲線タブには、以下で説明する一連の対話型グラフィカル表示が用意されています。
ヒント
この視覚化は、スライスされたインサイトに対応しています。 スライスを使用すると、特徴量値に基づいてモデルのデータの部分母集団をユーザー設定で定義でき、モデルがさまざまなデータセグメントに対してどのように動作するかをよりよく理解するのに役立ちます。 詳細については、完全なドキュメントを参照してください。
要素 説明 1 データ選択 可視化するデータソースを選択します。 データソースには、パーティション(ホールドアウト、交差検定、検定)や外部テストデータを使用できます。 データソースを選択すると、ROC曲線による可視化は、新しいデータを反映して更新されます。 2 データスライス 二値分類のみ。 インサイト内に表示する部分母集団を定義するフィルターを選択します。 3 表示しきい値 「偽」に分類される予測と「真」に分類される予測を区別する表示しきい値を選択します。 4 エクスポート CSV、PNGまたはZIPファイルにエクスポートします。 - 生成されたROC曲線または収益曲線からデータをCSVファイルとしてダウンロードする
- ROC曲線、収益曲線、予測分布グラフ、累積ゲインチャート、または累積リフトチャートのPNGをダウンロードする
- CSVとPNGの全ファイルが入ったZIPファイルをダウンロードする
5 予測分布 予測分布グラフを使って、分類モデルがどの程度PositiveクラスとNegativeクラスを識別しているかを評価します。 このグラフでは、設定した予測しきい値に基づいて、「真」に分類された予測と「偽」に分類された予測が区別されます。 6 チャートセレクター 表示するチャートのタイプを選択します。 ROC曲線(デフォルト)、平均収益、プレシジョンリコール、累積リフト(Positive/Negative)、累積ゲイン(Positive/Negative)から選択します。 独自のカスタムチャートを作成することもできます。 7 行列セレクター 表示する行列のタイプを選択します。 デフォルトでは、混同行列が表示されます。 混同行列のデータをインスタンス数で表示するか、パーセンテージで表示するかを選択することができます。 代わりにペイオフ行列を作成して、収益曲線を生成および表示することもできます。 8 + ペイオフを追加 ペイオフ値を入力して収益曲線を生成し、モデルのビジネスインパクトを見積もることができます。 ペイオフを追加をクリックすると、まだ表示されていない場合は、行列ペインにペイオフ行列が表示されます。 行列でペイオフ値を調整し、チャートペインを平均収益に設定して、インパクトを表示します。 9 指標 選択したしきい値でのモデルのパフォーマンスを示すサマリー統計情報を表示します。 指標を選択メニューで、一度に表示する指標を最大6つまで選択できます。 -
これらのコンポーネントを使用するには、データソースと表示しきい値(「真」と「偽」に分類された予測を区別)を選択します。各コンポーネントは連携して、そのしきい値に基づくモデルの分類動作の対話型スナップショットを提供します。
備考
ROC曲線タブで提供している要素の多くが、ウィキペディアのページや一般的なインターネットサイトで詳しく説明されています。 その一部を以降のセクションで簡単に取り上げます。
分類のユースケース¶
以下のセクションでは、2つの二値分類のユースケースのいずれかを使用して、前述の概念を具体的に説明します。 どちらのユースケースも、データセットの各行が1人の患者を表し、特徴量(列)には患者の病状に関する説明的な特徴量が含まれています。
ROC曲線とは、モデルの分類性能を、確率スケール上の全ポイントにおける関連パフォーマンス統計データの変化としてグラフで示したものです。 報告された統計情報を理解するには、分類問題で考えられる4つの結果を理解する必要があります。これらの結果が混同行列の基礎となります。
分類のユースケース1¶
ユースケース1では、患者が糖尿病であるかどうかを尋ねます。 この架空のデータセットには、カテゴリー値と数値の両方が含まれ、患者が糖尿病であるかどうかを示しています。ターゲット特徴量であるhas_diabetes
はカテゴリー値であり、患者が糖尿病である(has_diabetes=1
)、または糖尿病ではない(has_diabetes=0
)ことを示しています。 数値特徴量やその他のカテゴリー型特徴量は、血圧、支払者コード、処置回数、入院日数などの項目を示しています。 ユースケース1の結果とその説明は次のとおりです。
出力 | 説明 |
---|---|
True Positive (TP) | モデルは陽性のインスタンスを正しく陽性として分類する。 例: 糖尿病患者が糖尿病であると正しく診断される |
False Positive (FP) | モデルは陰性のインスタンスを誤って陽性として分類する。 例: 健康な人が糖尿病であると誤って診断される |
True Negative (TN) | モデルは陰性のインスタンスを正しく陰性として分類する。 例: 健康な人が健康であると正しく診断される |
False Negative (FN) | モデルは陽性のインスタンスを誤って陰性として分類する。 例: 糖尿病患者が健康であると誤って診断される |
次の点により、結果を使用する統計的根拠を示すことができます。
- 正しい予測:
- 間違った予測:
- 総スコアリング件数:
- 誤り率:
- 全体的な精度(予測が正しい確率):
分類のユースケース2¶
ユースケース2は、糖尿病患者が再入院するかどうか(ターゲット特徴量)を判断しようとするモデルです。 この架空のデータセットには、カテゴリー値と数値の両方が含まれ、患者が30日以内に再入院するかどうかを示しています(ターゲットvariable=readmitted
)。 このカテゴリー値は、患者が30日以内に再入院するか(readmitted=1
)、その期間内に再入院しないか(readmitted=0
)を示します。その他のカテゴリー値には、入院IDや支払者コードなどがあります。 数値特徴量は、血圧、処置回数、入院日数などを示しています。
備考
DataRobotでは、二値分類のターゲット(一意の値が2つあるターゲット)に対して作成されたモデルのみ、ROC曲線タブが表示されます。