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.