Buchempfehlung: Einführung in Data Science

Wieder habe ich eine Buchempfehlung für interessierte Data Scientisten: Es heisst Einführung in DataScience.
Titel: Einführung in Data Science
Untertitel: Grundprinzipien der Datenanalyse mit Python
Autor: Joel Grus
Übersetzung: Kristian Rother
Verlag: O’REILLY
ISBN: 978-3-96009-021-2
Erscheinungsdatum: 01.03.2016
Seitenanzahl: 348
Das Buch unterscheidet sich von den unzähligen anderen Büchern über Data Science in dem Punkt, dass wirklich alle Algorithmen und Funktionen selber in Python implementiert werden.
Das hat seine positiven und negativen Seiten:
Positive Punkte
Unglaublich positiv ist sicherlich, dass man im Detail sieht, wie alles funktioniert. Man verwendet nicht einfach irgendeinen KNNClassifier einer bestehenden Python Library, sondern programmiert alles selber. Als ob man bei einem Algorithmus nicht nur eine Blackbox sieht, sondern hineingehen und sich umschauen kann. Echt toll!
Weiterhin ist auch sehr positiv, dass der Code aus dem Buch frei im Internet verfügbar ist – Wobei das eigentlich Standard bei den O’REILLY Büchern ist – dennoch. Im Buch sind oftmals die wichtigen Codestücke dargestellt, da hilft es ungemein, wenn man die Files noch in voller Pracht hat, um die Zusammenhänge zu sehen.
Hier ist der Link zum Code: https://github.com/joelgrus/data-science-from-scratch
Positiv ist auch, dass sehr viele Themen abgehandelt werden. Nicht nur die üblichen Verdächtigen wie Maschinelles Lernen, k-Nächste-Nachbarn, Naive-Bayes-Klassifikation, Lineare/Multiple/Logistische Regression, Entscheidungsbäume und Neuronale Netzwerke sondern auch Themen, die zur Einführung in Python und Statistik gehören: Lineare Algebra, Statistik, Wahrscheinlichkeit oder Gradientenmethode. Und wie bereits beschrieben, wird in jedem Kapitel alles selber programmiert.
Mir persönlich gefällt das Kapitel über Neuronale Netze am Besten, obwohl es relativ kurz ist – wie eigentlich fast jedes Kapitel. Das kann jetzt positiv oder negativ sein. Weiter gibt es Kapitel zu Clustering, Linguistische Datenverarbeitung, Graphenanalyse, Empfehlungssysteme, Datenbanken und SQL und Mapreduce. Also wirklich ein sehr breites Spektrum.
Negative Punkte
Ein negativer Punkt, den ich ab und an hatte, ist, dass es so viele Themen sind, dass einige Dinge nicht im Detail erklärt werden – oder nur kurz. Besonders bei den Statistik-Themen werden einige Dinge als gegeben angesehen und nicht im Detail beschrieben. Da hilft es, wenn man entweder schon ein Vorwissen in Statistik hat oder bereit ist, sich über die Themen zu informieren.
Wer übrigens einen sehr guten Youtube Kanal wissen will, der mir bei der Repetition der Basics geholfen hat, dem sei folgender Empfohlen: Kurzes Tutorim Statistik
Speziell für Einsteiger ist das Buch Neuronale Netze selbst programmieren daher mehr empfohlen als Einführung in Data Science – Aber hey, von jenem Buch bin ich sowieso Fan, das würde ich sogar meiner Grossmutter als Nachtlektüre empfehlen!
Was ich auch empfehlen kann, ist, für das Herumspielen mit den Codebeispielen nicht iPython Notebooks zu nehmen sondern gleich eine echte IDE wie PyCharm.
Fazit
Das Buch hat eine sehr hohe Qualität und ein breites Themenspektrum. Die Algorithmen und Methoden werden alle selber programmiert, statt einfach Bibliotheken zu nehmen, was das Buch von der Konkurrenz hervorhebt. Man sollte aber willig sein, ein wenig Zeit mit den Kapiteln zu verbringen und sich ein wenig hineinzufuchsen.