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

ブログ    
ブログ    
ブログ    

推薦する

ドローンが農家にもたらす3つのメリット

ドローンは農業革命において重要な役割を果たしています。ドローンを導入することで、農家は作物の収穫量を...

顔認識の3つの主要技術と4つの主要機能

2016年百度世界大会が開幕し、百度創始者の李承燁氏は大会で「人工知能」をテーマに講演し、最新製品「...

ちょうど今、OpenAIはマスク氏を反論する記事を公式に発表し、過去8年間の電子メールのやり取りのスクリーンショットを公開した。

最も注目されているテクノロジー企業OpenAIと世界一の富豪マスク氏との壮大な戦いは新たなレベルに達...

貴州省はアリババクラウドの最適アルゴリズムを使用して交通渋滞を減らし、赤信号の時間を86%削減する予定

朝のラッシュアワーには交通量が多く、午後は非常に空いています。しかし、なぜ信号が変わる頻度は同じまま...

製造業における機械学習

機械学習と人工知能:違いは何ですか?機械学習は人工知能のサブフィールドですが、すべての人工知能技術が...

はっきり言って、Alipay の年間請求額はほんの始まりに過ぎません。AI があらゆる場所に存在する未来において、プライバシーはどこにあるのでしょうか?

一昨日の午後、大隊長の友人の輪にはアリペイの「私の年間キーワード」が頻繁に送られてきた。画像出典: ...

...

隠れた表現を視覚化することでニューラルネットワークをより深く理解する

この記事では、隠し表現の視覚化を使用して、ニューラル ネットワークのトレーニング プロセスをより直感...

数秒で AI を学ぶ - ディープラーニングの一般的な 4 つの活性化関数: シグモイド、Tanh、ReLU、Softmax

ディープラーニングにおける活性化関数は、ニューラル ネットワークの重要なコンポーネントです。活性化関...

サイバーセキュリティにおける AI と ML のユースケース

サイバー攻撃の性質と標的が多様化するにつれて、サイバーセキュリティの専門家が脆弱性に対処する方法を決...

レノボとブラジルのイノベーションセンターCESARは、聴覚障害者が手話を理解できるように人工知能を活用している。

レノボとブラジルのレシフェにある先端研究システムセンター(CESAR)は、聴覚障害者向けに手話を「翻...

AIはHRにどのように役立つのでしょうか?

全国的に人材不足が進む中、テクノロジーは雇用者が厳しい市場で最高の人材を見つけるのに役立ちますが、人...

...