Machine Learning
mit Python
Eine Einführung
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
Machine Learning Prozess
Machine Learning mit Python
Daten
Bereinigung
Daten
Akquisition
Modell
Training
Modell
Tests
Modell
Einsatz
Test
Daten
by Datamics, 2018
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
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
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
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
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
Beispiel mit Scikit Learn
Machine Learning mit Python by Datamics, 2018
Beispiel mit Scikit Learn
Machine Learning mit Python by Datamics, 2018
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
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
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
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
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
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
Entscheidungshilfe
Machine Learning mit Python by Datamics, 2018

Machine Learning mit Python

  • 1.
  • 2.
    Python Paket • Wirnutzen 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 MachineLearning mit Python Daten Bereinigung Daten Akquisition Modell Training Modell Tests Modell Einsatz Test Daten by Datamics, 2018
  • 4.
    Prozess mit ScikitLearn • 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 ScikitLearn • 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 ScikitLearn • 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 ScikitLearn 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 ScikitLearn • 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
  • 9.
    Beispiel mit ScikitLearn Machine Learning mit Python by Datamics, 2018
  • 10.
    Beispiel mit ScikitLearn Machine Learning mit Python by Datamics, 2018
  • 11.
    Prozess mit ScikitLearn • 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 ScikitLearn • 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 ScikitLearn • 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 strebtdanach 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ürsupervised 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ürunsupervised 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
  • 17.