import pandas as pd import numpy as np from sklearn.datasets import fetch_california_housing from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor import shap import matplotlib.pyplot as plt # Chargement et préparation des données California Housing california = fetch_california_housing() X = pd.DataFrame(california.data, columns=california.feature_names) y = california.target # renommage pour clarté # Division des données en ensembles d'entraînement et de test X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Construction et entraînement du modèle model = RandomForestRegressor(random_state=42) model.fit(X_train, y_train) # Création de l'expliqueur SHAP et calcul des valeurs SHAP explainer = shap.TreeExplainer(model) shap_values = explainer.shap_values(X_test) # Visualisation des valeurs SHAP shap.summary_plot(shap_values, X_test)