混同行列(多クラス分類モデル)¶
本機能の提供について
多クラスプロジェクトで無制限のクラスを利用できるかどうかは、お客様のDataRobotのパッケージによります。 お客様の組織で有効になっていない場合、クラス制限は100に設定されています。この制限を増やすには、DataRobotの担当者にお問い合わせください。
多クラス分類モデルの場合、DataRobotでは、モデルのパフォーマンスの評価に役立つ多クラス混同行列が提供されます。 混同行列は、実際のデータ値と予測データ値を比較するので、誤ったラベル設定が行われたかどうか、およびどの値で誤ったラベル設定が行われたかを容易に把握できます。
多クラスモデルの操作に関する 考慮事項を参照してください。
背景情報¶
一般的に、予測問題には連続値と分類の2つの種類があります。 連続値問題は、連続値(1.7, 6, 9.8…)を予測します。 一方、分類問題は、値を不連続のクラス(購買、販売、保有...)に分類します。
分類は二値問題と多クラス問題に分けることができます。
-
二値分類では、クラスは2つだけです。 この例には、顧客が期日までに決済するかどうか(YesまたはNo)、患者が再入院するかどうか(TrueまたはFalse)などがあります。 モデルは、特定の観測値が「ポジティブ」クラス(最後の例では
readmitted=yes
)に分類される予測確率を生成します。 デフォルトでは、予測確率が50%以上の場合、予測クラスは「ポジティブ」になります。 -
一方、多クラス分類問題では、2つ以上の結果(クラス)が提供されます。 たとえば、顧客が(商品を購入するかどうかだけではなく)5つの競合企業のどれを選択するかという問題が考えられます。 または、(単に誰かが電話をかける可能性があるかどうかではなく)通話をどの部署に転送すべきかという問題も考えられます。この場合、モデルは、特定の観測値が各クラスに分類される予測確率を生成します。予測クラスは、予測確率が最も高いクラスです。 (これは argmaxとも呼ばれます。) 多クラス分類問題でクラスオプションを追加すると、選択式の質問を増やすことができ、より詳細なモデルと解が得られます。
DataRobotでは、ターゲット特徴量の値の数に応じてプロジェクトタイプ、およびプロジェクトの種類(標準多クラス、拡張多クラス、または無制限の多クラス)が自動的に決定されます。 次の表は、DataRobotが数値および非数値のターゲットデータ型にデフォルトの問題タイプを割り当てる方法を示しています。
ターゲットデータ型 | 一意のターゲット値の数 | デフォルトの問題タイプ | 多クラスを使用しますか? |
---|---|---|---|
数値 | 3-10 | 連続値 | はい。オプション |
数値 | >10 | 連続値 | はい。オプション(拡張多クラス) |
数値以外 | 2 | 二値 | いいえ |
数値以外 | 3-100 | 多クラス | はい。自動 |
数値以外、数値 | 100+ | 無制限の多クラス | はい。自動(有効な場合) |
多クラスモデルの構築¶
多クラスモデリングでは、二値または連続値プロジェクトと同じ一般モデル構築ワークフローを使用します。
- データターゲットをインポートし、ターゲットを指定します。
- 該当する場合、多クラスに連続値プロジェクトを変更します。
- 1,000クラスを超える無制限の多クラスプロジェクトの場合、集約設定を変更できます。 それ以外の場合、DataRobotは、デフォルトでは、頻度上位999位のクラスを維持し、残りの部分を単一の「他の」バケットに集計します。
- 混同行列を使用してモデルのパフォーマンスを評価します。
連続値プロジェクトから多クラスプロジェクトへの変更¶
ターゲット特徴量を入力すると、プロジェクトのタイプが分類され、デフォルトがターゲット特徴量の横のタグで示されます。
問題が連続値として分類され、多クラスに変換できる場合、ターゲット入力ボックスの下に分類に切り替えリンクが表示されます。 リンクをクリックすると、プロジェクトが分類問題に変換されます(値は連続値ではなく分類として解釈されます)。 ユニーク値の数が許容範囲外にある場合、分類に切り替えリンクは使用できません。
多クラスの適用対象とは?
プロジェクトが「多クラスに対応しているかどうか」は設定によって異なります。 無制限の多クラスが有効な場合、すべてのプロジェクトを変換できます。 無制限の多クラスがない場合、一意の数値が100個以下の場合は数値を多クラスに変換できます。
連続値に切り替えをクリックすると、プロジェクトタイプが分類からデフォルトの連続値設定に戻ります。
トレーニング方法を設定したら、指標を確認または変更し、モデリングモードを選択します。開始をクリックします。
無制限の多クラス¶
組織で有効な場合、無制限の多クラスはターゲット特徴量に含まれるクラスの数が100個未満のプロジェクトを処理できます。 1000クラスを超えるターゲットを含むプロジェクトの場合、DataRobotは多クラス集計を使用してモデリングクラス数を1000にします。
無制限の多クラス集計の設定¶
1000クラスをサポートするため、DataRobotは頻度に基づいて、クラスを自動集計して、1000個の一意のラベルにします。 しかし、集計パラメーターを設定して、プロジェクトに必要なすべてのクラスが表示されるように設定することもできます。
DataRobotは、検出されたクラスの数に基づいて、内訳を処理します。
- 101~1000クラスの場合、モデリングは通常通り継続します。
- 1000クラス以上の場合、ターゲット入力フィールドの下に注意が表示されます。
注意が表示された場合、DataRobotによる集計の処理を許可できます。 この場合、999クラス(最も頻度の高い999クラス)があります。 他のクラスはすべて、1000番目クラス—「その他」に固定されます。しかし、特徴量制約の高度な設定で集計設定を行うことはできます。 フィールドの説明と集計例については特徴量制約を参照してください。
備考
1,000クラス未満の多クラスプロジェクトでも集計設定を使用できます。
特徴量のインパクトの変更¶
100クラスを超えるプロジェクトでは、特徴量のインパクトの可視化では、クラスごとのインパクトではなく、集計された特徴量のインパクトのみをチャート化します。 その理由は以下のとおりです。
- 集計されたクラスのみを使用すると、実行時間が改善する。
- 各クラスのインスタンスはカウントが比較的低いため、集計されたスコアよりもスコアの信頼性が低くなる。
そのため、クラスを選択ドロップダウンはチャートでは使用できません。
混同行列の概要¶
いずれの分類プロジェクトタイプでも、DataRobotでは、モデルのパフォーマンスの評価に役立つ混同行列が構築されます。 「混同行列」という名前は、1つのクラスを別のクラスとして一貫した形で誤ったラベル設定(混同)を行うことにより、モデルがどのように2つ以上のクラスを混同するかを意味します。 混同行列は、実際のデータ値と予測データ値を比較するので、誤ったラベル設定が行われたかどうか、およびどの値で誤ったラベル設定が行われたかを容易に把握できます。
問題タイプに固有の混同行列は、二値分類(ROC曲線)と多クラス問題の両方で利用できます。 多クラス混同行列にアクセスするには、最初にモデルを作成し、評価グループから混同行列を選択します。
このタブでは、各多クラス分類モデルに2つの混同行列テーブル(多クラス分類混同行列と選択されたクラスの混同行列)が表示されます。 プロジェクトの構築に使用したトレーニングデータの結果に基づいて、両方の行列で各クラスの予測値と実測値が比較され、グラフィック要素によってクラスの誤ラベルが示されます。 多クラス分類混同行列は、選択したターゲットに対して見つかった各クラスの概要を示し、選択されたクラスの混同行列は特定のクラスを分析します。 これらの比較から、DataRobotモデルのパフォーマンスを判断することができます。
混同行列タブで使用できる要素を以下に示します。
オプション | 説明 | |
---|---|---|
1 | 行列 | 見つかったすべてのクラスの概要。 |
2 | データ選択 | データパーティションセレクター。 |
3 | 表示モード | 表示に影響を与えるモード。 |
4 | 表示オプション | 表示オプションのメニュー。 |
5 | 行列の詳細 | 数値頻度の詳細。 |
6 | クラスセレクター | 個々のクラスセレクター。 |
7 | 選択されたクラスの混同行列 | クラス固有の行列。 |
8 | 拡張クラス混同行列サムネイル | 拡張クラスのサムネイル。 |
大きい混同行列¶
この行列は、データセット内で選択したターゲットに対してDataRobotで認識された各クラス(値)の概要を表示します。 異なった色およびサイズの円を使用して分類予測の結果がレポートされます。 色は予測の精度を示します。緑の円は正しい予測を表し、赤い円は間違った予測を表します。 円のサイズは、正しい予測と誤った予測の(行数に基づく)発生数の視覚的なインジケーターです(「製品問題」が予測されていても、実測値は「不適切なサポート」であった場合の行数など)。
多クラスのタイプによって行列のデフォルトのサイズは異なります。
- 100クラスまでは、行列は10個の特徴量✕10個の特徴量となります。
- 100クラスを超える場合、行列は25個の特徴量✕25個の特徴量となります。
多クラス分類混同行列でいずれかの正しい予測(緑の円)をクリックします。そのクラスの追加の詳細が、行列の右側に表示され、分析できるようになります。
データ選択¶
多クラス分類混同行列の構築に使用されるデータは、プロジェクトタイプに依存し、データ選択ドロップダウンを使用して変更できます。 選択したオプションは、表示を変更して、プロジェクトの履歴(トレーニング)データの選択されたサブセットを反映します。
-
非時間認識プロジェクトの場合、検定、交差検定、またはホールドアウト(ロック解除されている場合)パーティションのデータが使用されます
-
時間認識プロジェクトの場合、個々のバックテスト、すべてのバックテスト、またはホールドアウト(ロック解除されている場合)のデータが使用されます。
さらに、外部テストデータセット を追加すると、モデルのパフォーマンスの評価に役立ちます。
モデル¶
ターゲット列内の各クラスに関する詳細情報を提供する3つのモードオプション(全体、実測、予測)があります。 モードを変更すると行列全体、選択されたクラスの行列、および選択されたクラスの詳細が更新されます。
以下の表に多クラス分類混合行列の各モードを説明します。 リコールとプレシジョンの説明については、 指標に関するドキュメントまたはGoogle開発者向け基礎コースを参照してください。
モード | 説明 | 行列グリッドのセルにマウスを置くと表示される内容... |
---|---|---|
全体 | 選択した各クラスのF1スコア、リコール、およびプレシジョン指標を提供します。 |
|
実測 | リコールスコアの詳細、およびモデルで選択したクラスと混同されたクラスの部分的なリストを表示します。 全リストをクリックすると、混同された全てのクラスのリコールスコアが表示されます。* |
|
予測 | プレシジョンスコア(選択されたクラスがモデルでどれだけ正確に予測されるか)の詳細を表示します。 全リストをクリックすると、混同された全てのクラスのプレシジョンスコアが表示されます。* |
|
完全な一覧をクリックすると、特徴量の誤分類ポップアップが開き、全てのクラスのスコアがリストされ、実測モードと予測モードを切り替えることができます。
表示オプション¶
歯車アイコンをクリックすると、多クラス分類混同行列の並べ替えおよび別の配置に変更するためのオプションのメニューが表示されます。
以下の表示オプションがあります。
- 実測値の傾向:実測値の表示の軸(行または列)を設定します。
- ソート条件:並べ替え順(アルファベット順、実際の頻度、予測頻度、またはF1スコア)を設定します。
- 順序:昇順または降順で行列を表示します。
たとえば、最小の予測頻度値を表示するには、予測頻度と昇順のオプションを選択します。該当する値が行列の一番上に表示されます。
行列の詳細¶
多クラス混同行列の右側と下を縁どる青いバーは、各クラスの数値的な頻度の詳細を示し、DataRobotの精度を判断するために役立ちます。 どのクラスでも、実測値軸の反対側にあるバーをクリックすると、実測頻度が表示されます。予測軸の反対側にあるバーをクリックすると、予測頻度が表示されます。
以下の例は、[50-60)
特徴量のage
クラスの実測頻度をレポートします。 この場合、トレーニングデータに基づき、(このサンプルサイズで)[50-60)
クラスがターゲットage
の値であった264のインスタンスがありました。 この264行はデータセット全体の16.5%を占めます。
ヒント
現在選択されているクラスに関係なく、青いバーの上にマウスを置くことで、そのクラスの頻度詳細を表示できます。
クラスセレクター¶
ドロップダウンでは個々のクラスを選択でき、アクティブなモードに基づいて詳細を見ることができます。
選択されたクラスの混同行列¶
小さい行列は、ある1つのクラスの精度詳細を表示します。 ドロップダウンを使用するか、大きな行列で緑の円をクリックすることによって、モードまたは選択されたクラスを変更すると、選択されたクラスの混同行列が動的に更新されます。 選択された分類の混同行列に表示されるクラスは、大きな行列で同時にハイライトされ、ラベルが付けられた四分割表に頻度パーセンテージが表示されます。 行列内の円の上にマウスを置くと、(選択された分割における)サンプル内の行の総数に対する貢献度合いが表示されます。 四分割表の各分割の行の合計は、データセットの合計に一致します。 たとえば、Bad Support
がターゲットのChurnReasonsの値であったインスタンスが1600あります。 各四分割の上にマウスを置くと、DataRobotの予測の各結果の数(精度)が表示されます。
選択されたクラスの混同行列は、四分割されます。その概要を以下の表に示します。
象限 | 説明 |
---|---|
True Positive | 実際にClassAであるデータセットの全ての行に対して、DataRobotがClassAとして正しく予測した数(割合)。この四分割表のセルは、大きな行列で反映された値に等しくなります。 |
True Negative | 実際にClassAではないデータセットの全ての行に対して、DataRobotがClassA以外として正しく予測した数(割合)。この四分割表のセルは、大きな行列で反映された値に等しくなります。 |
False Positive | DataRobotがClassAとして予測したデータセット内の全ての行のうち、ClassAではなかった行の数。これは、大きな行列内のクラスの全ての間違った予測の合計です。 |
False Negative | 実際にClassAであるデータセットの全ての行に対して、DataRobotがClassA以外として誤って予測した数(割合)。この四分割表のセルは、大きな行列内の選択されるべきクラスでありながらそうではない全ての行の合計を示します。 |
拡張クラス混同行列サムネイル¶
拡張クラス(11~100)多クラス分類プロジェクトでは、結果のより詳細な調査を行うことのできるサムネイルページネーションツールを利用できます。 サムネイルは、完全な多クラス分類行列の小型の表現です。 サムネイルの青いドットは、(正しく分類されたかどうかに関係なく)ほとんどの予測を含む場所を示すので、検査対象の場所と考えることができます。
サムネイル内をクリックすると、大きな行列が更新され、選択した箇所の周囲の10x10の領域が表示されます。 最終的なフレーム(右下)には、最後の10
の境界以降の残りの列だけが表示されます(たとえば、83個のクラスのあるデータセットでは3つのエントリだけが表示されます)。 完全な行列は、上記の拡張されていない多クラス分類行列と同様に機能します。 大きい10x10の行列に表示される各セルの統計は、サムネイルによって表される完全な混同行列にわたって計算されます。
サムネイルは、外側にある矢印を使用するか、特定のボックスをクリックすることによってナビゲートできます。行および列の番号は、現在の行列位置を識別するために役立ちます。
青いドットが左上から右下に斜めに表示されているサムネイルは、優れたモデルである可能性があります(正しい予測が多数あります)。 しかし、カテゴリーは順番通りではないので、ドットが偶然収集された欠損値を示すことがあり、個々の四角を詳細に調査してパフォーマンスをチェックすることが重要です。
機能に関する注意事項¶
以下の注意事項は、多クラスモデルを操作する場合に適用されます。 これらのセクションでは、10以上のクラスに固有の詳細を説明します。
- 11クラス以上ある場合
-
無制限多クラスを有効化していない場合、DataRobotは多クラスプロジェクトで最大100のクラスをサポートします。 100を超えるクラスを持つプロジェクトが作成された場合は、データページでは、名前の横に「無効なターゲット」バッジが表示され、ターゲットがモデリングに適していないことが示されます。
-
リーダーボード > リフトチャートの可視化を使用する場合、クラスの選択には下位互換性はありません。この機能の導入前に構築されたモデルの場合、多クラスのインサイトを表示するにはモデルを再トレーニングする必要があります。
-
層化抽出分割およびスマートダウンサンプリングはサポートされません。
-
エクスポージャー、オフセット、およびイベントカウントはサポートされません。
-
高度な前処理ステップはサポートされていません(オートエンコーダー、k平均、コサイン類似度、信用区間、ExtraTreesベースの特徴量選択、最適な変換の検索、差分/割合の検索など)。
-
以下のタブおよびツールはサポートされません。
- ROC曲線
- SHAPベースの予測の説明(XEMPがサポートされています)
- 格付表
- ホットスポットおよび各特徴量の効果のインサイト
-
テキストマイニングおよびワードクラウドのインサイト、または係数タブのデータを操作する場合、20以上のクラスがある多クラスプロジェクトではトレーニングデータで最も頻繁に表れる20のクラスのインサイトしか表示されません。
-
ユーザーモデルとオープンソースモデルはサポートされていません(使用非推奨です)。
-
スリム実行(スタックされた予測なし)で実行する多クラスプロジェクトの混同行列は、モデルが検定のためにトレーニングされると無効化されます。
-
多クラスモデルでは異常検知は使用できません。
-
多クラスはOTVプロジェクトをサポートしていますが、時系列プロジェクトはサポートしていません。
11以上のクラスがある場合¶
プロジェクトに11以上のクラスがある場合、以下の注意事項に留意してください。
-
スタックされた予測は無効化されます(検定やホールドアウトのためにトレーニングされた場合、リーダーボードのスコアにはN/Aと表示されます)。
-
ExtraTrees Classifierモデルには、500Kの行制限があります。
-
テキストの多いデータセットでのOOMエラーを回避するために、最大派生テキスト特徴量は20,000に設定されます。
-
データセットによっては、一部のモデルのトレーニングに非常に長い時間がかかることがあります。 平均して、トレーニング時間はクラスの数に応じて増大します。
100以上のクラスがある場合¶
プロジェクトに100以上のクラスがある場合、以下の注意事項に留意してください。
-
クラスごとの特徴量のインパクトは使用できません。
-
DataRobot Classicの混同行列は、25x25グリッドを使用します。ワークベンチは、10x10グリッドを使用します。
-
混同行列のパブリックAPI応答には、
classMetrics
応答サイズの制限のため が含まれません。 そこにあるすべての指標は、混同行列のデータ自体から派生させることができます。