Dependencia Parcial y Expectativa Condicional Individual

Beginner

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

Introducción

Las gráficas de dependencia parcial (PDP, por sus siglas en inglés) y las gráficas de expectativa condicional individual (ICE, por sus siglas en inglés) son herramientas útiles para visualizar y analizar la interacción entre la respuesta objetivo y un conjunto de características de entrada. Las PDP muestran la dependencia entre la respuesta objetivo y las características de entrada, mientras que las gráficas ICE visualizan la dependencia de la predicción en una característica para cada muestra individual. Estas gráficas nos ayudan a entender la relación entre la respuesta objetivo y las características de entrada.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importar las bibliotecas necesarias

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

Cargar y preparar los datos

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

## Crear un DataFrame para una manipulación de datos más fácil
df = pd.DataFrame(X, columns=feature_names)

Entrenar un modelo de Random Forest

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

Crear y visualizar gráficas de dependencia parcial

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

## Establecer el tamaño de la figura y el título
fig.set_size_inches(10, 8)
fig.suptitle('Gráficas de Dependencia Parcial')

plt.show()

Crear y visualizar gráficas de expectativa condicional individual

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

## Establecer el tamaño de la figura y el título
fig.set_size_inches(10, 8)
fig.suptitle('Gráficas de Expectativa Condicional Individual')

plt.show()

Calcular los valores de dependencia parcial para una característica específica

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

## Graficar los valores de dependencia parcial
plt.plot(axes[x_index], pdp[0])
plt.xlabel(feature_names[x_index])
plt.ylabel("Dependencia Parcial")
plt.title("Gráfica de Dependencia Parcial")

plt.show()

Calcular los valores de expectativa condicional individual para una característica específica

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

## Graficar los 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áfica de Expectativa Condicional Individual")

plt.show()

Resumen

Las gráficas de dependencia parcial y las gráficas de expectativa condicional individual son herramientas poderosas para visualizar y comprender la relación entre la respuesta objetivo y las características de entrada. Las PDP proporcionan una vista general de la dependencia, mientras que las gráficas ICE muestran las variaciones individuales. Al utilizar estas gráficas, podemos obtener información sobre cómo cambia la respuesta objetivo en función de diferentes valores de las características de entrada.