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. Objekte erkennen, Vorhersagen treffen, Trends erkennen, Daten nach bestimmten Kriterien gruppieren.
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.
Der Übersichts-Artikel Maschinelles Lernen: Konzepte, Methoden, Tools bietet eine vereinfachte Übersicht über die wichtigsten Methoden und Tools des Machine Learning, sowie Hinweise über die Verwendung der elab2go-Demonstratoren, die diese illustrieren.
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, damit die Machine Learning-Modellierung in einfache Schritte mit sichtbaren dokumentierten 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-Pakete 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 Anwendungsfall der Clusteranalyse 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 Anwendungsfall der Clusteranalyse 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.
Das Diagramm "Machine Learning mit Python" zeigt eine Übersicht der wichtigsten Modelle des Maschinellen Lernens, gruppiert nach Art des Lernverfahrens, die Python-Pakete und Klassen, mit denen sie jeweils implementiert werden, sowie die elab2go-Demonstratoren, die sie veranschaulichen.
Autoren, Tools und Quellen
Mit Beiträgen von:
Prof. Dr. Eva Maria Kiss
M. Sc. Anke Welz, M. Sc. Franc Pouhela
Tools
Python,
Anaconda,
Jupyter Notebook
elab2go-Links
- [1] Datenverwaltung und -Visualisierung mit Pandas: https://www.elab2go.de/demo-py2
- [2] Clusteranalyse mit scikit-learn: https://www.elab2go.de/demo-py3
- [3] Predictive Maintenance mit scikit-learn: https://www.elab2go.de/demo-py4
- [4] Machine Learning-Modellierung mit Keras und Tensorflow: https://www.elab2go.de/demo-py5
- [1] Offizielle Python Dokumentation bei python.org: https://docs.python.org/3/tutorial/
sehr umfangreich, Nachschlagewerk, hier findet man Dokumentationen für spezifische Python-Versionen - [2] Python Tutorial bei Google Developers: https://developers.google.com/edu/python/introduction
umfangreich, für Fortgeschrittene, verweist auf die offizielle Dokumentation - [3] Python Tutorial bei Jobvector: https://jobtensor.com/Tutorial/Python/en/Introduction
für Einsteiger geeignet, interaktive Ausführung im Browser - [4] NumPy: numpy.org/ – Mehrdimensionale Arrays, Mathematische Funktionen, Zufallszahlen
- [5] Matplotlib: matplotlib.org/ – Datenvisualisierung, Plotten
- [6] Pandas: pandas.pydata.org/ – Datenverwaltung, Datenvorbereitung, DataFrames, Series
- [7] Scikit-Learn: scikit-learn.org – Algorithmen für Maschinelles Lernen
- [8] Keras: keras.io – Künstliche Neuronale Netzwerke, Deep Learning
Quellen und weiterführende Links