Permutation Importance

Erklärbare KI in Python

Fouad Trad

Machine Learning Engineer

Noten mischen, um die Instrumenten­wichtigkeit zu bestimmen

Abbildung: Eine Band mit Musiker:innen an verschiedenen Instrumenten.

Erklärbare KI in Python

Permutation Importance

  • Modellagnostische Methode
  • Bewertet Feature-Wichtigkeit
    • Mischt ein Feature und misst den Performance-Effekt
  • Sehr vielseitig

Abbildung: Struktur eines neuronalen Netzes mit mehreren Hidden Layers und vielen Neuronen.

Erklärbare KI in Python

Permutation Importance in Aktion

Abbildung: Ein Dataset mit 5 Features und ein trainiertes ML‑Modell.

Erklärbare KI in Python

Permutation Importance in Aktion

Abbildung: Das Dataset wird ins ML‑Modell gegeben, um eine Basis-Performance zu messen.

Erklärbare KI in Python

Permutation Importance in Aktion

Abbildung: Ein Feature wird durchmischt. Im Original waren die Werte [1, 2, 3, 4], nach dem Mischen [4, 2, 1, 3]. Das gemischte Dataset geht ins ML‑Modell, um die gemischte Performance zu messen.

Erklärbare KI in Python

Permutation Importance in Aktion

Abbildung: Die Wichtigkeit des gemischten Features ist proportional zum Performanceabfall.

Erklärbare KI in Python

Permutation Importance in Aktion

Abbildung: Ein starker Abfall zeigt hohe Wichtigkeit dieses Features, ein kleiner Abfall geringe Wichtigkeit.

Erklärbare KI in Python

Admissions-Datensatz

GRE-Score TOEFL-Score Uni-Bewertung SOP LOR CGPA Zulassungs­chance Annahme
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0

 

Die Daten liegen in: X_train, y_train

Erklärbare KI in Python

MLPClassifier

from sklearn.neural_network import MLPClassifier
model = MLPClassifier(hidden_layer_sizes=(10,10))

model.fit(X_train, y_train)
Erklärbare KI in Python

Permutation Importance

from sklearn.inspection import permutation_importance

result = permutation_importance(model,
X_train, y_train,
n_repeats=10,
random_state=42,
scoring='accuracy')
print(result.importances_mean)
[0.16213568 0.13831658 0.10575377 0.10522613 0.11741206 0.20072864]
Erklärbare KI in Python

Wichtigkeit visualisieren

import matplotlib.pyplot as plt
plt.bar(X_train.columns,
        result.importances_mean)

Balkendiagramm der Permutations-Wichtigkeiten; CGPA ist am höchsten.

Erklärbare KI in Python

Vergleich mit modell­spezifischen Ansätzen

import matplotlib.pyplot as plt
plt.bar(X_train.columns, 
        result.importances_mean)

Balkendiagramm der Permutations-Wichtigkeiten; CGPA ist am höchsten.

Logistische Regression
plt.bar(X_train.columns, np.abs(log_reg.coef_[0]))

Balkendiagramm der Regressionskoeffizienten; CGPA ist am höchsten.

Erklärbare KI in Python

Lass uns üben!

Erklärbare KI in Python

Preparing Video For Download...