LIME: explicações locais interpretáveis
lime.tabular.LimeTabularExplainer, perturbação da entrada e aproximação linear local.
LIME: explicações locais interpretáveis é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
O que é LIME
LIME (explicações locais, interpretáveis e independentes do modelo) explica uma única previsão ajustando um modelo simples e interpretável, como uma regressão linear, ao comportamento do modelo complexo em uma pequena vizinhança ao redor daquela instância.
Local, não global
Um modelo de caixa-preta pode ser extremamente não linear como um todo, mas perto de um ponto ele é aproximadamente linear. O LIME aproveita isso: ele não explica o modelo inteiro, apenas seu comportamento localmente, ao redor da instância que interessa a você.
Como o LIME funciona
O LIME perturba a instância para criar muitas amostras próximas, pede ao modelo de caixa-preta que as classifique, pondera as amostras de acordo com a proximidade da original e depois ajusta um modelo substituto interpretável. Os coeficientes do modelo substituto se tornam a explicação.
Independente do modelo
Como o LIME apenas chama a função de previsão do modelo, ele funciona com qualquer classificador ou regressor: redes neurais, aumento de gradiente e até uma API externa. Ele trata o modelo como uma caixa-preta.
LimeTabularExplainer
Para dados tabulares, você cria um LimeTabularExplainer a partir dos dados de treinamento e dos nomes das características. Ele usa a distribuição dos dados de treinamento para gerar perturbações realistas.
from lime.lime_tabular import LimeTabularExplainer
explainer = LimeTabularExplainer(
training_data=X_train.values,
feature_names=X_train.columns.tolist(),
class_names=["denied", "approved"],
mode="classification",
)explain_instance
Para explicar uma linha, chame explain_instance com a linha e a função predict_proba do modelo. O LIME cria perturbações ao redor dessa linha e ajusta o modelo substituto local.
exp = explainer.explain_instance(
data_row=X_test.values[0],
predict_fn=model.predict_proba,
num_features=5,
)predict_proba, não predict
O LIME para classificação precisa de probabilidades, não de rótulos definitivos, porque o modelo substituto faz uma regressão sobre a superfície de probabilidades. Sempre forneça model.predict_proba ou qualquer função que retorne probabilidades das classes.
O parâmetro num_features
num_features limita quantas características aparecem na explicação. Um número menor produz uma explicação mais simples e fácil de compreender, destacando apenas os fatores locais mais importantes.
Lendo os pesos das características
exp.as_list() retorna a explicação como pares de (condição da característica, peso). Um peso positivo empurrou a previsão em direção à classe prevista; um peso negativo a afastou.
for feature, weight in exp.as_list():
print(feature, round(weight, 3))
# income > 50000 0.21
# debt_ratio > 0.4 -0.18Visualizando a explicação
O LIME pode exibir a explicação como um gráfico interativo ou uma visualização no notebook, mostrando lado a lado as barras de contribuição e as probabilidades previstas.
exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()LIME vs. SHAP
Ambos explicam previsões individuais, mas diferem:
- SHAP tem fortes garantias teóricas, como aditividade e consistência, além de uma visão global
- LIME é mais rápido de compreender, independente do modelo e intuitivo, mas seu modelo substituto local é uma aproximação que pode variar conforme a aleatoriedade das perturbações
Verificação rápida
Teste seus conhecimentos sobre LIME.
Recapitulação
Você aprendeu sobre explicações locais com LIME:
- LimeTabularExplainer é criado a partir dos dados de treinamento e dos nomes das características
explain_instanceusamodel.predict_probapara ajustar um modelo substituto local- num_features controla o tamanho da explicação
as_list()retorna pesos com sinal para as características- O LIME é independente do modelo e local, complementando o SHAP
Perguntas Frequentes
A aula “LIME: explicações locais interpretáveis” é grátis?
Sim — o texto completo de “LIME: explicações locais interpretáveis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “LIME: explicações locais interpretáveis”?
lime.tabular.LimeTabularExplainer, perturbação da entrada e aproximação linear local. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “LIME: explicações locais interpretáveis”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Detecção de viés em modelos de aprendizado de máquina
- Valores SHAP para explicabilidade de modelos
- LIME: explicações locais interpretáveis
- Estruturas de ética e governança de IA