回答:
このライブラリの例をいくつか試してみてください。このライブラリは、機械学習を使用してPythonのブラックボックス機械学習モデルを理解しようとしています。
そのような幅広い質問に非常に良い答えを与えることは難しいです。
モデルの解釈性は大きなトピックであり、通常はモデルに依存します。ロジスティック回帰などの単純なモデルは、ニューラルネットワークよりも解釈が簡単です。「機能を増やすことができれば 1、次にのオッズ 起こって増加します 」
同様に、個々の決定木は、ランダムフォレストよりも解釈が容易です。しかし、「機能の重要度」を計算することでランダムフォレストを解釈しようとする人もいます。これはいくつかの方法で計算できます。その1つは、分割するサンプル数と比較した、機能を含む分割数です。
モデルをブラックボックスとして扱い、すべてを解釈できる方法が必要であるモデルですか?
私は2つの方法を考えることができます:
典型的な方法の1つは、入力を変更して、モデルのパフォーマンスへの影響を確認することです。画像では、画像の一部をブラックアウトして、どの部分が精度に最も貢献しているかを確認できます。これは、他の方法では解釈が難しい畳み込みニューラルネットワークで広く使用されています。
数値変数の場合、各機能にゼロを設定するか、ノイズを追加して、その個々の機能が結果に与える影響を確認できます。
こういうものが広く使われているのを見てきました。
機能の有無にかかわらずトレーニングを行い、モデルの精度に与える影響を確認することを除いて、前のものと同様です。
これには、前のアプローチのように各機能に追加するノイズの量などのハイパーパラメーターについて考える必要がないという追加の利点があります。さらに、これらの機能の有無を試すことにより、出力のいくつかの機能の影響をよりよく理解できます。
このアプローチが使用されたのを見たことがありませんが、他の人が答えたように、それも明らかに使用されています。
とにかく、私はそのようなハックを避けます。ほとんどのモデルは、なんとかして解釈可能にすることができます。私は、再帰型ニューラルネットワークを解釈可能にする人々を見てきました。また、解釈可能性が懸念される場合は、解釈と説明が簡単な単純なモデルを使用してください。
興味深いことに、そのようなことはまだ聞いたことがありませんが、フィーチャとターゲット変数の間の相関行列は、ある程度の知識を与えてくれます。相関関係が高い場合、ターゲットを予測している間、これらの機能の発言が高くなる可能性があります。Pythonを使用している場合、seabornを使用して相関行列を視覚化することをお勧めします。ここはサンプルコード1です。