Data Science Training
(Diese Seite: Skizze für eine Lehrveranstaltung im WS 2019)
Wesentliches Lehrziel der Veranstaltung ist es, einen Hands-On-Durchstich zu schaffen:
- Daten einlesen, Qualität beurteilen
- feature engineering, data wrangling
- Lernen eines Modells: Schwerpunkt: Regression mit l1 und l2 Regularisierung | Transfer: Klassifikation durch logistische Regression | zur Ergänzung: Clustering mit k-NN
- Beurteilung der Modell-Qualität
- Vorhersage bei neuen Daten, Modell-Deployment
- Technologie: Python 3, Anaconda, Jupyter Notebooks
Die wichtigsten Quellen:
Data Science: The Big Picture | Bowles | Der Text einer hypothetischen Vorlesung, die dank dieses Buches nicht mehr vom Dozenten gelesen werden muss, sondern jetzt von den Studierenden nachgelesen werden kann. |
MLPC | verdichteter Kern der praktischen Kompetenzen mit Python | |
python-data-science-handbook | zum Nachlesen für Interessierte, geht über unseren Kurs weit hinaus. | |
Python Grundlagen | python-whirlwind | Wir verwenden Python als "Glue-Language". Was man dazu von Python wissen muss ist hier abschließend geklärt. |
Bibliotheken | pandas und scikit-learn | Data wrangling (Daten hüten) und dann einfaches Machine Learning anwenden: Das ist der Kern der Veranstaltung. Hier greifen wir auf die Original-Dokumentation zurück. |
Entwicklungsumgebung | anaconda | One in all, incl. conda Versionsverwaltung |
github | unsere Plattform für den Datenaustausch - und zwar mit privaten Accounts (sorry, es geht nicht anders). Doku: git-book |
Hinweis: Ohne ausreichende englische (Lese-) Sprachkompetenzen können Sie nicht als Data Scientist arbeiten. Auch fast alle unsere Grundlagentexte liegen nur auf Englisch vor (Ausnahme: MLPC, python-data-science-handbook auch auf DE).
Bei den Studierenden vorausgesetzte Kompetenzen:
- Die Studierenden haben im ersten Studienjahr bereits eine Einführung in C und/oder in Java erfolgreich abgeschlossen. Sie sind daher in der Lage, von Transfer-Lehrmaterial wie z.B. python-learnxinyminutes oder python-for-java-developers zu profitieren und sich schnell die Grundlagen aus python-whirlwind anzueignen.
Keine Themen und Lehrziele in dieser Veranstaltung:
- Neuronale Netze, Deep Learning
- Tensorflow, Spark, Hadoop
- Zeitreihenanalysen
- Inhalte aus der Vorlesung Statistik
Didaktik
Sagen wir so: Man kann sich Data Science auch im Selbststudium aneignen. Aber Lernen im Modus eines selbstverantworteten Selbststudiums ist nicht jedermanns und jeder Frau Sache.
Wenn ich als Dozent einer Fachhochschule Kurse anbiete, dann besteht die "Dienstleistung"
- nicht in der Bereitstellung von Inhalt,
- sondern in der Unterstützung beim Erwerb von Wissen und Kompetenzen, und zwar
- im Lern-Modus des tutoriell begleiteten Präsenzlernens in kleinen Gruppen.
Sie lernen wenig (und vergessen es schnell), wenn ich Ihnen mein Wissen nur vortragen würde.
- Lernen tun Sie nur dann etwas, indem *Sie* lernen.
- Lernen kann Ihnen niemand abnehmen, sondern Sie müssen es selbst tun.
- Genau in diesem Selbst-Lernen unterstützen wir Sie in unseren Veranstaltungen.
Also ist die Veranstaltung nicht als Lehr-, sondern als Lernveranstaltung angelegt. Stichworte: Blended Learning, Inverted Classroom, praxisorientiertes Lernen.
Diskussion_2019-05-31
(Dieser Abschnitt: Text zur Diskussion mit Kollegen und Studierenden)
Ziel: Aufbau eines Kurses für ca 12 (min 8, max 18) Personen, die mit einem vorgegebenen Lernaufwand - hier z.B. 120h brutto - möglichst viel lernen wollen ... in einem kommerzielln Kurs würden sie sogar dafür bezahlen, dass ein außenstehender Trainer ihren inneren Schweinehund antreibt, d.h. sie bezahlen dafür, Selbstverantwortung abgeben zu dürfen ... sie einen Antreiber brauchen.
Beobachtung: Lernmaterial und Kurse (Moocs!) gibt es im Netz genug; unser Kern der Dienstleistung: nicht content disclosure, sondern Zuckerbrot, Peitsche und Betreuung ... unsere Adressaten wollen schnell und effektiv lernen, wissen aber, dass sie so stark in den Beruf etc. eingebunden sind, dass sie die Selbstdisziplin nicht aufbringen, mit den massenhaft frei verfügbaren (und z.T. auch richtig guten!) Materialien strukturiert und ergebnisorientiert zu lernen.
Was wir also haben: Ausführlichste Medien, in denen alles enthalten ist, was wichtig ist. Aufbau eines "Kurses" heißt hier: Nicht noch weiteres "ergänzendes" Primärmaterial erstellen (denn an Primärmaterial ist kein Mangel, siehe z.B. Data Science Training: Ressourcen), sondern Medien zur Unterstützung des Lernens herstellen, und dieses Lernen strukturieren, begleiten, unterstützen ... Zeitaufwand: zu ausgewählten Online-Medien ein Lernkonzept erstellen und dieses selbst teilweise in Textform repräsentieren: Übersichts-Mindmaps, Anki-Lernkarten, Q&A-Plattform etc. ...
Wichtigster Aspekt: "Lernen sichtbar machen" (Hattie):
- Die Lernenden müssen jederzeit prüfen und erkennen können, ob und dass und was sie gelernt haben
- insbes. durch hochfrequente, idealerweise hoch automatisierte Mini-Aufgaben und Lösungen
Eigene Vorarbeiten: das (Er-) Lernen eines Buchinhalts unterstützen; Wir lesen ein Buch: Wileb