Python, Maschinenlernen, Data Science sind nicht nur wichtige Kompetenzen für Softwareprogrammierer und Data Scientist. Die längst eingeläutete Ära der Digitalen Ökonomie (Daten-Ökonomie, KI-Ökonomie) setzt Digitalkompetenz für immer mehr Erwerbstätige voraus: Führungskräfte sowieso. Aber auch alle, die an der Schnittstelle zu leistungsfähigen Softwareanwendungen arbeiten. Und vor allem diejenigen, die mit Programmierern Digitale Services und Digitale Produkte entwickeln. Es braucht ein grundlegende Verständnis, wie Programmierer denken/arbeiten, wie Code geschrieben wird und wie Maschinenlernen funktioniert.

Wie wird Programmiercode geschrieben? Wie ist die Struktur von Programmiercode? Welche Methoden kommen beim Programmieren zum Einsatz? Was ist Maschinenlernen? Wie viele Daten brauche ich dafür? Welche Probleme stellen sich beim Maschinenlernen – von Missing Data bis Overfitting?

Für diese grundlegende Digitalkompetenz ist kein neues Studium erforderlich; ich stelle nachfolgende zwei, drei Quellen vor, mit dem sich ein Autodidakt (ggf. unterstützt durch den Austausch in einer Lerngruppe) innerhalb von 2 bis 3 Monaten eine Digitale Basiskompetenz aufbauen kann. Sie können dann (einfache) Programme schreiben. Sie können ein Künstliches Neuronales Netz aufbauen, Sie machen die ersten Schritte als Data Scientist.

Als Programmiersprache empfiehlt sich Python. Und zwar aus mehreren Gründen. Diese Programmiersprache Python hat eine einfache Syntax und eignet sich ideal für Einsteiger. Python zählt zu den populärsten Programmiersprachen, wird bevorzugt von Data Scientist eingesetzt. Python ist etwa auch eine der offiziellen 3 Programmiersprachen bei Google, Teile von YouTube wurden damit entwickelt und sogar die NASA nutzt Python für ihre Space-Shuttle-Missionen. Es gibt außerdem eine sehr große Community für diese Programmiersprache und sehr viele, sehr mächtige Bibliotheken mit zahlreichen Funktionen.

Einstieg in die Programmiersprache mit Python

Jeder hat bei Lernen eine individuelle Präferenz: Video-Tutorial oder Lernbuch. Ich empfehle ein Lernbuch, weil der Aktivierungsgrad hierbei höher ist, man kann sich direkt Notizen in das Buch machen. Sie werden immer mal wieder etwas nachschlagen müssen (Wie war das nochmal mit einer „Liste“, mit welcher Methode kann ich Werte hinzufügen/entfernen/anzeigen?). Für Einsteiger ins Programmieren empfehle ich folgendes Buch:

„Einstieg in Python“, Autor: Thomas Theis, Rheinwerk Computing Verlag, 25 Euro, 6te aktualisierte Auflage 2019, 500 Seiten)

Das Buch verschafft einen exzellenten Überblick zu allen Grundlagenthemen: Verschiedene Datentypen, Benutzeroberflächen (GUI), Datenbanken, Dateien, Formatierungen, Zeitangaben, Objektorientierte Programmierung (Klassen, Objekte, Vererbung), sogar erste Schritte für Webanwendungen. Das Buch hat eine exzellente Didaktik und ist – insbesondere für Einsteiger – sehr gut nachvollziehbar. 500 Seiten klingen sehr viel, aber das Buch lässt sich auch für einen Anfänger in 60 bis 100 Stunden durcharbeiten. Am Anfang des Buches werden auch Programmieraufgaben gestellt, die Entwicklungsumgebung für Python lässt sich innerhalb von 15 Minuten auf dem eigenen (Windows, Mac) Rechner installieren. Erfolgserlebnis garantiert!

Einstieg in die Programmiersprache mit Python: Community im Internet

Wie eingangs erwähnt, gibt es eine sehr große und aktive Community rund um die Programmiersprache Python. Zu allen Themen finden Sie Dutzende von Artikeln, die die Umsetzung einer bestimmten Aufgabe in Python anschaulich und mit Beispielcode erläutern. Es gibt vor allem Dutzende von englischsprachigen Foren, aber auch einige deutschsprachige Communities.

Wenn Sie etwa wissen wollen, wie man eine CSV-Datei einliest, bekommen Sie Treffer wie diesen: CSV Dateien auslesen. Wenn Sie wiederum wissen wollen, wie Sie tabellenförmige Daten (mit Spalten und Zeilen) einlesen können, dann nutzen Sie dafür etwa sogenannte „DataFrame“-Objekte. Diese werden sehr anschaulich auf nachfolgender Webseite erläutert: www.tutorialspoint.com

Eine Programmiersprache ist wie eine Fremdsprache: Sie müssen die grundsätzliche Syntax verstehen. Dann benötigen Sie das „Vokabular“, um sich ausdrücken zu können. Je mehr Vokabular Sie drauf haben, desto einfacher ist es für Sie, einen bestimmten Sachverhalt auszudrücken – beziehungsweise eine bestimmte Aufgabe durch Programmierung möglichst elegant zu lösen. Sie sollten – gerade als Anfänger – nicht den Anspruch haben, all diese „neuen Vokabeln“ auswendig zu lernen. Manchmal genügt es, zu wissen, wo es steht.

Einstieg in Data Science, Maschinenlernen, Künstliche Neuronale Netze

Maschinenlernen ist eine faszinierende Disziplin: Im einfachsten Fall ist es eine Einfache Regression, wo man eine Regressionsgerade in einem zweidimensionalen Koordinatensystem bestimmt. Aber auch Sprachassistenten wie Alexa oder Magenta nutzen die statistisch bestimmten Korrelationen aus einem (riesigen) Textkorpus, um gesprochene Sprache syntaktisch und semantisch zu analysieren oder auch Sprach zu generieren. Die Künstlichen Neuronalen Netze für die leistungsfähigsten Sprachmodelle haben heute über 175 Milliarden (sic!) Parameter, die trainiert werden mit unvorstellbar großen Datenmengen (hier: einem Textkorpus).

Maschinenlernen, Künstliche Intelligenz (wir befinden uns im Stadium der „Schwachen KI“) werden weiter an Bedeutung gewinnen im Berufs-/Lebensalltag. Es lohnt, ein besseres Verständnis dafür zu gewinnen. Auch das lässt sich sehr gut autodidaktisch erschließen.

Folgendes Buch kann ich empfehlen, Grundlagen in Python sollten bereits bestehen. Dabei handelt es sich um ein Buch, bei dem man von der ersten Seite an praktisch arbeitet: Schritt für Schritt werden Methoden der Data Science auf Beispiele angewandt; und auf dem Jupyter-Notebook kann man jeden Schritt praktisch nachvollziehen auf Basis von umfangreichen Trainingsdaten.

„Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow: Konzepte, Tools und Techniken für intelligente Systeme“. Autor: Aurélien Géron (Übersetzer: Kristian Rother, Thomas Demmig). O’Reilly Verlag. 850 Seiten, 50 EUR als Taschenbuch.

Vor zwei Jahren hatte ich einen Online-Kurs vorgestellt und die wichtigsten Inhalte in Blogposts aufbereitet. Die Artikelserie schafft einen schnellen, ersten Überblick:

Maschinenlernen für Product Owner, IT Projektmanager – Ein Crash Kurs (Teil 1)

Es gibt außerdem unglaublich viele kostenfreie „Lernmöglichkeiten“ im Internet. Auf eine dieser Möglichkeiten möchte ich hinweisen. Es gibt etwa den Erium Podcast, der zu bestimmten Themen aus dem Maschinenlernen ca. 30-minütige „Knowledge Nuggets“ liefert. Einfach mal reinhören. In nachfolgendem Podcast geht’s zum Beispiel um die Datenaufbereitung (PreProcessing), bevor man überhaupt anfängt Daten mit einem Algorithmus aus dem Maschinenlernen bearbeitet. Es geht um Fragen wie: Was mache ich mit Missing Values? Was ist Random Noise? Hier geht’s zum PODCAST: Data PreProcessing

Was mir an diesem Angebot von „Erium“ (übrigens: Ein StartUp) besonders gut gefällt: Es finden sich umfangreiche Lernmaterialien auf der Plattform „GitLab“. Es werden für verschiedene Methoden des Maschinenlernens (z.B. Clustering, Regression, Klassifizierung) Codebeispiele (in Pyhton!) bereitgestellt, die man SOFORT ausprobieren kann (Erfolgsgarantie!). Hierzu werden auch umfangreiche Datensets bereitgestellt. Tolle Sache! Hier geht’s beispielsweise zu den Lernmaterialien für das Clustering mithilfe des KMeans-Algorithmus und des DBScan-Algorithmus. Man muss hier keine Berührungsängste haben; Ziel ist hier nicht, die tiefere Mathematik dahinter zu verstehen (wir wollen realistisch bleiben!). Hier geht’s zu den Lernmaterialien auf GitLab zum Thema „Clustering“.

Ich wünsche gutes Gelingen. Freut Euch auf einen erhebenden Aha-Effekt!

Zum Weiterlesen

  • Maschinenlernen für Product Owner, IT Projektmanager (Crashkurs, Teil 8) – Künstliche Neuronale Netze
  • Wie Finnland die Bevölkerung auf das digitale Zeitalter vorbereitet: Kostenfreier Onlinekurs zu Maschinenlernen, Künstlicher Intelligenz
  • Kostenfreier Onlinekurs zu Data Science beim Hasso Plattner Institut
  • Digitalkompetenz. WER muss eigentlich WIEVIEL wissen von WAS?
  • Author

    Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.