Eine Einführung zum Machine Learning mit Python. Es werden die notwendigen Pakete, der Machine Learning Prozess und eine Übersicht von Machine Learning Algorithmen vorgestellt.
2. Python Paket
• Wir nutzen im diesem Kurs das Scikit Learn Paket
• Es ist das bekannteste Machine Learning Paket für Python und bietet
viele bereits eingebaute Algorithmen
• Zur Installation führe bitte folgenden Code aus:
Machine Learning mit Python
conda install scikit-learn
Oder
pip install scikit-learn
by Datamics, 2018
3. Machine Learning Prozess
Machine Learning mit Python
Daten
Bereinigung
Daten
Akquisition
Modell
Training
Modell
Tests
Modell
Einsatz
Test
Daten
by Datamics, 2018
4. Prozess mit Scikit Learn
• Schauen wir uns nun ein Beispiel für einen solchen Prozess mit SciKit
Learn an.
• Macht euch keine großen Sorgen darüber, ob ihr euch alles merken
könnt! Wir werden viele Übungen und Erklärungen zu diesem Beispiel
und darüber hinaus in den folgenden Lektionen behandeln.
Machine Learning mit Python by Datamics, 2018
5. Prozess mit Scikit Learn
• Jeder Algorithmus in scikit-learn wird durch einen „Estimator“ (dt.
Schätzer) dargestellt
• Zuerst importieren wir das Modell in der allgemeinen Syntax:
from sklearn.family import Modell
• Oder zum Beispiel:
from sklearn.linear_model import LinearRegression
Machine Learning mit Python by Datamics, 2018
6. Prozess mit Scikit Learn
• Alle Parameter des Estimators können bei seiner Instanziierung
festgelegt werden und alle haben passende Standardwerte
• In Jupyter können wir Shift+Tab verwenden, um alle möglichen
Parameter einzusehen
Machine Learning mit Python by Datamics, 2018
7. Prozess mit Scikit Learn
Zum Beispiel:
model = LinearRegression(normalize=True)
print (model)
LinearRegression(copy_X=True, fit_intercept=True, normalize=True)
Machine Learning mit Python by Datamics, 2018
8. Prozess mit Scikit Learn
• Sobald wir unser Modell mit den richtigen Parametern erstellt haben
ist es wichtig es auf Daten anzupassen.
• Denkt aber daran, dass wir die Daten in Trainings- und Testdaten
aufteilen sollten.
Machine Learning mit Python by Datamics, 2018
11. Prozess mit Scikit Learn
• Nachdem wir unsere Daten aufgeteilt haben können wir das Modell
trainieren.
• Dazu verwenden wir die model.fit() Methode:
model.fit(X_train,y_train)
Machine Learning mit Python by Datamics, 2018
12. Prozess mit Scikit Learn
• Jetzt wurde unser Modell basierend auf den Trainingsdaten trainiert.
• Es ist jetzt in der Lage Kennzeichnungen oder Werte der Testdaten
vorherzusagen.
• Hinweis: Wir sprechen hier über Supervised Learning
• Wir können Werte vorhersagen indem wir folgenden Code
verwenden:
predictions = model.predict(X_test)
Machine Learning mit Python by Datamics, 2018
13. Prozess mit Scikit Learn
• Anschließend können wir unser Modell auf seine Qualität testen
indem wir vorhergesagte Werte mit tatsächlichen Werten vergleichen
• Die Methode der Evaluierung hängt vom verwendeten Machine
Learning Algorithmus ab
Machine Learning mit Python by Datamics, 2018
14. Zusammenfassung
• Scikit-learn strebt danach für alle Methoden (die wir behandeln
werden) den gleichen Aufbau zu verwenden.
• Ausgehend vom Estimator namens model gilt folgendes:
• Verfügbar für jeden Estimator
• model.fit(): Auf Trainingsdaten anpassen
• Für Supervised Learning: Feature X und Label y -> model.fit(X,y)
• Für Unsupervised Learning: Nur Daten X -> model.fit(X)
Machine Learning mit Python by Datamics, 2018
15. Zusammenfassung
• Verfügbar für supervised Estimators
• model.predict(): ausgehend von einem trainierten Modell sagt der Estimator
die Labels (Kennzeichnungen) neuer Daten (meist den Testdaten) vorhersagen
(en. predict). Dazu übergeben wir ein Argument: die neuen Daten ->
model.predict(X_neu)
• So erhalten wir ein Array aus dem Label für die neuen Daten
• model.score(): für Klassifizierungsprobleme. Scores liegen zwischen 0 und 1,
wobei 1 eine bessere Einordnung bedeutet
Machine Learning mit Python by Datamics, 2018
16. Zusammenfassung
• Verfügbar für unsupervised Estimators
• model.predict(): sagt Kennzeichnungen in Cluster-Algorithmen vorher
• model.transform(): ausgehend von einem unsupervised Modell können wir so
neue Daten zur neuen Grundlage machen.
• Wir gehen später genauer auf dieses Konzept ein
• model.fit_transform(): einige Estimators implementieren diese Methode, die
effizienter eine Anpassung und Transformation mit dem selben Input
durchführt
Machine Learning mit Python by Datamics, 2018