Como Construir um Pipeline de Análise de IA Explicável Usando SHAP-IQ para Entender a Importância d…

Neste tutorial, construímos um pipeline avançado de análise de IA explicável usando SHAP-IQ para entender tanto a importância de features quanto os efeitos de interação diretamente dentro do nosso ambiente Python. Carregamos um conjunto de dados do mundo real, treinamos um modelo Random Forest de alto desempenho e, em seguida, aplicamos o índice de interação SHAP-IQ para calcular explicações precisas e teoricamente fundamentadas das previsões do modelo. Extraímos os efeitos principais, os efeitos de interação em pares e as contribuições da quebra de decisão, e os apresentamos por meio de saídas de terminal estruturadas e visualizações interativas do Plotly. Além disso, vamos além da explicabilidade básica e obtemos uma compreensão profunda de como as features individuais e suas interações influenciam as decisões do modelo nos níveis local e global. Copiar Código Copiado Usar um Navegador Diferente import sys, subprocess, textwrap, numpy as np, pandas as pd def _pip(*pkgs): subprocess.run([sys.executable, "-m", "pip", "install", "-q", *pkgs], check=False) _pip("shapiq", "plotly", "pandas", "numpy", "scikit-learn") import plotly.express as px import plotly.graph_objects as go import plotly.io as pio import shapiq from sklearn.ensemble import RandomForestRegressor from sklearn.model_selection import train_test_split try: pio.renderers.default = "colab" except Exception: pass RANDOM_STATE = 42 INDEX = "SII" MAX_ORDER = 2 BUDGET_LOCAL = 512 TOP_K = 10 INSTANCE_I = 24 GLOBAL_ON = True GLOBAL_N = 40 BUDGET_GLOBAL = 256 Instalamos e importamos todas as bibliotecas necessárias, incluindo shapiq, Plotly, pandas, NumPy e scikit-learn, garantindo que nosso ambiente esteja totalmente preparado para a análise de IA explicável. Configuramos o Plotly para renderizar visualizações diretamente no notebook ou terminal para que possamos ver os resultados sem a necessidade de qualquer painel externo. Também definimos parâmetros de configuração global, como o índice de interação, o orçamento de explicação e as configurações de análise global, para controlar a profundidade, precisão e desempenho do nosso pipeline de explicabilidade. Copiar Código Copiado Usar um Navegador Diferente def extract_main_effects(iv, feature_names): d = iv.dict_values vals = [float(d.get((i,), 0.0)) for i in range(len(feature_names))] return pd.Series(vals, index=list(feature_names), name="main_effect") def extract_pair_matrix(iv, feature_names): d = iv.dict_values n = len(feature_names) M = np.zeros((n, n), dtype=float) for k, v in d.items(): if isinstance(k, tuple) and len(k) == 2: i, j = k M[i, j] = float(v) M[j, i] = float(v) return pd.DataFrame(M, index=list(feature_nam

Fonte: MarkTechPost

Publicado em 2026-03-02

Notícias relacionadas

Continue explorando