Buchempfehlung: Einführung in Data Science

Wieder habe ich eine Buchempfehlung für interessierte Data Scientisten: Es heisst Einführung in DataScience.

einführung ds

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.

 

 

Neuronale Netze lernen? Buch kaufen!

Sie hätten gerne einen Einstieg in neuronale Netze, wissen aber nicht, wo Sie beginnen sollen? Kaufen Sie sich dieses Buch! Ich bin absoluter Fan davon und habe es schon allen meinen KI-interessierten Bekannten empfohlen. Das Buch richtet sich an Personen, die noch nicht wissen, wie ein neuronales Netz funktioniert und das aber gerne lernen würden.

neuronale netze selbst programmieren buch

Titel: Neuronale Netze selbst programmieren
Untertitel: Ein verständlicher Einstieg mit Python
Autor: Tariq Rashid
Übersetzung: Frank Langenau
Verlag: O’REILLY
ISBN: 978-3-96009-043-4
Erscheinungsdatum: 28.04.2017
Seitenanzahl: 232

Das Buch ist so einfach und genial geschrieben, als würde der Autor mit Ihnen in eine Bar sitzen und Ihnen ganz genau erklären, wie neuronale Netze funktionieren. Es gibt viele Bücher über Machine Learning oder neuronale Netze. Meistens sind diese aber recht kompliziert und kompakt geschrieben. Nicht so dieses Buch. Es hat etliche Bilder und das Tempo ist relativ langsam verglichen mit anderen Büchern. Auch die verwendete Sprache ist, wie gesagt, eher kumpelhaft, als würde man gemeinsam ein Abenteuer erleben (ja ich weiss, ich sollte nicht übertreiben, aber ich werde echt enthusiastisch wenn ich über dieses Buch erzähle).

Es geht hauptsächlich um zwei Teile: Im ersten Teil geht es um die Theorie hinter neuronalen Netzen – Alles noch ohne Programmierung. Dazu gehört auch ein kleiner Teil Mathematik, der aber im Anhang ebenfalls erklärt wird (falls Sie zu wenig Grundwissen in Mathematik haben, fragen Sie mich, dann kann ich entsprechende Blogbeiträge schreiben). Das Schlimmste, was Sie dabei antreffen werden, ist die Differenzialrechnung der Fehler- und Sigmoidfunktion.

Im zweiten Teil geht es dann um ein konkretes Beispiel, nämlich die Erkennung von handschriftlich gemalten Ziffern von Null bis Neun. Dabei wird keine SCIKIT Learn Bibliothek verwendet, sondern alles selber in Python programmiert. Aber selbst wenn Sie noch kein Python können (oder genau dann!) bietet das Buch einen perfekten Einstieg in die Sprache.

Das Buch ist recht dünn ausgefallen (~211 Seiten) und kann auf Deutsch oder Englisch gekauft werden. Falls Sie Deutsch sprechen, empfehle ich aber diese Version, sie ist wirklich gut und ich persönlich habe am Inhalt genug zu studieren, auch ohne Übersetzungsaufwand.

Ich sage es nochmal: Geniales Buch! Absolut empfehlenswert!

Buch: Hacking mit Kali

Für Anfänger im Umgang mit Kali empfiehlt sich dieses Buch. Anfänger deshalb, da man seitenweise Screenshots hat, die einem gewisse Schritte zeigen, oder im Detail auf die Installationsmöglichkeiten eingehen.

Autor: Andreas Weyert
ISBN: 978-3-645-60341-6