Gráficos de Dependência Parcial e Expectativa Condicional Individual

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Gráficos de dependência parcial (PDP) e gráficos de expectativa condicional individual (ICE) são ferramentas úteis para visualizar e analisar a interação entre a resposta-alvo e um conjunto de características de entrada. Os PDPs mostram a dependência entre a resposta-alvo e as características de entrada, enquanto os gráficos ICE visualizam a dependência da previsão em uma característica para cada amostra individual. Estes gráficos ajudam-nos a compreender a relação entre a resposta-alvo e as características de entrada.

Dicas de Máquina Virtual (VM)

Após o arranque da VM, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para prática.

Por vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar o carregamento. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se tiver problemas durante a aprendizagem, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para si.

Importar as bibliotecas necessárias

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.ensemble import RandomForestRegressor
from sklearn.inspection import plot_partial_dependence, partial_dependence

Carregar e preparar os dados

data = load_boston()
X = data.data
y = data.target
feature_names = data.feature_names

## Criar um DataFrame para facilitar a manipulação dos dados
df = pd.DataFrame(X, columns=feature_names)

Treinar um modelo Random Forest

model = RandomForestRegressor()
model.fit(X, y)

Criar e visualizar gráficos de dependência parcial

fig, ax = plot_partial_dependence(model, X, features=[(0, 1), (2, 3)], feature_names=feature_names, grid_resolution=20)

## Definir o tamanho da figura e o título
fig.set_size_inches(10, 8)
fig.suptitle('Gráficos de Dependência Parcial')

plt.show()

Criar e visualizar gráficos de expectativa condicional individual

fig, ax = plot_partial_dependence(model, X, features=[(0, 1), (2, 3)], feature_names=feature_names, kind='individual')

## Definir o tamanho da figura e o título
fig.set_size_inches(10, 8)
fig.suptitle('Gráficos de Expectativa Condicional Individual')

plt.show()

Calcular valores de dependência parcial para um recurso específico

x_index = 0
pdp, axes = partial_dependence(model, X, features=[x_index], grid_resolution=20)

## Plotar os valores de dependência parcial
plt.plot(axes[x_index], pdp[0])
plt.xlabel(feature_names[x_index])
plt.ylabel("Dependência Parcial")
plt.title("Gráfico de Dependência Parcial")

plt.show()

Calcular valores de expectativa condicional individual para um recurso específico

x_index = 0
ice, axes = partial_dependence(model, X, features=[x_index], kind='individual')

## Plotar os valores de expectativa condicional individual
for i in range(len(ice)):
    plt.plot(axes[x_index], ice[i], color='lightgray')
plt.plot(axes[x_index], np.mean(ice, axis=0), color='blue')
plt.xlabel(feature_names[x_index])
plt.ylabel("Expectativa Condicional Individual")
plt.title("Gráfico de Expectativa Condicional Individual")

plt.show()

Resumo

Gráficos de dependência parcial e gráficos de expectativa condicional individual são ferramentas poderosas para visualizar e compreender a relação entre a resposta-alvo e as características de entrada. Os gráficos PDP fornecem uma visão geral da dependência, enquanto os gráficos ICE mostram as variações individuais. Ao utilizar estes gráficos, podemos obter insights sobre como a resposta-alvo muda em relação a diferentes valores das características de entrada.