Introduction to Machine Learning with Python

Wer schon zur Datenauswertung mit Python zu tun hatte, hat die besten Voraussetzungen für einen Start in der Machine-Learning-Welt. Sarah Guido und Andreas C. Müller helfen mit ihrem Buch bei den ersten Schritten.

Literatur  –  0 Kommentare
Introduction to Machine Learning with Python

Andreas C. Müller, Sarah Guido
Introduction to Machine Learning with Python
A Guide for Data Scientists

O’Reilly Media, Sebastopol CA, 2016
394 Seiten, 33,99 €
ISBN 978-1-4493-6941-5

Maschinelles Lernen ist einer der Begriffe, die derzeit durch IT-Fachzeitschriften und die Tagespresse geistern, wenn es zu beschreiben gilt, was Software für Wunderdinge leisten kann. Dahinter stecken zahlreiche Verfahren, die schon lange unter den Labels „künstliche Intelligenz“ oder „Data Mining“ bekannt sind. Das Buch von Andreas C. Müller und Sarah Guido entzieht sich dem Hype und bleibt bei den Tatsachen: Welche Algorithmen gibt es für das maschinelle Lernen und wie können sie Python-Entwickler in der Praxis einsetzen?

(Bild: O'Reilly)

Im Zentrum steht das Python-Modul scikit-learn, das viele Methoden zur maschinellen Datenanalyse schon fertig anbietet. Das Buch programmiert sie nicht nach, sondern diskutiert ihre Anwendungsmöglichkeiten. Die Autoren verwenden die im Analyseumfeld üblichen Module wie Numpy, pandas und SciPy. Alle Grafiken entstanden mit dem Python-Modul matplot-lib und stehen – wie der gesamte Quellcode – zum Herunterladen zur Verfügung.

Das Buch beginnt mit den Grundlagen des maschinellen Lernens und erläutert an Beispielen typische Fachbegriffe wie Klassifizierung, Regression oder Überanpassung. Ein gewisses Verständnis dieser statistischen Grundlagen sollte der Leser haben, damit er bei der Umsetzung keine Missverständnisse produziert. Am Anfang stehen die Klassiker k-Nearest Neighbors und lineare Regression. Daran erläutern die Autoren die grundsätzliche Vorgehensweise: Ein Teil der vorhandenen Daten dient zum Trainieren des Algorithmus und der Rest zur Überprüfung der Qualität der Ergebnisse, die dieser auswirft.

Der Abschnitt, der die „Verfahren mit Lehrer“ (Supervised Learning) enthält, führt Naive Bayes und Entscheidungsbäume ein. Bei Letzteren gibt es Informationen über aktuelle Methoden wie Random Forest. Der nächste Schwerpunkt ist das „Lernen ohne Lehrer“ (Unsupervised Learning). Hier geht es vor allem um das selbstständige Zuordnen von Daten zu bestimmten Gruppen. Das Buch stellt dazu Verfahren wie k-Means Clustering, Agglomerative Clustering und DBSCAN vor. Algorithmen des Unsupervised Learning eignen sich dazu, die Komplexität von Aufgaben zu verringern, um danach mit einer anderen Technik das endgültige Ergebnis zu erreichen.

Nach weiteren Themen wie Bewertung von Vorgehensweisen (Metric) oder der Verknüpfung bestimmter Algorithmen schließen die Autoren mit Verfahren zur Textanalyse. Die Abhandlung konzentriert sich auf die klassischen Methoden des maschinellen Lernens. Neuronale Netze, die heutzutage unter dem Schlagwort Deep Learning hoch im Kurs stehen, reißt es nur an.

Die beschriebenen Vorgehensweisen sollte jeder an der Sache interessierte Python-Entwickler gut nachvollziehen können. Eine Übersetzung erscheint voraussichtlich im Juli dieses Jahres. (jul)