DataRobotは、モデルを解釈するための多くのツールを提供しています。モデルにとらわれない3つのアプローチは、解釈のタブで見つけることができます。特徴量のインパクト、特徴量ごとの作用、予測の説明です。この記事では、これらの方法と、テキストデータを持つモデルで有用なワードクラウドについて説明します。
特徴量のインパクトを見つけるには、リーダーボードで対象のモデルを選択します。
図1. リーダーボード
次に、[解釈] タブをクリックします。デフォルトでは特徴量のインパクトが表示されています。
図2. 特徴量のインパクト
特徴量のインパクトは、モデルに依存しない方法で、モデルの最も重要な特徴量を知らせてくれます。このインパクトの計算に使用される方法論、並べ替えの重要度(Permutation Importance)は結果を正規化し、最も重要な特徴量は常に特徴量インパクト・スコアが100%になります。
特徴量のインパクトを理解する方法の1つは次のようなものです。該当の列について、特徴量のインパクトは、DataRobotがその列を(他の列は変更せずに)ランダムにシャッフルした後に予測を行った場合に、モデルのパフォーマンスがどれだけ悪くなるかを測定します。
簡潔なモデルを目指したい場合は、特徴量のインパクトスコアが低い特徴量を削除することができます。これを行うには、(特徴量のインパクトのタブで)上位の特徴量を持つ新しい特徴量セットを作成し、その特徴量セット用の新しいモデルを構築します。そして、モデルのパフォーマンスの違いを比較して、簡潔なモデルの方がユースケースに適しているかどうかを判断することができます。
さらに、それほど一般的ではありませんが、特徴量が負の機能インパクトスコアを持つこともあります。このような場合、特徴量がモデル性能を向上させていないように見えます。特徴量を削除して、モデル性能への影響を評価することを検討してください。
最後に、特徴量のインパクトは、データ・ページに表示される有用性とは異なることに注意してください。データ・ページの有用性列に表示されている緑色のバーは、その特徴量がそれ自体がターゲット変数とどれだけ相関しているかを示す指標です。対照的に、特徴量のインパクトは、モデルの文脈の中で特徴量がどれだけ重要かを測定します。言い換えれば、特徴量の影響は、その特徴量が削除された場合、モデルの精度が(訓練データに基づいて)どれだけ低下するかを測定します。
多くの機械学習技術は複雑であるため、モデルを直接解釈することが難しい場合があります。特徴量ごとの作用の洞察は、特徴量ごとにモデルの詳細を提供します。
特徴量ごとの作用は、特徴量のインパクトの右隣にある[特徴量ごとの作用]タブをクリックすると表示されます。
図3. 特徴量ごとの作用
ページの左側には、モデルの特徴量が、特徴量のインパクト・スコアが最も高いものから最も低いものまで順に表示されています。それぞれの特徴量をクリックすると、右側に部分依存のプロットが表示されます。
特徴量ごとの作用は、特徴量の値の個々の変化が、他のすべてが安定している場合に、ターゲット結果にどのような影響を与えるかを示しています。例えば、図3では、入院患者の滞在数が増加すると(X軸)、病院に再入院する確率(Y軸)も増加することがわかります。逓減効果があるようで、入院日数が4~5回を超えると、再入院の確率は大きく上昇しておりません。
予測の説明は、特徴量ごとの作用の右隣にある[予測の説明]タブをクリックすると表示されます。
図4. 予測の説明
モデルを構築した後、予測の説明を使用して、DataRobotが個々の予測を生成した理由を理解することができます。これは、変数が予測に与える効果の定性的な指標を提供し、与えられたモデルがなぜ特定の予測を行ったのかを答えてくれます。デフォルトでは、DataRobotはこの予測が行われた理由の上位3つを提供しますが、最大10個の理由を取得することができます。
モデルの予測の説明を表示するためには、最初に特徴量のインパクトを計算する必要があることに注意してください。これは、予測の説明タブまたは特徴量のインパクトのタブのいずれかから行うことができます。計算が完了すると、DataRobotは予測説明の結果を表示します。
図4の表の一番上の行は、患者が病院に再入院する確率が90.4%であることを示しています。DataRobotの予測の説明では、これは入院回数、入院タイプIDの欠損、および患者の体重が原因であるとしています。DataRobotは個々の予測のレベルで説明を提供しているので、この洞察は非常に強力です。
トレーニング・データセットとテスト・データセットの両方について、右上の[計算してダウンロード]オプションをクリックして、自分でアップロードしたデータセットの予測の説明を計算することができます。
ワードクラウドを見つけるには、DataRobotエンドポイントの上部にあるインサイトタブをクリックします。
図5. インサイト
次に、ワードクラウドをクリックします。
図 6. ワードクラウド
DataRobotは、それぞれの異なるテキスト特徴量に対して、複数の自然言語処理モデルを実行します。左上のドロップダウンメニューをクリックすると、利用可能なすべてのオプションが表示され、特定のモデルを選択できます。(参考:図7)
図7 自然言語処理モデル
ワードクラウド自体は、フリーテキストの単語とターゲット特徴量との相関関係を視覚的に表したものです。青色はこの単語が出現することで再入院の確率が低下し、赤色はこの単語が出現することで再入院の確率が上昇することを意味しています。単語の大きさは、この単語がデータセットの中でどのくらいの頻度で出現しているかを示しています。
図6から、"kidney"、"chronic"、"uncontrolled"のような単語の出現は再入院の確率を高めますが、"mellitus"や"malignant"のような単語は再入院になる可能性が低い患者に出現するようです。
結果をエクスポートして絶対値を取得したい場合は、(図6のように)ページの左側にあるエクスポートボタンをクリックしてください。
DataRobotのライセンスをお持ちの方は、特徴量のインパクト、特徴量ごとの作用、予測の説明、ワードクラウドのアプリ内ドキュメントを検索できます。