Erklärbarkeit bei linearen Modellen

Erklärbare KI in Python

Fouad Trad

Machine Learning Engineer

Lineare Modelle

Lineare Regression
  • Sagt stetige Werte voraus

Bild: Linie passt mehrere Punkte; x-Achse Testscore, y-Achse Zulassungschance.

Erklärbare KI in Python

Lineare Modelle

Lineare Regression
  • Sagt stetige Werte voraus

Bild: Linie passt mehrere Punkte; x-Achse Testscore, y-Achse Zulassungschance.

Logistische Regression
  • Für binäre Klassifikation

Bild: Linie trennt Datenpunkte zu Transaktionen nach Betrag und Ausführungszeit.

Erklärbare KI in Python

Warum sind lineare Modelle erklärbar?

  • Lernen lineare Kombination der Features
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

Bild mit den gleichen Grafiken zu linearer und logistischer Regression wie zuvor, plus den gelernten Gleichungen: Lineare Regression lernt Handypreis=푐_0+푐_1∗Speicher; logistische Regression lernt 푐_0+푐_1∗Tageszeit+푐_2∗Transaktionsbetrag=0

Erklärbare KI in Python

Koeffizienten

  • Zeigen die Wichtigkeit jeder Feature
    • Höherer Absolutwert → höhere Wichtigkeit
    • Niedrigerer Absolutwert → geringere Wichtigkeit
  • Zum Vergleichen der Koeffizienten → Absolutwerte
  • Hinweis: Feature-Skalen vor der Koeffizienten-Berechnung normalisieren

Bild mit der Gleichung Handypreis=푐_0+5∗Speicher+2∗Anzahl Linsen; hervorgehobene Koeffizienten

Erklärbare KI in Python

Koeffizienten

  • Zeigt die Wichtigkeit jeder Feature
    • Höherer Absolutwert → höhere Wichtigkeit
    • Niedrigerer Absolutwert → geringere Wichtigkeit
  • Zum Vergleichen der Koeffizienten → Absolutwerte
  • Hinweis: Feature-Skalen vor der Koeffizienten-Berechnung normalisieren

Bild mit der Gleichung Handypreis=𝑐_0+𝑐_1∗Speicher+c_2∗Anzahl Linsen; Speicher meist in Hunderten bis Tausenden GB, Linsen < 4.

Erklärbare KI in Python

Zulassungen

GRE-Score TOEFL-Score Uni-Rating SOP LOR CGPA Zulassungswahrsch. 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
X_train = data.drop(['Chance of Admit', 'Accept'], axis=1)

y_reg = data['Chance of Admit']
y_cls = data['Accept']
Erklärbare KI in Python

Modelltraining

from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LinearRegression, LogisticRegression


scaler = MinMaxScaler() X_train_scaled = scaler.fit_transform(X_train)
lin_reg = LinearRegression() lin_reg.fit(X_train_scaled, y_reg)
log_reg = LogisticRegression() log_reg.fit(X_train_scaled, y_cls)
Erklärbare KI in Python

Koeffizienten berechnen

Lineare Regression
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
Logistische Regression
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Erklärbare KI in Python

Koeffizienten visualisieren

Lineare Regression
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

Balkendiagramm der Wichtigkeiten: CGPA und GRE-Score sind am wichtigsten.

Logistische Regression
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

Balkendiagramm der Wichtigkeiten: CGPA und GRE-Score sind am wichtigsten.

Erklärbare KI in Python

Lass uns üben!

Erklärbare KI in Python

Preparing Video For Download...