›   Demo-PYx: Machine Learning mit Python

Machine Learning-Modelle und Algorithmen haben im weitesten Sinne das Ziel, aus Input-Daten sinnvolle Zusammenhänge zu erkennen und daraus Regeln abzuleiten. Z.B. Vorhersagen treffen, Trends erkennen, Daten nach bestimmten Kriterien gruppieren. Anwendungsgebiete sind die Vorausschauende Wartung: Fällt Maschine aus oder nicht?, Mobile Assistenten (Siri, Alexa,…), Betrugsaufdeckung: Ist E-Mail Spam oder nicht? oder Clusteranalysen im Rahmen des gezielten Marketings.

Die Demo- und Tutorial-Reihe rund um das Thema Machine Learning mit Python zeigt den Einstieg in Modelle und Algorithmen des Machine Learning mit Hilfe der Programmiersprache Python und der Python-Pakete für Datenanalyse und Maschinelles Lernen: Scikit-Learn, Keras, Pandas, Numpy, Matplotlib.

Demo-PY1: Python-Tutorial - Der Einstieg mit Jupyter Notebook bietet einen Einstieg in die Programmiersprache Python. Die grundlegende Syntax wird vorgestellt, inklusive objektorientierte Programmierung mit Klassen, sowie die wichtigsten Python-Bibliotheken für Datenanalyse. Dieses Tutorial eignet sich auch für Umsteiger, die bisher mit C-ähnlichen Sprachen oder MATLAB programmiert haben: die Gemeinsamkeiten und Unterschiede zwischen den Sprachen werden hervorgehoben und in einem letzten Abschnitt zusammengefasst.

Demo-PY1: Jupyter Notebook verwenden zeigt, wie man interaktive Jupyter Notebook-Skripte mit Markdown-Zellen und Codezellen erstellt. Jupyter Notebook ist eine webbasierte Umgebung, die das Erstellen, Dokumentieren und Teilen von Python- und R-Demonstratoren im Umfeld des Maschinellen Lernens unterstützt. Wir verwenden in dieser Tutorial-Reihe Jupyter Notebook, da die Machine Learning-Modellierung in einfache Schritte mit sichtbaren Zwischenergebnissen heruntergebrochen werden kann.

Demo-PY1: Jupyter Notebook Widgets erstellen zeigt, wie man in ein Jupyter Notebook-Skript Widgets einbaut, entweder explizit als Steuerelemente mit Eventhandling, oder implizit als Steuerelemente, die durch die interact()-Funktionalität mit einer benutzerdefinierten Funktion generiert werden.

Demo-PY2: Datenverwaltung und - Visualisierung mit Pandas zeigt am Beispiel eines Open Power System-Datensatzes wie die Datenstrukturen und Funktionen der Python-Bibliotheken Pandas und Matplotlib zur Datenaufbereitung und graphischen Darstellung großer Zeitreihen-Daten verwendet werden.

Demo-PY3: Clusteranalyse mit scikit-learn zeigt am Beispiel eines Mini-Datensatzes mit Raumklima-Messungen, wie eine Clusteranalyse mit Hilfe der Python-Bibliothek scikit-learn für maschinelles Lernen durchgeführt wird.

Demo-PY3: Clusteranalyse "Automotive in 3D" zeigt einen Anwendungs­fall der Clustera­nalyse im 3-dimensionalen Raum anhand des Automobildatensatzes, der in den Predictive Maintenance-Datenanalysen Demo-PY4 und Demo4 verwendet wird. Die Cluster werden auf Basis von drei Merkmalen des Datensatzes erstellt, die am stärksten zum Ausfall beigetragen haben.

Demo-PY3: Clusteranalyse "Automotive in 3D" zeigt einen Anwendungs­fall der Clustera­nalyse im 3-dimensionalen Raum anhand des Automobildatensatzes, der in den Predictive Maintenance-Datenanalysen Demo-PY4 und Demo4 verwendet wird. Die Cluster werden auf Basis von drei Merkmalen des Datensatzes erstellt, die am stärksten zum Ausfall beigetragen haben.

Demo-PY4: Predictive Maintenance mit scikit-learn zeigt, wie eine Ausfall-Prognose im Rahmen eines Predictive Maintenance-Szenarios mit Hilfe des Entscheidungsbaum-Verfahrens der Python-Bibliothek scikit-learn für maschinelles Lernen durchgeführt wird. Wir verwenden denselben Automobildatensatz, der in den Demos des Predictive Maintenance-Zyklus verwendet wird: eine csv-Datei automotive_data.csv mit 136 Beobachtungen. Die Fragestellung lautet: "Bei welcher Kombination von Merkmalen tritt ein Ausfall ein?".

Demo-PY5: Machine Learning-Modellierung mit Keras und Tensorflow zeigt die Erstellung und Verwendung eines Künstlichen Neuronalen Netzwerks für die Zeitreihenprognose von Stromverbrauchsdaten mit Hilfe der Python-Bibliotheken Keras und Tensorflow.



Der Übersichts-Artikel Maschinelles Lernen: Konzepte, Ziele, Methoden, Tools bietet einen Einstieg in die wichtigsten Konzepte, Ziele, Methoden und Tools des Maschinellen Lernens, sowie Hinweise über die Verwendung der elab2go-Demonstratoren, die diese illustrieren.

Autoren, Tools und Quellen

Mit Beiträgen von:
 Prof. Dr. Eva Maria Kiss
 M. Sc. Anke Welz
Tools:
Keras, Pandas, Tensorflow, Scikit-Learn, Python, Jupyter Notebook
Quellen und weiterführende Links
  Hochreiter, Sepp & Schmidhuber, Jürgen. (1997). Long Short-term Memory. Neural computation. 9. 1735-80.
  McKinney, Wes (2019): Datenanalyse mit Python. Auswertung von Daten mit Pandas, NumPy und IPython.
  Pouhela, Franc. (2020). Bachelorarbeit: Datenanalyse und Vorhersage mit Python und Keras für Open Power System-Daten.
  Russell, Stuart J., Norvig, Peter (2014) Artificial intelligence. A modern approach.