もう一つの機械学習モデル説明ツール: 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つの新しいテクノロジートレンド

ブログ    
ブログ    
ブログ    

推薦する

マスク氏の年収:0!米国のCEO給与ランキングが発表:黄氏はスーザン・カルキン氏より600万ドル近く低い

すべてはウォール・ストリート・ジャーナルが最近発表した米国上場企業のCEOの給与ランキングから始まっ...

AIチップのスタートアップ企業が岐路に立つ

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

CNNを称賛するのはやめろ。類似点と相違点さえ区別できない

[[416629]]セサミストリートには「One of These Things Is Not Li...

AI と ROI に関する真実: AI は本当に成果をもたらすことができるのか?

今日、企業組織はこれまで以上に人工知能 (AI) と機械学習 (ML) の可能性を信頼し、投資してい...

人間は知能を持っているのに、なぜモノのインターネットには人工知能が必要なのでしょうか?

IoT にインテリジェンスが必要なのはなぜですか?人工知能は登場しましたが、具体的な概念はなく、ま...

AI技術の発展に伴い、今後15年間でAI犯罪はピークに達するでしょうか?

ロンドン大学ユニバーシティ・カレッジの新しい報告書は、人工知能が犯罪テロに悪用される可能性を指摘して...

シンプルな人工ニューラル ネットワークをゼロから構築する: 1 つの隠れ層

[51CTO.com クイック翻訳] 前回の記事「人工ニューラルネットワークをゼロから構築する(パー...

データが限られている場合にディープラーニングモデルを最適化する方法

[[198229]]転移学習転移学習とは、ある問題で訓練したモデルを、簡単な調整で新しい問題に適した...

...

...

...

...

さようなら、宅配便業者さん!

この時代の変化のスピードは想像を絶します!次から次へと生み出される想像力豊かな革新は、目を見張るほど...

...

大企業面接のための iAsk の「スケジュール アルゴリズム」、写真 20 枚が当たる

[[341122]]この記事はWeChatの公開アカウント「Xiao Lin Coding」から転載...