Schnelleinstieg in Data Science und Machine Learning

Was ist Data Science?

Der Begriff Data Science ist in den letzten Jahren ein Buzzword geworden, das ein interdisziplinäres Feld bezeichnet, in dem Themen aus der Mathematik, der Statistik, und der Informatik zusammenkommen.

Grob gesagt geht es darum, Fragen zu stellen, und diese dann datenbasiert zu beantworten. Einige Beispiele für solche Fragen sind:

  • Ist diese E-Mail Spam oder nicht?
  • Wird ein Kreditantragsteller diesen Kredit abbezahlen oder ausfallen?
  • Welchen Preis wird dieses Haus beim Verkauf erzielen?
  • Wird dieser Kunde das Produkt X kaufen?
  • Welche Art von Produkt ist für diesen Kunden am interessantesten?

Ein Data Scientist beginnt nun mit solch einer Frage, und arbeitet am Sammeln, Auswerten, und Interpretieren von Daten, bis die Frage beantwortet wurde.

Was macht ein Data Scientist?

Hilary Mason, ehemals Data Scientist in einer Venture-Capital-Firma, und nun selbst Startup-Gründerin, beschreibt in einem Blogpost die Tätigkeiten eines Data Scientists mit dem Akronym OSEMN:

  • Obtain Data: Gemeint ist das Sammeln von Daten aus einer oder mehreren (evtl. heterogenen) Quellen. Das können zum Beispiel automatisch erstellte Excel-Tabellen sein, oder alle Tweets der letzten 24 Stunden. Für den ersten Fall ist das Beherrschen der Kommandozeile oder einer Skriptsprache (z.B. Python) essentiell, im zweiten Fall helfen zusätzlich die APIs der betroffenen Webanwendungen.
  • Scrub Data: Das Bereinigen der Daten nimmt von allen Schritten oft am meisten Zeit in Anspruch. Daten aus verschiedenen Quellen müssen zusammengeführt werden, so dass sie in den nächsten Schritten möglichst elegant weiterverarbeitet und analysiert werden können. Man muss z.B. aus den vorhandenen Daten neue Informationen generieren (das sogenannte Feature Engineering), oder fehlende Werte geeignet ersetzen. Werkzeuge, die hier helfen, sind u.a. die Linux-Tools sed/grep/awk, und Perl oder Python.
  • Explore Data: Mit den gereinigten Daten kann man dann gut arbeiten. Bevor man Vermutungen (Hypothesen) aufstellt oder Vorhersagen generieren möchte, sollte man sich in den Daten zuerst explorativ umsehen. Meistens heißt das, sich einige Beispieldaten (z.B. die ersten 10 Zeilen) anzusehen, oder Zusammenfassungen der Daten zu erstellen – entweder Zahlen (wie etwa Mittelwerte), oder Grafiken. Man kann sich z.B. Histogramme einzelner Variablen ansehen, oder Streudiagramme, um den Zusammenhang zwischen zwei Variablen abzuschätzen. Im Beispiel der Tweets könnte man sich sortierte Häufigkeiten von Wörtern oder Hashtags ausgeben lassen.
  • Model Data: Aus den Daten können nun Modelle gebildet werden. Man abstrahiert die in den Daten enthaltene Information z.B. in eine Reihe von Regeln. Vielleicht möchte ein Kreditinstitut anhand der in den letzten 10 Jahren vergebenen Kredite ein paar Regeln erstellen, um die Ausfallwahrscheinlichkeit für eine neue Anfrage vorherzusagen. Das berechnete Modell könnte dann z.B. Regeln generieren wie
    • Angestellte fallen 20% seltener aus wie Selbstständige
    • Mit jedem zusätzlichen Lebensjahr sinkt die Ausfallwahrscheinlichkeit um 2%
    • Höhere Summen führen bei Konsumentenkrediten eher zu einem Ausfall, bei Immobilienkrediten ist es aber andersrum (Das sind natürlich nur erfundene Beispiele)
  • Interpret Data: Ein erstelltes Modell kann dann wiederum dazu verwendet werden, die Daten zu interpretieren. Das Kreditinstitut kann nach dieser beispielhaften Analyse z.B. einen internen Leitfaden zur Kreditvergabe erstellen.

Man sieht, dass ein Data Scientist mit dem gesamten Workflow zu tun haben kann, vom Sammeln der Daten bis zum Formulieren einer Handlungsempfehlung aufgrund der erhaltenen Erkenntnisse. Dabei werden sowohl die klassischen “Hacker”-Fähigkeiten (z.B. das Arbeiten auf der Kommandozeile), sowie das Verständnis von Algorithmen aus der Statistik und dem Machine Learning angewendet.

Wie lernt eine Maschine?

Mit dieser Frage beschäftigt sich das Feld des maschinellen Lernens (machine learning). Hier werden Algorithmen entwickelt, die es Computern ermöglichen, aus einer Reihe von Daten Verallgemeinerungen (“Regeln”) abzuleiten.

Allgemein lernt eine Maschine, indem sie einen Datensatz betrachtet, und dort Strukturen erkennt. Sie kann z.B. eine Tabelle der in den letzten 10 Jahren vergebenen Krediten betrachten, und dort erkennen, dass Konsumentenkredite eher ausfallen als Immobilienkredite, und dass hohe Summen eher ausfallen als niedrigere.

Es gibt eine Vielzahl verschiedener Algorithmen, deren Ergebnisse dann natürlich auch jeweils anders aussehen. Eine derzeit sehr beliebte Klasse basiert auf Klassifikationsbäumen, die sehr intuitiv verständlich sind.

Ein Klassifikationsbaum erstellt eine hierarchisch geordnete Menge von Kriterien (splits), durch die neue Daten dann wandern, und schließlich in einem Endknoten (leaf node) landen. Zur Berechnung solch eines Baums gibt es verschiedene Algorithmen, unter den bekanntesten gibt es z.B. CART und C4.5. Das Ergebnis ist aber immer ein Baum, wie er z.B. in der obigen Abbildung zu sehen ist.

Ein so erstellter Baum kann nun dafür verwendet werden, um nun für eine neue Kreditanfrage eine Vorhersage zu treffen. Falls nun ein Selbstständiger, der noch keine vorherigen Ausfälle hatte, einen Konsumkredit über 1500 Euro möchte, können wir durch den Baum wandern, und ihm den Kredit am Ende gewähren (die Unterscheidung angestellt/selbstständig spielt bei einem Konsumentenkredit in diesem Beispielbaum aber gar keine Rolle).

Komplexere Methoden

Dieser Beispielbaum war natürlich ein stark vereinfachtes Modell. In der Realität sind Modelle meist viel komplexer, und bestehen z.B. aus einer Menge von 1000 Bäumen. Jeder Baum macht eine eigene Vorhersage, und am Ende wird per Mehrheitswahl entschieden, was die finale Prognose ist. Das ist das Grundprinzip der Random Forests, ein Algorithmus, der derzeit unter den Top-Kandidaten bezogen auf die Vorhersagegüte ist.

Durch das Bilden solch eines Ensembles aus vielen “kleinen” Modellen wird die Vorhersage meistens robuster und genauer. Ein zusätzlicher Vorteil ist, dass durch das “Wählen” unter 1000 Bäumen nun eine Art Wahrscheinlichkeit für die Klassen “+” und “-” ausgegeben werden kann, anstatt nur eine Prognose für die Klasse “+” bzw. “-” zu geben.

Mit solchen mächtigeren Methoden lassen sich nun vielerlei reale Probleme lösen:

  • Recommender-Systeme können z.B. neue Filmempfehlungen geben, aufgrund von selbst angesehenen Filmen und von ähnlich bewerteten Filmen anderer User.
  • Googles PageRank-Algorithmus kann eine Reihe von Suchergebnissen anhand der vermuteten Relevanz für den Suchenden sortieren.
  • Deep Learning / Neuronale Netze sind Methoden, deren Funktionsweise durch das menschliches Gehirn inspiriert war. Hier unterhalten sich viele kleine “Neuronen” miteinander, um eine Vorhersage zu treffen, und können auch komplexe Aufgaben, z.B. Sprach- oder Bilderkennung lösen.

Weitere Informationen

Schreibe einen Kommentar

Nachrichten und Ratgeber für IT Freelancer  

   + kostenlos

   + kompakt

   + monatlich

   + spamfrei

Das Neueste zum Wettbewerb 'IT Freelancer des Jahres'

Newsletter des IT Freelancer Magazins