もう一つの機械学習モデル説明ツール: Shapash

もう一つの機械学習モデル説明ツール: Shapash


シャパシュとは

モデルの解釈可能性と理解可能性は、多くの研究論文やオープンソース プロジェクトの焦点となっています。また、多くのプロジェクトにはデータの専門家や十分に訓練された専門家が配置されています。

Shapash は、ほとんどの sklearn、lightgbm、xgboost、catboost モデルで動作し、分類タスクと回帰タスクの両方に使用できます。 Shap バックエンドを使用して特徴のローカル寄与を計算しますが、これはローカル寄与を計算するための他の戦略に置き換えることができます。データ サイエンティストは、Shapash Explainer を使用してモデルを調査およびトラブルシューティングしたり、展開して各推論の視覚化を提供したりできます。また、エンドユーザーや起業家に大きな価値をもたらす Web アプリケーションの作成にも使用できます。

シャバッシュ図書館

シャパシュのゴール

1. 明確で合理的な結果を表示する

プロットと出力では、各コンポーネントとそのモードのラベルが使用されます。

2. Webアプリケーション

データ サイエンティストは、Web アプリケーションを使用してグローバルとローカルの近隣間のロジックを簡単に調査することで、モデルをすばやく理解し、さまざまな重要なポイントがどのように作用するかを確認できます。

shapash ライブラリ Web アプリ

3. 要約して説明を導き出す

Shapash は簡潔かつ明確な説明を提供します。 Shapash の機能が要約され、明確に説明されているため、背景に関係なく、すべての顧客がホスティング モデルを明確に理解できます。

4. 完全なデータサイエンスレポート

完全なデータレポートは、こちらからご覧いただけます: https://shapash-demo.ossbymaif.fr/

Shapashの特徴

Shapash の機能の一部は次のとおりです。

1. 機械学習モデル: 分類 (バイナリまたはマルチクラス問題) および回帰問題に適用できます。 Catboost、Xgboost、LightGBM、Sklearn Ensemble、線形モデル、SVM などの複数のモデルをサポートします。

2. 特徴エンコーディング: ワンホットエンコーディング、序数エンコーディング、ベース N エンコーディング、ターゲットエンコーディング、バイナリエンコーディングなど、データセット内のカテゴリ特徴を処理するための多数のエンコーディング手法をサポートしています。

3. SklearnColumnTransformer: OneHotEncoder、OrdinalEncoder、StandardScaler、QuantileTransformer、または PowerTransformer

4. 視覚化: 結果を簡単に解釈し、理解しやすく明確な結果を表示するためのビジュアル セットを提供します。

5. LimeとShapと互換性があります。 Shap バックエンドを使用し、結果を表示するために必要なコードは数行だけです。

6. 結果を簡潔に得るために、パラメータのオプションが多数用意されています。

7. Shapash はインストールも使用も簡単です。モデルを理解し、簡単な構文で説明を要約するための SmartExplainer クラスを提供します。

8. 展開: 運用上の使用のための調査と展開 (API またはバッチ モード経由) が重要です。グローバルからローカルに移動する Web アプリケーションを簡単に作成します。

9. 汎用性が高い: 結果を表示するには、非常に多くの引数が必要です。しかし、データのクリーニングとアーカイブをより多く行うほど、顧客にとって最終結果がより明確になります。

Shapashの仕組み

Shapash は、機械学習を理解し、説明できるようにする Python ライブラリです。データ愛好家はモデルを簡単に理解し、共有できます。 Shapash はバックエンドとして Lime と Shap を使用し、結果を表示するために必要なのは数行のコードだけです。 Shapash は、結果を合理的なものにするために、機械学習モデルの構築におけるさまざまな重要な進歩に依存しています。次の図は、shapash パッケージのワークフローを示しています。

Shapashの仕組み

仕組み

  1. まず、データの準備、特徴エンジニアリング、モデルのフィッティング、モデルの評価、モデルの理解など、各ステップの要素をコンパイルします。
  2. 2 番目に、モデルをよりよく理解するための Web アプリと図を提供します。モデルの結果はクライアントと共有して議論することができます。
  3. 最後に、解釈可能性の概要を示します。

インストール

Shapash は次のコードを使用してインストールできます。

 pip インストールshapash

Jupyter Notebook の場合: Jupyter Notebook を使用していてインライン プロットを表示する場合は、別のコマンドを使用する必要があります。

 pip でipywidgets をインストールします

はじめる

ここでは、House Price Prediction データセットを使用して Shapash を調べます。これは住宅価格を予測しなければならない回帰問題です。まず、単変量および二変量解析を含むデータセットを分析し、次に特徴の重要性、特徴の寄与、ローカルおよび比較プロットを使用してモデルの解釈可能性を分析し、続いてモデルのパフォーマンスを分析し、最後に WebApp を分析します。

データセットを分析する

単変量解析

下の画像を使用して、「1 階の平方フィート」という機能を確認します。平均、最大値、最小値、標準偏差、中央値など、トレーニング データセットとテスト データセットのさまざまな統計を示す表が表示されます。右側には、トレーニング データセットとテスト データセットの分布プロットが表示されます。 Shapash では、機能がカテゴリ型か数値型かについても言及しており、すべての機能が利用できるドロップダウン オプションも提供しています。

単変量解析

カテゴリ機能の場合、トレーニング データセットとテスト データセットには一意の値と欠損値が表示されます。右側には、各機能の対応するカテゴリの割合を示す棒グラフが表示されます。

特集のカテゴリー

ターゲット分析

また、「販売価格」というターゲット変数の詳細な分析も確認できます。左側には、トレーニング データセットと予測データセットの両方について、カウント、平均、標準偏差、最小値、最大値、中央値などのすべての統計が表示されます。右側には、トレーニング データセットと予測データセットの分布が表示されます。

ターゲット分析

多変量解析

単変量解析については上記で詳しく説明しました。このセクションでは、多変量解析について説明します。次の図は、トレーニング データセットとテスト データセットの最初の 20 個の特徴の相関マトリックスを示しています。相関スケールもさまざまな色に基づいて表示されます。これが、Shapash を使用して機能間の関係を視覚化する方法です。

多変量解析

モデルの解釈可能性

特徴重要度プロット

このライブラリを使用すると、この機能の重要性がわかります。特徴重要度は、出力値を予測する際に入力特徴の重要度を調べる方法です。次の図は、特徴の重要度曲線を示しています。

特徴重要度プロット

特徴寄与プロット

これらの曲線は、特徴が予測にどのように影響するか、その貢献はプラスかマイナスかなどの質問に答えるのに役立ちます。この図はモデルの解釈可能性の重要性を証明しており、モデルの全体的な一貫性により、機能がモデルに与える影響を理解しやすくなります。

数値的特徴とカテゴリ的特徴の両方の寄与プロットを見ることができます。

数値特徴の場合

貢献チャート

カテゴリカル特徴の場合

カテゴリカル特徴の場合

ローカルマップ

ローカルグラフを描くことができます。次の図は部分的なビューを示しています。

ローカルマップ

比較表

比較表を描くことができます。次の図は比較チャートを示しています。

比較表

モデルのパフォーマンス

データ分析後、機械学習モデルをトレーニングしています。次の図は予測された出力を示しています。左側には、カウント、最小値、最大値、中央値、標準偏差など、真の値と予測値の統計が表示されます。右側には予測値と実際の値の分布が表示されます。

モデルのパフォーマンス

ウェブアプリ

モデルをトレーニングした後、WebApp を構築することもできます。この Web アプリには、これまでに説明した内容も含め、データの完全なダッシュボードが表示されます。次の画像はダッシュボードを示しています。

ウェブアプリ

プロジェクトアドレス: https://github.com/MAIF/shapash

最後に

この記事では、shapash の基本的な機能と描画表示について簡単に紹介しました。この Python ライブラリについては、皆さんもある程度理解されていると思います。

<<:  1行のコードでランダム迷路を生成し、確率的プログラミング言語はGitHubのホットリストに載っています。作者は有名なWFCアルゴリズムを開発しました。

>>:  2022年の5つの新しいテクノロジートレンド

ブログ    
ブログ    
ブログ    

推薦する

劉厳紅が7日間で1000万人のフォロワーを獲得した背後で、スマートフィットネス業界が静かに台頭している

ジェイ・チョウの『本草綱目』のメロディーにのせて、劉恒紅の健康指導が再び始まった。 7日間でフォロワ...

周洪義:汎用人工知能は詐欺であり、垂直分野と組み合わせる必要がある

3月23日、360テクノロジー株式会社と華泰聯合証券はIPO上場指導契約を締結した。これは360がI...

AI インテリジェント音声認識アルゴリズム パート 1

[[397592]] 1. 音源定位1. 電子走査アレイシステムが出力信号のパワーが最大となる点ま...

機械が壁の建設を手伝うことがなぜそんなに難しいのでしょうか?これは人類の100年にわたる闘争の歴史である

[[418716]]建築の問題を研究すると、ほぼすべての「新しい」アイデアが、おそらく何十年も前に何...

なぜ人工知能には欠陥があるのでしょうか?

人工知能は、すべての人の生活に欠かせないものとなっています。 YouTube のおすすめなどの単純な...

NeRFは過去のものになるのか?立体復元は3D GSの新時代へ! (復旦大学からの最新レビュー)

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

Nature: 光コンピューティングと AI 推論を統合して高速かつ高帯域幅の AI コンピューティングを実現

電子コンピューティングと比較すると、光コンピューティングは高速、高帯域幅、低消費電力という利点があり...

...

...

AIはキーボードの音を聞いてパスワードを盗むことができ、その精度は最大95%

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

なぜ人工知能は高度な数学を解くことができるのでしょうか?

まずは大学院入試から始めましょう。大学院入試の重要性は大学入試の重要性に匹敵します。数字で言うと、2...

AIによって非効率と判断され、150人の労働者が解雇された。「労働者をコントロールできるのはまさに人工知能だ」

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

BBCはOpenAIによるデータスクレイピングをブロックしているが、ニュースでのAIの使用にはオープンである

英国最大の報道機関であるBBCは10月7日、ニュース、アーカイブ、「パーソナライズされた体験」の研究...

安全なパスワード保存の業界標準: bcrypt アルゴリズム

パスワードを安全に保護するための標準アルゴリズムである bcrypt アルゴリズムについて説明します...