# Explainable AI

LIME & RBE auf Random Forest
mit Adult Census Datensatz

11.4.2025

# Datensatz

Analyse der Daten

## Adult Census Datensatz

- Enthält demografische Informationen aus der US-Volkszählung
- Soll Einkommen einer Person vorhersagen (<|>50000$ pro Jahr)

## Datensatzauswahl

- Gut strukturiert und saubere Daten
- Weit verbreiteter Benchmark in der Forschung und im maschinellen Lernen –> wird in vielen Studien verwendet
- Vielfalt der Variablen Typen –> enthält sowohl kategorische als auch numerische Variablen
- Realistisches Datenset –> gut geeignet für praxisnahe Anwendungen

1. Gut strukturierte und saubere Daten Der Datensatz enthält strukturierte, tabellarische Daten mit klar definierten Spalten. Fehlende Werte sind begrenzt, sodass weniger Datenbereinigung erforderlich ist.
2. Klassifikationsproblem für Machine Learning Zielvariable: Einkommen (über oder unter 50.000 USD jährlich). Ideal für binäre Klassifikationsmodelle (z. B. Logistic Regression, Decision Trees, Random Forests, Neural Networks).
3. Vielfältige Feature-Typen Beinhaltet sowohl kategorische (z. B. Beruf, Geschlecht, Bildungsniveau) als auch numerische (z. B. Alter, Arbeitsstunden pro Woche) Variablen. Ermöglicht das Testen verschiedener Feature-Engineering-Methoden.
4. Ein realistisches Datenset Reale demografische und sozioökonomische Daten aus der US-Volkszählung (1994). Praktisch für praxisnahe Anwendungen wie Sozialforschung, Wirtschaftsanalyse oder politische Entscheidungsfindung.
5. Gut dokumentiert & weit verbreitet Häufig verwendet in Tutorials, Forschungsarbeiten und Kaggle-Wettbewerben. Viele Ressourcen und Beispielcodes verfügbar.
6. Ideal für Fairness- und Bias-Analysen Der Datensatz enthält sensible Merkmale wie Geschlecht und Ethnie. Eignet sich für Studien zur Diskriminierung und Fairness von Algorithmen.

## Enthaltene Daten im Datensatz

Column Name | Data Type
--- | ---
age | int64
workclass | object
fnlwgt | int64
education | object
education.num | int64
marital.status | object
occupation | object
relationship | object
race | object
sex | object
capital.gain | int64
capital.loss | int64
hours.per.week | int64
native.country | object
income | object

1. age (numerisch) Alter der Person (in Jahren).
2. workclass (kategorisch) Art der Anstellung der Person. Private (privatwirtschaftlich) Self-emp-not-inc (selbstständig, aber nicht als Unternehmen) Self-emp-inc (selbstständig mit Unternehmen) Government (staatliche Anstellung: Local, State, Federal) Without-pay (ohne Bezahlung) Never-worked (nie gearbeitet)
3. fnlwgt (numerisch) Final weight: Gewichtungsfaktor für Hochrechnungen in der Volkszählung -> gibt an wie viele Menschen mit ähnlichen Merkmalen in der Gesamtbevölkerung durch diese einzelne Person repräsentiert werden Wird meist für ML-Modelle nicht genutzt. –> für unseren Datensatz normalerweise nicht wichtig aber da wir eine Gewichtung machen
4. education (kategorisch) Bachelors (Bachelor-Abschluss) Masters (Master-Abschluss) Doctorate (Promotion)
5. education.num (numerisch) 9 (High School) 16 (Promotion)
6. marital.status (kategorisch) Familienstand der Person. Married (verheiratet) Divorced (geschieden) Never-married (nie verheiratet) Separated (getrennt lebend) Widowed (verwitwet)
7. occupation (kategorisch) Beruf der Person.
8. relationship (kategorisch) Beziehung zur Familie im Haushalt. Husband (Ehemann) Wife (Ehefrau) Own-child (eigenes Kind) Unmarried (unverheiratet)
9. race (kategorisch) Ethnische Zugehörigkeit der Person. White (weiß) Black (schwarz) Asian-Pac-Islander (asiatisch-pazifische Herkunft)
10. sex (kategorisch) Geschlecht der Person. Werte: Male (männlich), Female (weiblich)
11. capital.gain (numerisch) Kapitalgewinne (z. B. durch Investitionen).
12. capital.loss (numerisch) Kapitalverluste (z. B. aus Investitionen).
13. hours.per.week (numerisch) Durchschnittliche Arbeitsstunden pro Woche.
14. native.country (kategorisch) Herkunftsland der Person.
15. income (Zielvariable, kategorisch) Einkommensklasse der Person. <=50K (Jahreseinkommen ≤50.000 USD) >50K (Jahreseinkommen >50.000 USD)

## Analyse des Datensatzes

- Datensatzgröße
- Anzahl und Art der Datentypen
- Fehlende Werte in den einzelnen Spalten
- Statistische Zusammenfasung

| age | fnlwgt | education.num | capital.gain | capital.loss | hours.per.week
--- | --- | --- | --- | --- | --- | ---
count | 32561.000000 | 3.256100e+04 | 32561.000000 | 32561.000000 | 32561.000000 | 32561.000000
mean | 38.581647 | 1.897784e+05 | 10.080679 | 1077.648844 | 87.303830 | 40.437456
std | 13.640433 | 1.055500e+05 | 2.572720 | 7385.292085 | 402.960219 | 12.347429
min | 17.000000 | 1.228500e+04 | 1.000000 | 0.000000 | 0.000000 | 1.000000
25% | 28.000000 | 1.178270e+05 | 9.000000 | 0.000000 | 0.000000 | 40.000000
50% | 37.000000 | 1.783560e+05 | 10.000000 | 0.000000 | 0.000000 | 40.000000
75% | 48.000000 | 2.370510e+05 | 12.000000 | 0.000000 | 0.000000 | 45.000000
max | 90.000000 | 1.484705e+06 | 16.000000 | 99999.000000 | 4356.000000 | 99.000000

## Prozentuale Verteilung der Personen im Datensatz

# Datenvorverarbeitung

Auffüllen von fehlenden Werten, Umwandlung von Variablen

## Überprüfung auf fehlende oder ungültige Werte

    # Überprüfen auf fehlende Werte oder '?'
    for col in df.columns:
        missing_count = df[df[col] == '?'].shape[0]
        if missing_count > 0:
            print(f"Spalte '{col}' hat {missing_count} Einträge mit '?'")

    Spalte 'workclass' hat 1836 Einträge mit '?'
    Spalte 'occupation' hat 1843 Einträge mit '?'
    Spalte 'native.country' hat 583 Einträge mit '?'

## Ersetzung von fehlenden/ ungültigen Werten (vorher)

| age | workclass | fnlwgt | education | education.num | marital.status | occupation
--- | --- | --- | --- | --- | --- | --- | ---
0 | 90 | ? | 77053 | HS-grad | 9 | Widowed | ?
1 | 82 | Private | 132870 | HS-grad | 9 | Widowed | Exec-managerial
2 | 66 | ? | 186061 | Some-college | 10 | Widowed | ?
3 | 54 | Private | 140359 | 7th-8th | 4 | Divorced | Machine-op-inspct
4 | 41 | Private | 264663 | Some-college | 10 | Separated | Prof-specialty

## Ersetzung von fehlenden/ ungültigen Werten (nachher)

| age | workclass | fnlwgt | education | education.num | marital.status | occupation
--- | --- | --- | --- | --- | --- | --- | ---
0 | 90 | Private | 77053 | HS-grad | 9 | Widowed | Prof-specialty
1 | 82 | Private | 132870 | HS-grad | 9 | Widowed | Exec-managerial
2 | 66 | Private | 186061 | Some-college | 10 | Widowed | Prof-specialty
3 | 54 | Private | 140359 | 7th-8th | 4 | Divorced | Machine-op-inspct
4 | 41 | Private | 264663 | Some-college | 10 | Separated | Prof-specialty

## Umwandlung der Variablen

- Von Katergorischen Variablen zu Numerischen
- Beispiel Geschlecht:
  - Mann -> 1
  - Frau -> 0
- Wird benötigt um mit dem Datensatz weiter zu arbeiten zu können -> ML-Modelle benötigen numerische Werte um sinnvolle Berechnungen durchführen zu können

# ML-Modell

Auswahl, Beschreibung, Hyperparameter, Güte

## Auswahl eines geeigneten Modells

Kriterium | Unsere Situation
--- | ---
Art der Daten | Strukturiert
Datenmenge | ~32.500 Einträge
Komplexität | 13-dimensionale Daten –> eher komplex
Ziel und Art der Klassifizierung | Binäre Klassifizierung (>/< 50.000$ Einkommen)

–> Gute Voraussetzungen für Random Forest

Außerdem:

- Rechenressourcen
- Zeit für Training

## Random Forest

- Ensemble-Learning-Verfahren, bestehend aus vielen Entscheidungsbaummodellen (bei uns 100 Bäume)
- Training: Jeder Baum wird auf zufälliger Teilmenge der Daten und zufälliger Teilmenge der Features trainiert
- Vorhersagen: Ergebnisse aller Bäume werden aggregiert, um eine finale Vorhersage zu erhalten
- Keine Aktivierungsfunktionen oder Layer

- Ensemble Learning: Mehrere verschiedene Lernalgorithmen, um bessere Ergebnisse zu erhalten als mit einem einzelnen Lernalgorithmus
- Gute Leistung bei verschiedenen Arten von Daten
- Robustheit gegenüber Overfitting
- Fähigkeit, mit fehlenden Werten und kategorischen Variablen umzugehen
- Eingebaute Feature Importance
- Aktivierungsfunktionen: Entscheidungsbäume, basieren auf Regeln und Splits, ohne mathematische Aktivierungsfunktionen.
- Layers: Es gibt keine Schichten (Layers) im klassischen Sinne, wie bei neuronalen Netzwerken. Jeder Baum ist ein eigenständiger Klassifikator.

## Random Forest

## Hyperparameter

> Parameter, die vor dem Training festgelegt werden müssen

Hyperparameter | Bedeutung
--- | ---
n_estimators | Anzahl an Bäumen
max_depth | Maximale Tiefe eines Baumes
min_samples_split | Mindestanzahl an Samples, um ein Split durchzuführen
min_samples_leaf | Mindestanzahl an Samples in einem Blatt

## Hyperparameter-Tuning

> Optimierung der Hyperparameter, um die Modellgüte zu verbessern

    # Hyperparameter-Grid definieren
    param_grid = {
        'n_estimators': [50, 100],
        'max_depth': [None, 10, 20],
        'min_samples_split': [2, 5],
        'min_samples_leaf': [1, 2]
    }

    # GridSearchCV
    grid_search = GridSearchCV(RandomForestClassifier(random_state=42), param_grid, cv=3, scoring='accuracy')
    grid_search.fit(X_train, y_train)

    # Beste Parameter
    print("Beste Parameter:")
    print(grid_search.best_params_)

    {
        'max_depth': None,
        'min_samples_leaf': 2,
        'min_samples_split': 2,
        'n_estimators': 100
    }

## Hyperparameter-Tuning

    # Hyperparameter-Grid definieren
    param_grid = {
        'n_estimators': [50, 100],
        'max_depth': [None, 10, 20],
        'min_samples_split': [2, 5],
        'min_samples_leaf': [1, 2]
    }

    # GridSearchCV
    grid_search = GridSearchCV(RandomForestClassifier(random_state=42), param_grid, cv=3, scoring='accuracy')
    grid_search.fit(X_train, y_train)

    # Beste Parameter
    print("Beste Parameter:")
    print(grid_search.best_params_)

    # Bestes Modell
    best_rf_model = grid_search.best_estimator_

    # Vorhersagen mit dem besten Modell
    y_pred_best = best_rf_model.predict(X_test)

    # Modellleistung evaluieren
    accuracy_best = accuracy_score(y_test, y_pred_best)
    precision_best = precision_score(y_test, y_pred_best)
    recall_best = recall_score(y_test, y_pred_best)
    f1_best = f1_score(y_test, y_pred_best)

## Modellgüte

- Accuracy: Anteil der korrekt klassifizierten Instanzen
- Precision: Anteil der als positiv klassifizierten Instanzen, die tatsächlich positiv sind
- Recall: Anteil der tatsächlich positiven Instanzen, die als positiv klassifiziert wurden
- F1-Score: Harmonisches Mittel aus Precision und Recall

    {
      'Accuracy': 0.8607,
      'Precision': 0.7613,
      'Recall': 0.6142,
      'F1 Score': 0.6798
    }

Konfusionsmatrix

## Konfusionsmatrix

- (oben links) Tatsächlich sind die meisten weniger als 50K und auch richtig vorhergesagt
- (unten rechts) Zweitgrößte Gruppe: Mehr als 50k und auch so vorhergesagt
- (unten links) Drittgrößte Gruppe: Eigentlich mehr als 50k aber als weniger vorhergesagt
- (oben rechts) Kleinste Gruppe: Tatsächlich weniger als 50k aber als mehr vorhergesagt

## Feature Importances

> Metrik, wie viel ein Feature zur Vorhersage des Modells beiträgt

# LIME

Local Interpretable Model-agnostic Explanations

## 1. Grundprinzip:

- LIME erklärt einzelne Vorhersagen eines beliebigen ML-Modells
- Es arbeitet modellunabhängig (model-agnostic)
- Erzeugt lokale, interpretierbare Erklärungen für einzelne Vorhersagen

## 2. Funktionsweise im Detail:

### Ausgangssituation:

- Ein trainiertes ML-Modell liegt vor
- Eine spezifische Vorhersage soll erklärt werden
- Das Original-Modell wird als “Black Box” behandelt

## 2. Funktionsweise im Detail:

### Prozessschritte:

- Sampling um den Datenpunkt:
  - Erzeugt synthetische Samples in der Nachbarschaft des zu erklärenden Datenpunkts
  - Verwendet Perturbationen (kleine Änderungen) der Original-Features
- Gewichtung der Samples:
  - Näher liegende Samples erhalten höhere Gewichte

## 2. Funktionsweise im Detail:

### Prozessschritte:

- Feature-Transformation:
  - Konvertiert die Daten in ein interpretierbares Format
  - Bei Texten z.B. Umwandlung in binäre Features (Wort vorhanden/nicht vorhanden)
- Training eines einfachen Modells:
  - typischer weise durch lineare Regression
  - Verwendet die gewichteten Samples
  - Optimiert auf lokale Genauigkeit
  - damit man ein leicht Interpretierbares Modell bekommt

## 2. Funktionsweise im Detail:

Extraktion der Erklärung:

Hier sind zwei Beispiele wie die Erklärung von LIME extrahiert werden kann. Einmal als Grafik durch ein Balkendiagramm und einmal als Tabelle. Roter Bereich: Je größer der Rote Bereich, je geringer wird die Chance mehr als 50k zu bekommen Grüner Bereich: Je größer der Grüne Bereich, je größer wird die Chance mehr als 50k zu bekommen

## 3. Wichtige Eigenschaften:

- Lokalität:
  - Fokussiert sich auf lokale Umgebung der zu erklärenden Instanz
  - Erzeugt keine globalen Erklärungen für das gesamte Modell
- Interpretierbarkeit:
  - Nutzt einfache, verständliche Modelle für Erklärungen
  - Meist lineare Modelle oder Entscheidungsbäume
- Modell-Agnostik:
  - Funktioniert mit jedem ML-Modell
  - Benötigt nur Zugriff auf Vorhersagefunktion

## 4. Vorteile und Grenzen:

LIME ist instabil, bedeuted das wenn man LIME zweimal ausführen würde, kann es sein das es nicht auf das gleiche Ergebnis kommt, sondern die Gewichtung anders verteilt.

- Vorteile:
  - Flexibel einsetzbar
  - Intuitiv verständliche Erklärungen
  - Unterstützt verschiedene Datentypen
- Grenzen:
  - Nur lokale Erklärungen
  - Sampling kann rechenintensiv sein
  - LIME ist instabil
- LIME ist besonders nützlich, wenn man:
  - Einzelne Vorhersagen verstehen möchten
  - Mit komplexen Modellen arbeitet
  - Modelle debuggen oder verbessern will

## LIME Anwendungsszenarien

Medizinische Diagnostik und Gesundheitswesen

- Krebsdiagnose: Erklärung, welche Merkmale in medizinischen Bildern zu einer Krebsdiagnose beitragen

## LIME Anwendungsszenarien

Medizinische Diagnostik und Gesundheitswesen

- Krebsdiagnose: Erklärung, welche Merkmale in medizinischen Bildern zu einer Krebsdiagnose beitragen

Finanzwesen und Kreditvergabe

- Kreditwürdigkeitsprüfung: Transparente Begründung für Kreditablehnungen oder -genehmigungen
- Betrugserkennung: Erklärung, warum bestimmte Transaktionen als verdächtig eingestuft werden

## LIME Anwendungsszenarien

Medizinische Diagnostik und Gesundheitswesen

- Krebsdiagnose: Erklärung, welche Merkmale in medizinischen Bildern zu einer Krebsdiagnose beitragen

Finanzwesen und Kreditvergabe

- Kreditwürdigkeitsprüfung: Transparente Begründung für Kreditablehnungen oder -genehmigungen
- Betrugserkennung: Erklärung, warum bestimmte Transaktionen als verdächtig eingestuft werden

Personalabteilung und Recruiting

- Bewerberselektion: Erklärung, welche Qualifikationen oder Fähigkeiten bei der Kandidatenauswahl entscheidend waren

## LIME Berechnungskosten

LIME skaliert:

- Linear mit der Anzahl der Samples (N)
- Quadratisch bis kubisch mit der Anzahl der Features (D)
- Linear mit der Komplexität des zu erklärenden Modells M(D)

Komplexität in BigO Notation:

- O(N × M(D)), wenn das zu erklärende Modell komplex ist
- O(N × D²), wenn das lineare Modell der rechenintensivste Teil ist

Große Datensätze generell Machbar - Dürfen nur nicht zu viele Features haben, das erhöhe stark den Rechenaufwand

## Rule Based Explenation

- Verfahren wird gefüttert mit

- Daten und Labels

- Erstellt draus Regeln

## Detaillierte Erklärung und Funktionsweise

- Menschen lernen schneller als Tiere

- Menschen kommunizieren schneller / besser

- Vor allem auf Grund von Regeln

- Satzbau, Erklärungen, Logik

- Hund Sitz beibringen

- braucht viele iterationen (mit Belohnungen)

- Mensch kann deutlicher erklären was das Ziel ist

- Regel Basiertes Lernen kommt zum Einsatz

- Anstatt (unverständlicher) neuronaler Netze

- oder komplexen mathematischen Modellen

- Verwendung von logischen Rgeln

- extrahiert aus Daten oder durch Experten definiert

## Beispiel Regel

> WENN

> Fieber über 38°C

> UND Husten

> DANN Grippe

## Beispiel Regel

> WENN

> capital.gain ≤ 7073.50 UND

> education.num ≤ 12.50 UND

> capital.loss > 2218.50 UND

> DANN Einkommen > 50K

## Vorteile

- Transparenz: Menschen können Entscheidungen leicht
  nachvollziehen
- Überprüfbarkeit: Regeln können durch Experten überprüft
  und Ausgewertet werden
- Anpassbarkeit: Vordefinierte Regeln von Experten können
  mit maschinell erstellten Regeln ergänzt werden

Transparenz: Menschen können Entscheidungen leicht nachvollziehen Überprüfbarkeit: Regeln können durch Experten überprüft werden und Anpassungen vorgenommen werden Anpassbarkeit: Vordefinierte Regeln von Experten können mit maschinell erstellten Regeln kombiniert werden - (Modellunabhängig)

## Nachteile/Herausforderungen

- Skalierbarkeit: komplexen Anwendungsgebiete können eine hohe
  Anzahl an Regeln schnell erreichen
- Gereralität: Regeln sind oft domänenspezifisch und benötigen
  für unterschiedliche Kontexte entsprechend anpassungen
- Widersprüche: Regeln können zu Widersprüchen untereinander
  führen und müssen daher angepasst werden

- Skalierbarkeit: In komplexen Anwendungsgebieten können die Anzahl an Regeln schnell sehr hoch werden.
- Gereralität: Regeln sind oft domänenspezifisch und müssen für unterschiedliche Kontexte entsprechend angepasst werden
- Widersprüche: Regeln können zu Widersprüchen untereinander führen und müssen daher angepasst werden

## RBE Anwendungsszenarien

Medizinische Diagnostik und Gesundheitswesen

- Diagnostische Systeme: Ärzte benötigen klare Regeln, um Diagnosevorschläge zu verstehen und zu validieren

Medizin / Gesundheitswesen

- Regeln, warum welche Diagnose vorgeschlagen wurde

Finanzwesen

- Regeln, warum Transaktion verdächtig ist
- Regeln, warum Kredit genehmigt / abgelehnt wurde

Versicherungswesen

- Regeln, warum Prämien zu stande kommen
- Regeln, warum Schadensansprüche geltend gemacht werden können

## RBE Anwendungsszenarien

Medizinische Diagnostik und Gesundheitswesen

- Diagnostische Systeme: Ärzte benötigen klare Regeln, um Diagnosevorschläge zu verstehen und zu validieren

Versicherungswesen

- Risikobewertung: Transparente Regeln zur Prämienberechnung
- Schadenregulierung: Nachvollziehbare Entscheidungskriterien für Schadensansprüche

Medizin / Gesundheitswesen

- Regeln, warum welche Diagnose vorgeschlagen wurde

Finanzwesen

- Regeln, warum Transaktion verdächtig ist
- Regeln, warum Kredit genehmigt / abgelehnt wurde

Versicherungswesen

- Regeln, warum Prämien zu stande kommen
- Regeln, warum Schadensansprüche geltend gemacht werden können

## RBE Anwendungsszenarien

Medizinische Diagnostik und Gesundheitswesen

- Diagnostische Systeme: Ärzte benötigen klare Regeln, um Diagnosevorschläge zu verstehen und zu validieren

Versicherungswesen

- Risikobewertung: Transparente Regeln zur Prämienberechnung
- Schadenregulierung: Nachvollziehbare Entscheidungskriterien für Schadensansprüche

Finanzwesen und Kreditvergabe

- Betrugserkennung: Einfach verständliche Regeln zur Identifikation verdächtiger Transaktionen
- Kreditentscheidungen: Banken müssen Ablehnungen oder Genehmigungen rechtlich begründen können

Medizin / Gesundheitswesen

- Regeln, warum welche Diagnose vorgeschlagen wurde

Finanzwesen

- Regeln, warum Transaktion verdächtig ist
- Regeln, warum Kredit genehmigt / abgelehnt wurde

Versicherungswesen

- Regeln, warum Prämien zu stande kommen
- Regeln, warum Schadensansprüche geltend gemacht werden können

## RBE Output

    |--- marital.status_Married-civ-spouse <= 0.50
    |   |--- capital.gain <= 7073.50
    |   |   |--- education.num <= 12.50
    |   |   |   |--- capital.loss <= 2218.50
    |   |   |   |   |--- hours.per.week <= 40.50
    |   |   |   |   |   |--- Einkommen ≤ 50K
    |   |   |   |   |--- hours.per.week >  40.50
    |   |   |   |   |   |--- Einkommen ≤ 50K
    |   |   |   |--- capital.loss >  2218.50
    |   |   |   |   |--- fnlwgt <= 125450.50
    |   |   |   |   |   |--- Einkommen > 50K
    |   |   |   |   |--- fnlwgt >  125450.50
    |   |   |   |   |   |--- Einkommen ≤ 50K

- Ich zeige euch keinen code aber zumindes den Output solltet ihr mal gesehen haben
- Als erstes den Decission Tree
- Und dann gescheit formatiert als Satz
- Richtigen Code wird später im Notebook vorgestellt

## RBE Berechnungskosten

RBE skaliert:

- N = Anzahl der Trainingsbeispiele
- D = Anzahl der Merkmale (Features)

Komplexität in BigO Notation: O(N × D × log N)

Komplexität zusammengesetzt aus: - Training des Surrogate-Modells (DecisionTreeClassifier) - Vorhersagen mit dem Random Forest (Referenzmodell) - Extraktion der Regeln aus dem Entscheidungsbaum - Evaluierung des Surrogate-Modells

Große Datensätze generell Machbar - Dürfen nur nicht zu viele Features haben, das erhöhe stark den Rechenaufwand

## Jetzt wird es Praktisch

Jetzt das Notebook zeigen und konkret durchgehen

## Vergleich der XAI-Verfahren

- Interpretierbarkeit
- Modellunabhängigkeit
- Genauigkeit / Konsistenz
- Anwendungsszenarien

## LIME Interpretierbarkeit

- Leicht verständlich, welche Features relevant waren
- Auch verständlich Laien

Rote Balken - Features die die Wahrscheinlichkeit von >=50k verringern

Grüne Balken - Features die die Wahrscheinlichkeit von >=50k erhöhen

## LIME Modellabhängigkeit

- Ist Model-Agnostic
- Behandelt jedes Modell als Blackbox

Wie in LIME schon beschrieben

L: local I: Interpretable M: Model Agnostic

## LIME Konsistenz

- Die Ergebnisse sind instabil
- Können aber stark variieren da es auf zufälligen Abänderungen der Daten basiert

Wir haben 10 Erklärungen laufen lassen

- Dann immer die Feature Wichtigkeit verglichen
- Geringe Varianz: Ähnliche Ergebnisse
- Hohe Varianz: Unterschiedliche Ergebnisse

=> Wir haben hier die Top 5 mit der größten Varianz => Immernoch gering

## LIME Anwendungsszenarien

- Medizinische Diagnostik und Gesundheitswesen
- Finanzwesen und Kreditvergabe
- Personalabteilung und Recruiting

Verständnis einer einzelnen Vorhersage

## RBE Interpretierbarkeit

- Regeln Leicht Nachvollziehbar: Wenn-Dann-Struktur von Regeln
- Potenziell komplex bei vielen Regeln
- Auch für Laien Verständlich

1. Wenn-Dann-Struktur ist leicht zu verstehen, wie man auf Ergebnis kommt
2. Komplex / unübersichtlich wenn man viele Regeln hat
3. Regeln verstehen auch Lian

## RBE Interpretierbarkeit

Beispiel einer Regel: Vorhersagt > 50K

- WENN
- capital.gain ≤ 7073.50 UND
- education.num ≤ 12.50 UND
- capital.loss > 2218.50 UND
- DANN Einkommen > 50K

Beispielregel für > 50K Einkommen

## RBE Modellabhängigkeit

- Inhärent regelbasierte Modelle (modellabhängig)
- Post-hoc regelbasierte Erklärungen (modellunabhängig)

Wir verwenden einen: Surrogate-Entscheidungsbaum

- Dieser ist modellunabhängig

Inhärent regelbasierte Modelle - Diese Modelle sind ihre eigenen Erklärungen - die Regeln sind das Modell.

Post-hoc regelbasierte Erklärungen - Diese Ansätze können prinzipiell auf jedes Modell angewendet werden und sind daher modellunabhängig.

Surrogate-Entscheidungsbaum

- Post-hoc (Modellunabhängig)
- Bekommt Trainingsdaten und Random Forest Vorhersagen

Die extrahierten Regeln bieten eine globale Erklärung des Random Forest-Verhaltens.

## RBE Genauigkeit & Konsistenz

- Genauigkeit: Wie nahe an Ergebnis von RF
- Konsistenz: Schwankungen der Genauigkeit

Vorgehen:

- Surrogate-Modell trainiert, sodass es RF-Vorhersagen nachahmt
- Vorhersage von Surrogate-Modell mit RF vergleichen
- Berechnen die oft Vorhersagen gleich ist in %

Das ganze mit mehreren Baumtiefen

- So finden wir die optimale Baumtiefe

=> Man sieht sehr hohe Genauigkeit

## RBE Anwendungsszenarien

- Medizinische Diagnostik und Gesundheitswesen
- Finanzwesen und Kreditvergabe
- Versicherungswesen

Globlaler Überblick von Entscheidungslogik

Wieso Entscheidet das Modell Allgemein

Medizin / Gesundheitswesen

- Beispiel Schlaganfall

- => Wir wollen wissen, warum er allgemein zur Diagnose kommt

## Vielen Dank für Eure Aufmerksamkeit!