Partialabhängigkeit und individuelle bedingte Erwartung

Machine LearningMachine LearningBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Partial-Dependence-Plots (PDP) und Individual-Conditional-Expectation (ICE)-Plots sind nützliche Werkzeuge zur Visualisierung und Analyse der Wechselwirkung zwischen der Zielantwort und einer Menge von Eingabefeatures. PDPs zeigen die Abhängigkeit zwischen der Zielantwort und den Eingabefeatures, während ICE-Plots die Abhängigkeit der Vorhersage von einem Feature für jede einzelne Probe visualisieren. Diese Plots helfen uns, die Beziehung zwischen der Zielantwort und den Eingabefeatures zu verstehen.

VM-Tipps

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der linken oberen Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/inspection("Inspection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/ensemble -.-> lab-71126{{"Partialabhängigkeit und individuelle bedingte Erwartung"}} sklearn/inspection -.-> lab-71126{{"Partialabhängigkeit und individuelle bedingte Erwartung"}} sklearn/datasets -.-> lab-71126{{"Partialabhängigkeit und individuelle bedingte Erwartung"}} ml/sklearn -.-> lab-71126{{"Partialabhängigkeit und individuelle bedingte Erwartung"}} end

Importieren der erforderlichen Bibliotheken

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

Laden und Vorbereiten der Daten

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

## Erstellen eines DataFrames für eine einfachere Datenmanipulation
df = pd.DataFrame(X, columns=feature_names)

Trainieren eines Random Forest-Modells

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

Erstellen und Visualisieren von Partial-Dependence-Plots

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

## Festlegen der Figurgröße und des Titels
fig.set_size_inches(10, 8)
fig.suptitle('Partial Dependence Plots')

plt.show()

Erstellen und Visualisieren von Individual Conditional Expectation Plots

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

## Setzen der Figurgröße und des Titels
fig.set_size_inches(10, 8)
fig.suptitle('Individual Conditional Expectation Plots')

plt.show()

Berechnen von Partial-Dependence-Werten für ein bestimmtes Feature

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

## Zeichnen der Partial-Dependence-Werte
plt.plot(axes[x_index], pdp[0])
plt.xlabel(feature_names[x_index])
plt.ylabel("Partial Dependence")
plt.title("Partial Dependence Plot")

plt.show()

Berechnen von Individual Conditional Expectation-Werten für ein bestimmtes Feature

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

## Zeichnen der Individual Conditional Expectation-Werte
for i in range(len(ice)):
    plt.plot(axes[x_index], ice[i], color='hellgrau')
plt.plot(axes[x_index], np.mean(ice, axis=0), color='blau')
plt.xlabel(feature_names[x_index])
plt.ylabel("Individual Conditional Expectation")
plt.title("Individual Conditional Expectation Plot")

plt.show()

Zusammenfassung

Partial-Dependence-Plots und Individual Conditional Expectation-Plots sind leistungsstarke Werkzeuge zur Visualisierung und zum Verständnis der Beziehung zwischen der Zielantwort und den Eingabefeatures. PDPs geben einen Gesamtüberblick über die Abhängigkeit, während ICE-Plots die individuellen Variationen zeigen. Indem wir diese Plots verwenden, können wir Einblicke gewinnen, wie sich die Zielantwort in Bezug auf verschiedene Werte der Eingabefeatures ändert.