6-3.モデルの解釈

DataRobotは、モデルを解釈するための多くのツールを提供しています。モデルにとらわれない3つのアプローチは、解釈のタブで見つけることができます。特徴量のインパクト、特徴量ごとの作用、予測の説明です。この記事では、これらの方法と、テキストデータを持つモデルで有用なワードクラウドについて説明します。

特徴量のインパクト

特徴量のインパクトを見つけるには、リーダーボードで対象のモデルを選択します。

DataRobot.png
図1. リーダーボード

次に、[解釈] タブをクリックします。デフォルトでは特徴量のインパクトが表示されています。

DataRobot-2.png

図2. 特徴量のインパクト

特徴量のインパクトは、モデルに依存しない方法で、モデルの最も重要な特徴量を知らせてくれます。このインパクトの計算に使用される方法論、並べ替えの重要度(Permutation Importance)は結果を正規化し、最も重要な特徴量は常に特徴量インパクト・スコアが100%になります。

特徴量のインパクトを理解する方法の1つは次のようなものです。該当の列について、特徴量のインパクトは、DataRobotがその列を(他の列は変更せずに)ランダムにシャッフルした後に予測を行った場合に、モデルのパフォーマンスがどれだけ悪くなるかを測定します。

簡潔なモデルを目指したい場合は、特徴量のインパクトスコアが低い特徴量を削除することができます。これを行うには、(特徴量のインパクトのタブで)上位の特徴量を持つ新しい特徴量セットを作成し、その特徴量セット用の新しいモデルを構築します。そして、モデルのパフォーマンスの違いを比較して、簡潔なモデルの方がユースケースに適しているかどうかを判断することができます。

さらに、それほど一般的ではありませんが、特徴量が負の機能インパクトスコアを持つこともあります。このような場合、特徴量がモデル性能を向上させていないように見えます。特徴量を削除して、モデル性能への影響を評価することを検討してください。

最後に、特徴量のインパクトは、データ・ページに表示される有用性とは異なることに注意してください。データ・ページの有用性列に表示されている緑色のバーは、その特徴量がそれ自体がターゲット変数とどれだけ相関しているかを示す指標です。対照的に、特徴量のインパクトは、モデルの文脈の中で特徴量がどれだけ重要かを測定します。言い換えれば、特徴量の影響は、その特徴量が削除された場合、モデルの精度が(訓練データに基づいて)どれだけ低下するかを測定します。

 

特徴量ごとの作用

多くの機械学習技術は複雑であるため、モデルを直接解釈することが難しい場合があります。特徴量ごとの作用の洞察は、特徴量ごとにモデルの詳細を提供します。

特徴量ごとの作用は、特徴量のインパクトの右隣にある[特徴量ごとの作用]タブをクリックすると表示されます。

DataRobot-3.png
図3. 特徴量ごとの作用

ページの左側には、モデルの特徴量が、特徴量のインパクト・スコアが最も高いものから最も低いものまで順に表示されています。それぞれの特徴量をクリックすると、右側に部分依存のプロットが表示されます。

特徴量ごとの作用は、特徴量の値の個々の変化が、他のすべてが安定している場合に、ターゲット結果にどのような影響を与えるかを示しています。例えば、図3では、入院患者の滞在数が増加すると(X軸)、病院に再入院する確率(Y軸)も増加することがわかります。逓減効果があるようで、入院日数が4~5回を超えると、再入院の確率は大きく上昇しておりません。

 

予測の説明

予測の説明は、特徴量ごとの作用の右隣にある[予測の説明]タブをクリックすると表示されます。

DataRobot-4.png
図4. 予測の説明

モデルを構築した後、予測の説明を使用して、DataRobotが個々の予測を生成した理由を理解することができます。これは、変数が予測に与える効果の定性的な指標を提供し、与えられたモデルがなぜ特定の予測を行ったのかを答えてくれます。デフォルトでは、DataRobotはこの予測が行われた理由の上位3つを提供しますが、最大10個の理由を取得することができます。

モデルの予測の説明を表示するためには、最初に特徴量のインパクトを計算する必要があることに注意してください。これは、予測の説明タブまたは特徴量のインパクトのタブのいずれかから行うことができます。計算が完了すると、DataRobotは予測説明の結果を表示します。

図4の表の一番上の行は、患者が病院に再入院する確率が90.4%であることを示しています。DataRobotの予測の説明では、これは入院回数、入院タイプIDの欠損、および患者の体重が原因であるとしています。DataRobotは個々の予測のレベルで説明を提供しているので、この洞察は非常に強力です。

トレーニング・データセットとテスト・データセットの両方について、右上の[計算してダウンロード]オプションをクリックして、自分でアップロードしたデータセットの予測の説明を計算することができます。

 

ワードクラウド

ワードクラウドを見つけるには、DataRobotエンドポイントの上部にあるインサイトタブをクリックします。

DataRobot-5.png
図5. インサイト

次に、ワードクラウドをクリックします。

DataRobot-6.png
図 6. ワードクラウド


DataRobotは、それぞれの異なるテキスト特徴量に対して、複数の自然言語処理モデルを実行します。左上のドロップダウンメニューをクリックすると、利用可能なすべてのオプションが表示され、特定のモデルを選択できます。(参考:図7)

DataRobot-7.png
図7 自然言語処理モデル

ワードクラウド自体は、フリーテキストの単語とターゲット特徴量との相関関係を視覚的に表したものです。青色はこの単語が出現することで再入院の確率が低下し、赤色はこの単語が出現することで再入院の確率が上昇することを意味しています。単語の大きさは、この単語がデータセットの中でどのくらいの頻度で出現しているかを示しています。

図6から、"kidney"、"chronic"、"uncontrolled"のような単語の出現は再入院の確率を高めますが、"mellitus"や"malignant"のような単語は再入院になる可能性が低い患者に出現するようです。

結果をエクスポートして絶対値を取得したい場合は、(図6のように)ページの左側にあるエクスポートボタンをクリックしてください。

 

詳細はこちら

DataRobotのライセンスをお持ちの方は、特徴量のインパクト、特徴量ごとの作用、予測の説明、ワードクラウドのアプリ内ドキュメントを検索できます。

 

モデルの解釈の注意点・Tips:

リーケージ
  • 二値分類ではloglossが0.000もしくはAUCが1.00に近い、回帰分析ではRMSEが0に近いなど、ありえない精度になっていないかの確認をしましょう。その場合、まずリーケージを疑います。リーケージデータは複数あることがあります。
特徴量のインパクト
  • 特徴量のインパクトを計算し、上位の特徴量が感覚とあっているか、予測の時点で手に入るものか確認しましょう。上位に経験から納得感のあるものが来ない場合には注意が必要です。業務に対する知識が足りないか、またはデータに問題があることもあります。
  • 特徴量のインパクトのトップは100%になるので、最終判断は業務知識から行う必要があります。特に一つの特徴量だけで高精度なモデルができている場合には警戒しましょう。
特徴量ごとの作用
  • 特徴量ごとの作用を上から10個くらいみていき、予測と実測でどの領域が当たっているかを確認しましょう。当たっていない領域においてはどんな理由が裏で存在しているのか考えることをお勧めします。
  • 部分依存単体についても確認しましょう。特定の値で大きく変わっていないか、また目的に対して、高いもの、低いものそれぞれの性質を確認しましょう。
  • 違和感のある形(右肩上がりのはずが右肩下がり、特殊なスパイクが存在など)の場合には特徴量が抜けているか、データ定義に誤りがある可能性が高いと考えられます。
正しさの確認
  • 予期しない予測値になっていないか、予測の説明等を利用して確認しましょう。どの特徴量の値から発生しているかチェックし、過学習していないか、値の桁数があっているかをチェックしましょう。
バージョン履歴
最終更新日:
‎05-12-2020 08:14 PM
更新者: