Projekte

Ein paar meiner Projekte stelle ich hier vor, um einen kleinen Einblick in die vielfältige Welt von Controlling, IT und Data Science zu geben. Dabei reicht die Spanne von programmiertechnischen Fingerübungen über machine-learning Algorithmen hin zu umfangreichen Datenanalysen.

Noch eine zusätzliche Information: nicht alles, was ich im Internet veröffentliche, stelle ich unter meinem richtigen Namen online. Ich habe irgendwann begonnen, auf diversen Plattformen das Pseudonym „Dean Corso“ zu verwenden. Zum Beispiel lautet mein Github-Account auf diesen Namen, daher taucht der Name auch in einigen Links auf.

Titanic

Auf der Plattform www.kaggle.com werden diverse Competitions angeboten, in denen Data Scientisten mit ihren Lösungen gegeneinander antreten können. Neben zum Teil recht hohen Preisgeldern kann es auch um „Ruhm und Ehre“ gehen oder die reine Lernerfahrung.

Die Titanic-Competition ist dabei so etwas wie das „Hello World“ der Data Science Community. Bei Untersuchungen des Untergangs der Titanic wurde festgestellt, dass manche Passagiere bessere Überlebenschancen hatten als andere. Mit Hilfe eines von kaggle zur Verfügung gestellten Datensatz soll ein machine-learning-Algorithmus entwickelt werden, der für individuelle Passagiere vorhersagt, ob sie überleben oder nicht.

Der Datensatz enthält Informationen über Buchungsklasse, Einstiegsort, Alter, etc. von 891 Passagieren. Wie in der realen Data Science Welt sind die Informationen nicht vollständig und konsistent, es wird also eine Strategie benötigt, mit fehlenden und fehlerhaften Daten umzugehen. Zusätzlich werden aus den vorhandenen Informationen weitere Variablen kreiert (Feature Engineering), die zur Vorhersage genutzt werden.

Nach dem Training des Modells mit diesen Informationen wird es auf Passagierdaten angewendet, für die keine Informationen über das Überleben vorliegen. Die Vorhersagegenauigkeit (Accuracy) für diesen Datensatz ergibt den Score in der Competition. Mein Modell hatte auf Trainingsdaten eine Accuracy von 85,31% erreicht, in der Competition leider nur 78,47%. Das hat jedoch immer noch für Platz 3.621 gereicht von ca. 20.000 Teilnehmern.

Kaggle-Rank 3.621
Platzierung 3.621 für meine Lösung

Wobei man die Platzierung mit einer gewissen Skepsis sehen muss. Auf den vordersten Plätzen erreichen die Teilnehmer eine Genauigkeit von 100% mit der ersten Einreichung – aber da die komplette Passagierliste öffentlich zugänglich ist, ist es ein Leichtes, ein Modell so zu trainieren, dass es für alle Passagiere das reale Ergebnis auswirft. Theoretisch könnte ein „Algorithmus“ auch einfach die Passagierliste mit den Eingabedaten abgleichen und den Status ausgeben, komplett ohne machine-learning-Techniken. Schade, da es dem Geist eines Wettbewerbs entgegenläuft.

Meine Lösung und den Weg dahin habe ich mit einer detaillierten Beschreibung auf Github veröffentlich.

AirBnB

Neben diversen Competitions bietet www.kaggle.com auch komplette Datensätze an, die frei zum Download zur Verfügung stehen und zum Rumspielen einladen. Eines der Datensets enthält Daten von über AirBnB vermittelte Apartments in Berlin. Ich habe diesen Datensatz mit R untersucht, die Ergebnisse in einem R-Markdown Dokument festgehalten und auch auf Github hochgeladen.

Die Daten werden dabei zuerst eingelesen, bereinigt und dann erfolgt eine explorative Datenanalyse (EDA). Hier werden einige Fragen zum Datensatz beantwortet, aber auch neue Fragen aufgeworfen, die wieder mit einer EDA beantworten werden müssten. Nach der explorativen Analyse folgt das Training eines einfachen machine-learning-Modells, um Preise für AirBnB-Appartments vorhersagen zu können.

Zinsrechner

Der Zinsrechner ist eine kleine programmiertechnische Fingerübung, aber durchaus nützlich für Trainings, um online finanzmathematischen Faktoren zu berechnen. Die Faktoren werden in R berechnet, für die Ein- und Ausgabe habe ich eine Oberfläche mit Shiny Apps entwickelt und auf shinyapps.io veröffentlicht.