Buchvorstellung: Introduction to Machine Learning with Python

Buchcover Introduction to Machine Learning with Python Gegenstand meiner abendlichen Lektüre war zuletzt ein Buch über Machine Learning mit Python. Einen der beiden Autoren hatte ich in einem Kurs beim DataCamp kennengelernt, und da mir seine Art, Inhalte zu vermitteln, sehr gut gefallen hat, habe ich mir sein Buch bestellt. Die letzten beiden Bücher, die ich auf dieser Seite vorgestellt hatte, haben ja zwei Extreme repräsentiert: während ich das Buch über Predictive Analysis mit Rapid Miner grandios fand, war ich von den Python Data Science Essentials schwer enttäuscht. Wie wird sich das aktuelle Buch wohl schlagen...?

Der Titel zeigt es ja bereits an: auch dieses Buch ist als Einführung in das weite Feld des Machine Learning gedacht. Und so startet es (nach einer kurzen Einführung über Python nebst einem motivierenden Beispiel) mit den beiden wesentlichen Facetten des Machine Learning (ML): dem Unsupervised ML und dem Supervised ML. Diesen beiden Facetten ist jeweils ein eigenes Kapitel gewidmet, und darin werden die jeweiligen Fragestellungen sowie die wesentlichen Algorithmen vorgestellt und in Python (natürlich unter Verwendung der üblichen Bibliotheken wie Pandas, NumPy usw.) umgesetzt. Ab jetzt hat der Leser einen recht guten Überblick über die wesentlichen Grundlagen des ML.

Weiter geht es mit einem Kapitel über die geeignet(st)e Darstellung der Daten bzw. der dazu notwendigen Transformation. Und so führt dieses Kapitel ein in Dummy Variablen, nichtlinearer Transformation und Automatic Feature Selection. Es schließt sich ein Kapitel über die Evaluierung der Modelle sowie deren schrittweise Verbesserung (mittels geeigneter Parameter) an. Dieses Kapitel ist für meinen Geschmack ein wenig knapp ausgefallen, aber ich sehe ein, dass man hierüber ganze Bände füllen könnte und dieses Thema insbesondere für ein Buch, das den Begriff "Einführung" im Titel trägt, zu tiefgreifend ist.

Nach einem Kapitel über das Verketten der einzelnen Schritte / Algorithmen via einer Pipeline folgt noch ein Kapitel über Text Mining, das aber seinerseits auch recht knapp gehalten ist und somit auch noch einen kurzen Überblick geben kann. In allen Kapiteln kommt die Visualisierung mittels der matplotlib-Bibliothek nicht zu kurz, wenngleich die Autoren hier etwas tricksen: die zahlreichen und recht aufwändigen Grafiken, die die Inhalte sehr gut visualisieren, sind zwar mit Python-Bordmitteln entstanden, und der Quellcode ist mit angegeben. Jedoch haben die Autoren hier ein eigenes Modul geschrieben, das jede Menge aufwändige Programmierung kapselt und somit dem noch unkundigen Leser suggeriert, als könne man mit nur ein bis zwei Zeilen Code derartige Grafiken erstellen. Klar, mit Hilfe des Moduls geht das zwar, aber irgendwie steckt dann doch wesentlich mehr dahinter. Das entsprechende Modul kann übrigens kostenfrei über die begleitende Webseite zum Buch bezogen werden.

Die optische Aufbereitung des Inhalts finde ich ansprechend (die Autoren beschreiben, dass das Buch im Wesentlichen auf der Grundlage eines Jupyter-Notebooks entstanden ist), und die Art, wie der Leser angesprochen wird und die Dinge erklärt sind, gefällt mir sehr gut. Indes: nahezu jeder Algorithmus und jedes Vorgehen im Machine Learning bietet mehr oder weniger zahlreiche Möglichkeiten zur Optimierung. Und genau dieser Aspekt kommt in diesem Buch - ich hatte es etwas weiter oben bereits angedeutet - leider etwas zu kurz. Es ist wahrlich stets nur eine Einführung in die jeweiligen Themen (mehr verspricht der Buchtitel ja auch gar nicht), aber eine umfangreiche Diskussion über die Ansätze unterbleibt. Dennoch sind die Inhalte gut aufbereitet und verständlich dargestellt - sowohl für Einsteiger als auch für Fortgeschrittene.

Und so habe ich an dem Buch im Wesentlichen nichts auszusetzen. Allerdings würde ich mir eine Fortsetzung wünschen, die diese Inhalte alle nochmals aufgreift und eine Ebene tiefer behandelt. Das wäre eine schöne Sache!

Für alle, die ich jetzt neugierig gemacht habe, hier die Eckdaten zum Buch:

Introduction to Machine Learning with Python
von Andreas Müller und Sarah Guido
O'Reilly
ISBN 978-1-449-36941-5
Link: Das Buch bei Amazon

Disclaimer

Alle Bilder auf meinem Webauftritt sind von mir selber angefertigt und urheberrechtlich geschützt. Gerne bin ich bereit, der Verwendung meiner Bilder in Ihren Projekten zuzustimmen, doch darüber sollten wir uns im Einzelfall zuvor jeweils austauschen. Sofern Sie Interesse an der Verwendung meiner Bilder haben, können Sie gerne Kontakt zu mir aufnehmen.

Datenschutz

Informationen zum Datenschutz habe ich auf einer eigenen Datenschutzseite zusammengefasst.

Kontaktinformationen

Dr. Norbert Heidenbluth
Monheimer Straße 8
D-40789 Monheim am Rhein

Email: info@norbert-heidenbluth.de

Credits

Für meine XXL-Galerien mache ich Verwendung vom Lens-Template von HTML5UP, das unter einer Creative-Commons-Lizenz veröffentlicht ist.