Dépendance partielle et espérance conditionnelle individuelle

Beginner

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

Introduction

Les graphiques de dépendance partielle (PDP) et les graphiques d'espérance conditionnelle individuelle (ICE) sont des outils utiles pour visualiser et analyser l'interaction entre la réponse cible et un ensemble de caractéristiques d'entrée. Les PDP montrent la dépendance entre la réponse cible et les caractéristiques d'entrée, tandis que les graphiques ICE visualisent la dépendance de la prédiction par rapport à une caractéristique pour chaque échantillon individuel. Ces graphiques nous aident à comprendre la relation entre la réponse cible et les caractéristiques d'entrée.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importez les bibliothèques nécessaires

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

Chargez et préparez les données

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

## Créez un DataFrame pour faciliter la manipulation des données
df = pd.DataFrame(X, columns=feature_names)

Entraînez un modèle Random Forest

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

Créez et visualisez des graphiques de dépendance partielle

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

## Définissez la taille de la figure et le titre
fig.set_size_inches(10, 8)
fig.suptitle('Graphiques de dépendance partielle')

plt.show()

Créez et visualisez des graphiques d'espérance conditionnelle individuelle

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

## Définissez la taille de la figure et le titre
fig.set_size_inches(10, 8)
fig.suptitle('Graphiques d\'espérance conditionnelle individuelle')

plt.show()

Calculez les valeurs de dépendance partielle pour une caractéristique spécifique

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

## Tracez les valeurs de dépendance partielle
plt.plot(axes[x_index], pdp[0])
plt.xlabel(feature_names[x_index])
plt.ylabel("Dépendance partielle")
plt.title("Graphique de dépendance partielle")

plt.show()

Calculez les valeurs d'espérance conditionnelle individuelle pour une caractéristique spécifique

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

## Tracez les valeurs d'espérance conditionnelle individuelle
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("Espérance conditionnelle individuelle")
plt.title("Graphique d'espérance conditionnelle individuelle")

plt.show()

Sommaire

Les graphiques de dépendance partielle et les graphiques d'espérance conditionnelle individuelle sont des outils puissants pour visualiser et comprendre la relation entre la réponse cible et les caractéristiques d'entrée. Les PDP fournissent une vue globale de la dépendance, tandis que les graphiques ICE montrent les variations individuelles. En utilisant ces graphiques, nous pouvons obtenir des informations sur la manière dont la réponse cible change par rapport à différentes valeurs des caractéristiques d'entrée.