Beitragsbild_Shiny_Apps_skalieren

Machine Learning Interpretability @DataUniversity2019

Fabian Müller Blog, Data Science, Statistik

In diesem Jahr findet zum ersten mal die Data University an der Goethe-Uni in Frankfurt statt. Gemeinsam mit BARC präsentieren wir von STATWORX zwei Tage lang verschiedene Themen rund um die Themen Data Science, Data Engineering und Data Strategy.

Im Data Science Track findet sich neben Advanced Machine Learning und Automated Machine Learning auch eine besonders spannende Session zum aktuell viel diskutierten Thema Machine Learning Interpretability.

Erklärbarkeit für Black Box Modelle

Ungeachtet ihrer weit verbreiteten Anwendung werden Machine Learning Modelle nach wie vor als Black Box gesehen. Es wird häufig argumentiert, dass Machine Learning Modelle zwar eine sehr gute prädiktive Güte aufweisen, die Parameter und Einflussfaktoren jedoch nicht interpretierbar seien. Aus dieser Kritik heraus, wurde das Forschungsgebiet der Machine Learning Interpretability gegründet. Dort wird versucht, Methoden und Ansätze zu entwickeln, die die Erklärbarkeit von Machine Learning Modellen steigern. Insbesondere in den letzten Jahren, wurden in diesem Bereich deutliche Fortschritte geschaffen, wodurch die Behauptung, Machine Learning Modelle seien reine Black Box Ansätze, heute so nur noch bedingt zutrifft.

Erklärbarkeit am Beispiel von Preisprognosen

Ein kleines Beispiel gefällig? Im folgenden Absatz findet sich der Python Code zur Erstellung eines Prognosemodells für den Kaufpreis von Häusern anhand historischer Daten im Großraum Boston, MA. Die vorliegenden Zeilen Code reichen aus, um ein Machine Learning Modell zu bauen, dass bereits eine Genauigkeit von etwa 85% erreichen kann.

import pandas as pd
from xgboost import XGBRegressor

# Load the data
df = pd.read_csv('data_houses.csv')

# Column names of target and features
target = 'price'
features = ['bedrooms', 'bathrooms', 'sqft_living', 'sqft_lot', 'floors',
           'waterfront', 'view', 'condition', 'grade', 'sqft_above',
           'sqft_basement', 'yr_built', 'yr_renovated',
           'lat', 'long', 'sqft_living15', 'sqft_lot15']

# Subset columns
y = df[target]
X = df[features]

# Train/test split
X_train, X_test, y_train, y_test = train_test_split(X, y)

# Train XGBoost model 
mod = XGBRegressor()
mod.fit(X_train, y_train)
p = mod.predict(X_test)

# Evaluate model
mean_absolute_error(y_test, p)

Das verwendete Modell verwendet zur Schätzung der Preise ein Ensemble aus 100 Decision Trees (Gradient Boosting). Eine native Interpretation dieses Modells ist daher in der Tat kaum möglich.

In den letzten Jahren wurden jedoch neue methodische Ansätze entwickelt, die von sich aus nicht-interpretierbare Modelle interpretierbar machen. Ansätze dieser Art werden allgemein als model-agnostische post hoc Ansätze bezeichnet.

Einer dieser Ansätze ist der sogenannte Partial Dependency Plot. Dieser erlaubt auch für hochgradig nicht-lineare Modelle detaillierte Aussagen über den Einfluss einzelner Features auf das Target. Für das Modell aus dem vorherigen Beispiel kann somit gezeigt werden, welchen Einfluss der Breitengrad eines Hauses auf den vorhergesagten Preis hat.

Model-agnostische post hoc Ansätze sind aber nicht nur global auf Modelle anwendbar, sondern können auch interessante Erkenntnisse über einzelne Observationen erzeugen. Im unteren Beispiel wurden sogenannte Shapley Values dazu genutzt, die finale Prognose von $387,092 in einzelne Bestandteile zu zerlegen. Deutlich zu sehen ist dabei, welchen Anteil die einzelnen Einflussfaktoren (z.B. auch wieder der Breitengrad) zur finalen Prognose beitragen.

forceplot

Join us @DataUniversity2019 !

Partial Dependency Plots und Shapley Values sind nur zwei mögliche Ansätze um Machine Learning Modelle interpretierbar zu machen. Im Workshop “Machine Learning Interpretability” der Data University werden wir diese und weitere Ansätze im Detail vorstellen, diskutieren und anhand realer Beispiele in R und Python anwenden.

Du interessierst dich für die Data University und möchtest mehr über das Workshop-Event wissen? In diesem Video erzählen dir zwei unserer Trainer, Sebastian Heinz (Gründer und CEO von STATWORX) & Dr. Sebastian Derwisch (Data Scientist bei BARC ), was wir bei der Data University alles vorhaben und welche die Vorteile einer Teilnahme sind. Viel Spaß beim Reinschauen!

Informiere dich außerdem auf der Homepage der Data University zu allen Workshops, Trainern und Terminen. Erweitere Deinen Blickwinkel auf die Themen Data Strategy, Data Engineering, Data Science und Data Technology. Wir freuen uns auf dich!

Über den Autor
Fabian Müller

Fabian Müller

I am the Head of Data Science at STATWORX and responsible for our data science teams and key accounts. In my spare time, I'm into doing sports and fast cars.

ABOUT US


STATWORX
is a consulting company for data science, statistics, machine learning and artificial intelligence located in Frankfurt, Zurich and Vienna. Sign up for our NEWSLETTER and receive reads and treats from the world of data science and AI. If you have questions or suggestions, please write us an e-mail addressed to blog(at)statworx.com.