SlideShare ist ein Scribd-Unternehmen logo
Kursunterlagen
R für Data Science und Machine Learning
by Datamics, 2018
if, else und else if
Anweisungen
Eine Einführung
by Datamics, 2018
Die Syntax einer if Anweisung in R lautet:
if (Bedingung){
# Führe Code aus
} else {
# Code sofern die Bedingung zu FALSE führt
}
by Datamics, 2018if, else und else if Anweisungen
While Schleifen
Eine Einführung
by Datamics, 2018
Die Syntax
while (Bedingung){
# Führe diesen Code aus
# Solange die Bedingung erfüllt ist
}
by Datamics, 2018While Schleifen
For Schleifen
Eine Einführung
by Datamics, 2018
Die Syntax
for (temporäre_variable in Objekt){
# Führe für jeden Durchgang diesen Code aus
}
by Datamics, 2018For Schleifen
Funktionen in R
Eine Einführung
by Datamics, 2018
Die Syntax
Dabei fällt folgendes Format auf:
name_der_funktion ( input1, input2, ....)
Die Syntax dazu lautet wie folgt:
name_der_funktion <- function( param1, param2, ...){
# Code der ausgeführt wird
}
by Datamics, 2018Funktionen in R
Apply
Eine Einführung
by Datamics, 2018
Die Syntax
lapply() wird eine Funktion auf eine Liste oder einen Vektor anwenden:
lapply(X, FUNK, ...)
wobei X die Liste/der Vektor ist und FUNK die Funktion.
by Datamics, 2018Apply
Regular Expressions
Eine Einführung
by Datamics, 2018
Die Syntax
grepl(), ergibt einen logischen Wert, der angibt, ob das Muster
gefunden wurde
grep(), ergibt einen Vektor der passenden Indizes der gesuchten
Muster
by Datamics, 2018Regular Expressions
Grammatik von Grafiken
mit ggplot2
Eine Einführung
by Datamics, 2018
ggplot2
Was ist ggplot2?
• ggplot2 ist das am weitesten verbreitete Paket zur Daten
Visualisierung mit R
• Erstellt von Hadley Wickham
• Folgt einer “Grammatik der Grafiken“
• Baut auf einem Ebenen-Konzept auf
• Schauen wir uns diese Ebenen an!
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• Die ersten 3 Ebenen sind Data, Aesthetics und Geometries
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• library(ggplot2) # Library
• ggplot(data=mtcars) # Daten (noch keine Visualisierung)
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• library(ggplot2) # Library
• ggplot(data=mtcars, aes(x=mpg,y=hp)) # Daten und Aesthetics
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• library(ggplot2) # Library
• pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) # Daten und Aesthetics
• pl + geom_point()
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• Die nächsten 3 Ebenen sind Facets, Statistics und Coordinates
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) + geom_point()
• Pl + facet_grid(cyl ~.)
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) + geom_point()
• pl + facet_grid(cyl ~.) + stat_smooth()
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) + geom_point()
• pl2 <- pl + facet_grid(cyl ~.) + stat_smooth()
• pl2 + coord_cartesian(xlim = c(15,25)
by Datamics, 2018
ggplot2
Die Ebenen von ggplot2
• Als letztes können wir unserer Grafik auch noch ein Theme als 7.
Ebene hinzufügen
• Wir werden viele der eingebauten Themes anschauen
by Datamics, 2018
ggplot2
Zusammenfassung
• ggplot2 bietet viele Optionen für viele Diagrammarten
• Die Hauptidee besteht darin Ebenen zu kombinieren
• Schauen wir uns nun an, wie wir das zur Daten Visualisierung nutzen
können
by Datamics, 2018
Machine Learning
Eine Einführung
by Datamics, 2018
Begleitende Literatur
• Durch unseren Kurs wird uns das Buch „Introduction to Statistical
Learning“ von Gareth James begleiten.
• Es gibt dieses Buch aktuell nur in der englischen Fassung vor, zählt
jedoch zu den am häufigsten genutzten Werken dieser Thematik
• Deshalb werden wir die wichtigsten Erklärungen in unseren
deutschen Videolektionen wiederholen
• Es ist kostenlos verfügbar:
• Sowohl auf der Homepage
• Als auch in den Ressourcen hier in Udemy
Machine Learning by Datamics, 2018
Begleitende Literatur
• Das Buch ist nicht notwendig, um dem Kurs folgen zu können.
• Es soll vielmehr eine zusätzliche Erklärung der mathematischen
Hintergründe dessen sein, was wir in unseren Lektionen besprechen
und lernen
Machine Learning by Datamics, 2018
Begleitende Literatur
• Schaue Dir zunächst die Kapitel 1 & 2 des Buchs an bevor wir mit dem
Machine Learning Teil weiter machen.
Machine Learning by Datamics, 2018
Was ist Machine Learning?
• Machine Learning oder auf Deutsch „Maschinelles Lernen“ ist eine
Methode der Daten Analyse, die die Bildung von analytischen
Modellen automatisiert
• Durch die Verwendung von Algorithmen, die iterativ von den Daten
lernen, erlaubt es Machine Learning einem Computer Einblicke und
Erkenntnisse zu erzeugen ohne zu wissen, wo er danach suchen soll
Machine Learning by Datamics, 2018
Wozu wird Machine Learning eingesetzt?
• Betrugserkennung
• Ergebnisse von Websuche
• Echtzeit Werbung auf Webseiten
• Scoring der Kreditwürdigkeit
• Predictive Maintenance
• Neue Pricing-Modelle
• Erkennung von Netzwerk-
Eindringlingen
• Empfehlungssysteme
• Kundensegmentierung
• Analyse von Stimmungen in
Texten
• Vorhersage von
Kundenfluktuation
• Muster- und Bildererkennung
• Spam-Filter für E-Mails
• Finanzmodelle
Machine Learning by Datamics, 2018
Machine Learning Prozess
Machine Learning
Daten
Bereinigung
Daten
Akquisition
Modell
Training
Modell
Tests
Modell
Einsatz
Test
Daten
by Datamics, 2018
Machine Learning Algorithmen
• Es gibt hauptsächlich 3 Arten von Machine Learning Algorithmen
• Supervised Learning
• Unsupervised Learning
• Reinforcement Learning
• Lasst uns alle drei kurz besprechen bevor wir uns weitere Details
anschauen!
Machine Learning by Datamics, 2018
Machine Learning Algorithmen
• Supervised Learning
• Wir haben gekennzeichnete Daten und versuchen diese Kennzeichnung
anhand von bekannten Features vorherzusagen
• Unsupervised Learning
• Wir haben keine Kennzeichnung unserer Daten und versuchen Gruppen von
Daten Punkten zu finden, die sich hinsichtlich bestimmter Features ähnlich
sind
• Reinforcement Learning
• Algorithmen lernen eine Bestimmte Aufgabe auszuführen indem sie
Erfahrung sammeln
Machine Learning by Datamics, 2018
Supervised Learning
• Wir haben gekennzeichnete Daten und versuchen diese
Kennzeichnung anhand von bekannten Features vorherzusagen
• Zum Beispiel könnten Bauteile einer Maschine mit “D“ (defekt) oder
„F“ (funktionstüchtig) gekennzeichnet sein
• Der lernende Algorithmus erhält einen Satz Input mit dem korrekten
Output dazu und lernt dazu indem er seinen tatsächlichen Output mit
dem korrekten (erwarteten) Output vergleicht
• Dann verbessert sich das Modell entsprechend
Machine Learning by Datamics, 2018
Supervised Learning
• Durch Methoden wie die Regression nutzt Supervised Learning
Muster, um die Kennzeichnung ungekennzeichneter Daten zu
bestimmen
• Supervised Learning wird häufig in Anwendungen verwendet, in
denen aus historischen Daten eine Aussage über die zukünftigen
Daten getroffen werden soll
• Zum Beispiel kann so bestimmt werden ob Kreditkarten-
Transaktionen betrügerisch sind oder welcher Versicherungskunde
vermutlich einen Fall geltend machen wird
• Oder wir können den Preis eine Hauses anhand bestimmter
Eigenschaften vorhersagen
Machine Learning by Datamics, 2018
Unsupervised Learning
• Wir haben keine Kennzeichnung unserer Daten und versuchen
Gruppen von Daten Punkten zu finden, die sich hinsichtlich
bestimmter Features ähnlich sind
• Dem System wird also keine „richtige“ Antwort geliefert. Der
Algorithmus muss sie selbst finden.
• Das Ziel ist die Erkundung der Daten und das Finden von
zugrundeliegenden Mustern.
Machine Learning by Datamics, 2018
Unsupervised Learning
• Oder es können beispielsweise die wichtigsten Merkmale gefunden
werden, die Kundensegmente voneinander unterscheiden.
• Häufige Methoden verwenden selbst-organisierende Maps, Nearest-
Neighbor Mapping, K-Means Clustering usw.
• Diese Algorithmen werden auch genutzt um Text-Themen zu
segmentieren, Produkte zu empfehlen oder Ausreißer in Daten zu
identifizieren.
Machine Learning by Datamics, 2018
Reinforcement Learning
• Wird im deutschen auch Bestärkendes Lernen oder Verstärkendes
Lernen genannt.
• Steht für eine Reihe von Methoden des Maschinellen Lernens, bei
denen ein Agent selbständig eine Strategie erlernt, um erhaltene
Belohnungen zu maximieren.
• Es wird häufig für Roboter, im Bereich Gaming oder zur Navigation
eingesetzt
• Mit Reinforcement Learning entdeckt der Algorithmus durch trial-
and-error welche Aktionen die besten Ergebnisse liefern
Machine Learning by Datamics, 2018
Reinforcement Learning
• Dieses Lernkonzept besteht aus drei primären Bestandteilen:
• Dem Agenten: der Lernende oder Entscheidungstreffende
• Der Umgebung: alles womit der Agent interagiert
• Den Aktionen: alles was der Agent tun kann
• Das Ziel für den Agenten ist es seine Aktionen so zu wählen, dass die
erwartete Belohnung innerhalb einer bestimmten Zeit maximiert wird
• Dieses Ziel erreicht er schließlich durch eine gute „Vorgehensweise“
• Das übergeordnete Ziel ist die Identifikation der besten
Vorgehensweise
Machine Learning by Datamics, 2018
Machine Learning in diesem Kurs
• Jeder Algoritmus im Machine Learning Block wird folgendes
beinhalten:
• Optionale Lese-Hausaufgabe im ISLR-Buch
• Kurze Erklärung der Theorie
• Demonstrations-Lektion mit Python
• Machine Learning Projekt Aufgaben
• Übersicht der Lösung zum Projekt
• Schauen wir uns dazu kurz die Notebooks im nbviewer an!
Machine Learning by Datamics, 2018
Abschließende Bemerkungen
• Machine Learning zu lernen braucht Zeit
• Die zugrundeliegenden mathematischen Grundlagen können beim
Verständnis sehr hilfreich sein
• Seid geduldig mit euch selbst und postet gerne Fragen im Fragen &
Antworten Forum des Kurses
• Kein einzelner Kurs kann alle Aspekte des Machine Learning
abdecken, da es sehr häufig auf den konkreten Fall ankommt. Sehr
gerne werde ich versuchen euch in die richtige Richtung zu weisen.
Machine Learning by Datamics, 2018
Lineare Regression
Eine Einführung
by Datamics, 2018
Mathematischer Hintergrund
• Kapitel 2 & 3 im ISLR-Buch
Lineare Regression by Datamics, 2018
Geschichtlicher Hintergrund
• Alles begann in den 1800er Jahren mit Francis Galton
• Galton untersuchte die Beziehung zwischen Eltern und ihren Kindern
• Insbesondere untersuchte er den Zusammenhang zwischen der
Größe des Vaters mit der des Sohnes
• Er fand heraus, dass ein Sohn ungefähr so groß wie sein Vater war,
plus minus einige Zentimeter
• Sein Durchbruch war jedoch die Entdeckung, dass die Größe des
Sohns näher mit der durchschnittlichen Größe aller Leute
zusammenhängt, als mit der des Vaters
Lineare Regression by Datamics, 2018
Beispielhafte Veranschaulichung
• Der Basketballspieler Shaquille O‘Neal ist 2,16 Meter groß.
• Sein Sohn wird wahrscheinlich auch relativ groß sein.
• Da Shaq aber selbst schon „außergewöhnlich“ groß (deutlich über
dem Durchschnitt) ist, gibt es eine hohe Wahrscheinlichkeit dafür,
dass sein Sohn nicht genau so groß wie er sein wird
• Und tatsächlich ist sein Sohn ebenfalls relativ groß: 2 Meter
• Galton nannte dieses Phänomen Regression:
• „A father‘s son‘s height trends to regress (or drift towards) the mean
(average) height.“
Lineare Regression by Datamics, 2018
Beispielhafte Berechnung
• Das einfachste mögliche Beispiel:
• Eine Regression zwischen nur 2
Datenpunkten
Lineare Regression
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
0 1 2 3 4 5
by Datamics, 2018
Beispielhafte Berechnung
• Alles was wir versuchen, wenn
wir unsere Regressionslinie
einzeichnen, ist sie so zu
zeichnen, dass sie so nah wie
möglich an allen Punkten liegt
• Für die klassische lineare
Regression oder „Kleinste
Quadrate Methode“ messen wir
nur die Nähe in die Richtungen
„hoch und runter“
Lineare Regression
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
0 1 2 3 4 5
by Datamics, 2018
Beispielhafte Berechnung
• Wäre es nicht toll wir könnten
das auch für mehr als zwei
Punkte anwenden?
• So könnten wir einem Mann die
wahrscheinliche Größe seines
zukünftigen Sohnes vorhersagen,
noch bevor er geboren wurde.
• Dafür gibt es verschiedene
Methoden, doch alle minimieren
die Distanz zwischen Punkten
und Linie
Lineare Regression
Größe des Vaters
GrößedesSohns by Datamics, 2018
Beispielhafte Berechnung
• Die häufigste Methode ist die
„Least Squares Method“
(Methode der kleinsten
Quadrate oder kurz KQ-
Methode)
• Wir haben wie im gezeigten
Beispiel viele blaue Datenpunkte
Lineare Regression by Datamics, 2018
Beispielhafte Berechnung
• Durch diese Datenpunkte legen
wir eine lineare Regressionslinie
hindurch
• Dabei ist die Frage wie man die
beste Linie findet?
Lineare Regression by Datamics, 2018
Beispielhafte Berechnung
• Um zu erfahren welche die beste
Linie ist minimieren wir die
Summe der Quadrierten
Residuen
• In unserem Beispiel rechts
werden diese Residuen durch die
Linien zwischen Punkten und der
Regressionslinie dargestellt
Lineare Regression by Datamics, 2018
K Nearest Neighbors
Eine Einführung
by Datamics, 2018
Mathematischer Hintergrund
• Der weitere Teil des Kapitels 4 (ab 4.4) im ISLR-Buch gibt einen
tieferen Einblick in die Thematik
K Nearest Neighbors by Datamics, 2018
KNN (K Nearest Neighbors)
• K Nearest Neighbors (Nächste-Nachbarn-Klassifikation) ist ein
Klassifizierungsalgorithmus der auf einem sehr einfachen Prinzip
beruht.
• Dieses wird am besten durch ein Beispiel veranschaulicht!
• Stellt euch vor wir hätten Daten zu Hunden und Pferden, mit
Körpergröße (Höhe) und Gewicht.
K Nearest Neighbors by Datamics, 2018
KNN
K Nearest Neighbors
Rot: Pferd
Blau: Hund
Neuer Datenpunkt:
Ist es ein Hund oder ein Pferd?
Neuer Datenpunkt:
Ist es ein Hund oder ein Pferd?
Neuer Datenpunkt:
Ist es ein Hund oder ein Pferd?
Pferd vs Hund
Gewicht (lbs)
Größe(ft)
by Datamics, 2018
Algorithmus
Trainingsalgorithmus:
• Speichere alle Daten
Vorhersagealgorithmus:
• Berechne die Distanz von x zu allen Punkten in den Daten
• Sortiere die Punkte nach zunehmender Distanz zu x
• Sage die mehrheitliche Kategorie der „k“ nähesten Punkte voraus
K Nearest Neighbors by Datamics, 2018
KNN
Die Wahl von “k“ beeinflusst die Klasse zu der x zugeordnet wird.
K Nearest Neighbors by Datamics, 2018
KNN
Die Wahl von “k“ beeinflusst die Klasse zu der x zugeordnet wird.
K Nearest Neighbors by Datamics, 2018
KNN
Die Wahl von “k“ beeinflusst die Klasse zu der x zugeordnet wird.
K Nearest Neighbors by Datamics, 2018
Vorteile
• Sehr einfach
• Training ist trivial
• Funktioniert mit jeder Anzahl an Klassen
• Einfach neue Daten hinzuzufügen
• Wenige Parameter
• K
• Distanzwert
K Nearest Neighbors by Datamics, 2018
Nachteile
• Hohe Vorhersagekosten (schlecht für große Datensätze)
• Nicht gut für hochdimensionale Daten
• Kategorische Eigenschaften lassen sich schlecht berücksichtigen
K Nearest Neighbors by Datamics, 2018
Entscheidungsbäume
Eine Einführung
by Datamics, 2018
Mathematischer Hintergrund
• Kapitels 8 im ISLR-Buch gibt einen tieferen Einblick in die Thematik
Tree Methods by Datamics, 2018
Beispiel
• Beginnen wir mit einem schwierigen Experiment, um die Motivation
hinter der Entscheidungsbaum Methode zu verstehen
Tree Methods by Datamics, 2018
Beispiel
• Stellt euch vor ich spiele jeden Samstag Tennis und lade dazu immer
einen Freund ein.
• Manchmal taucht meine Freund auf, manchmal nicht.
• Für ihn liegt das an verschiedenen Faktoren wie z.B. das Wetter, die
Temperatur, die Luftfeuchtigkeit, der Wind usw.
• Ich habe damit begonnen festzuhalten, ob er auftaucht oder nicht
und welche Bedingungen jeweils vorliegen.
Tree Methods by Datamics, 2018
Bedingungen
Tree Methods by Datamics, 2018
Baumstruktur
Tree Methods
• Ich möchte diese Daten
verwenden, um
vorherzusagen, ob er
auftauchen wird oder nicht.
• Ein intuitiver Weg das zu tun
ist ein Entscheidungsbaum
(Decision Tree).
by Datamics, 2018
Baumstruktur
Tree Methods
• In diesem Baum (en. Tree)
haben wir:
• Knoten (Nodes)
• Teilen sich für einen Bestimmten
Wert des Attributs auf
• Kanten (Edges)
• Ergebnis einer Aufteilung zum
nächsten Node
by Datamics, 2018
Baumstruktur
Tree Methods
• In diesem Baum (en. Tree)
haben wir:
• Wurzel (Root)
• Erste Knoten, der eine Aufteilung
durchführt
• Blätter (Leaves)
• Letzte Knoten, die das Ergebnis
vorhersagen
by Datamics, 2018
Herleitung der Aufteilungen
Tree Methods
• Stellen wir uns die folgenden Daten mit 3 Features (X, Y und Z) vor
und zwei möglichen Klassen:
by Datamics, 2018
Herleitung der Aufteilungen
Tree Methods
• Nach Y aufzuteilen gibt uns eine klare Trennung zwischen den Klassen
by Datamics, 2018
Herleitung der Aufteilungen
Tree Methods
• Stellen wir uns die folgenden Daten mit 3 Features (X, Y und Z) vor
und zwei möglichen Klassen:
by Datamics, 2018
Herleitung der Aufteilungen
Tree Methods
• Wir hätten auch nach den anderen Features aufteilen können:
Erste Aufteilung
by Datamics, 2018
Herleitung der Aufteilungen
Tree Methods
• Die Entropie und der Informationsgewinn sind die mathematischen Methoden,
die bei der Auswahl des besten ersten (bzw. nächsten) Splits helfen:
Weiterführende Erklärungen sind im ISLR-Buch!
by Datamics, 2018
Random Forests
• Um die Performance zu verbessern können wir viele Bäume mit
zufälligen Stichproben (mit zurücklegen) der Features als Split nutzen.
• Eine neue zufällige Stichprobe von m Features wird für jeden
einzelnen Split jedes einzelnen Baumes gewählt.
• Zur Klassifizierung wird m meist als Quadratwurzel von p gewählt.
Tree Methods by Datamics, 2018
Random Forests
• Warum machen wir das?
• Nehmen wir an es gibt ein sehr starkes Feature im Datensatz. Wenn wir dann
die „bagged“ Trees verwenden, werden die meisten Bäume dieses Feature als
ersten Split wählen, was zu einer Zusammenstellung von vielen gleichen
Bäumen führt. Diese sind stark korreliert.
• Einen Durchschnitt über stark korrelierte Mengen zu bilden verringert die
Varianz nicht signifikant.
• Durch die zufällige Auswahl bzw. Nicht-Auswahl von Features für jeden Split,
können Random Forests die Entscheidungsbäume „dekorrelieren“. Dadurch
kann der Prozess der Durchschnittsbildung die Varianz im Ergebnismodell
reduzieren.
Tree Methods by Datamics, 2018
K-Means Clustering
Eine Einführung
by Datamics, 2018
Mathematischer Hintergrund
• Kapitels 10 im ISLR-Buch gibt einen tieferen Einblick in die Thematik
K Means Clustering by Datamics, 2018
K-Means Clustering
• Das K-Means Clustering ist ein Unsupervised Learning
(Unüberwachtes Lernen) Algorithmus der versucht ähnliche Cluster
der Daten zu bilden.
• Wie kann so ein Cluster Problem aussehen?
• Ähnliche Dokumente gruppieren
• Kunden anhand von Eigenschaften gruppieren
• Marktsegmentation
• Identifizierung physisch gleicher Gruppen
K Means Clustering by Datamics, 2018
K-Means Clustering
• Das übergeordnete Ziel ist es die Daten in distinkte Gruppen
einzuteilen, so dass die Beobachtungen innerhalb einer Gruppe
ähnlich sind.
K Means Clustering by Datamics, 2018
K-Means Clustering
• K-Means Algorithmus
• Wähle eine Anzahl an Clustern „K“
• Ordne jede Beobachtung zufällig einem Cluster zu
• Wiederhole die folgenden Schritte, bis sich die Cluster nicht mehr verändern:
• Berechne den Mittelpunkt jedes Clusters
• Ordne jeden Punkt dem Cluster zu, zu dessen Mittelpunkt der geringste Abstand besteht
K Means Clustering by Datamics, 2018
K Means Clustering
• Schauen wir uns einige Wiederholungen dieser Schritte an:
K Means Clustering by Datamics, 2018
Einen K Wert wählen
K Means Clustering by Datamics, 2018
Einen K Wert wählen
K Means Clustering
• Es gibt keine leichte Antwort auf die Frage nach dem besten „K“
• Ein Weg ist die „Elbow“ oder Ellenbogen-Methode, die wir schon
kennen
by Datamics, 2018
Elbow-Methode
K Means Clustering
• Als erstes berechnen wir die Summe
der Squared Errors (SSE) für einige k-
Werte (zum Beispiel 2,4,6,8, ...)
• Der SSE wird definiert als die Summe
der Squared Distance zwischen jeden
Punktes des Clusters und seinem
Zentrums.
by Datamics, 2018
Elbow-Methode
K Means Clustering
• Wenn wir dann K gegen die SSE in ein
Diagramm bringen können wir sehen
wie der Error mit steigendem K
abnimmt. Das liegt daran, dass die
Anzahl an Clustern zunimmt
• Wählen wir so viele Cluster wie wir
Beobachtungen haben, dann landen
wir zwar bei 0, haben aber keinen
Informationsgewinn mehr.
by Datamics, 2018
Elbow-Methode
K Means Clustering
• Die Elbow-Methode empfiehlt
den K-Wert zu wählen, an dem
die SSE „abrupt“ abnimmt
• Dieses Abnehmen führt zum
„Elbow“, dem Ellbogen im
Graph
by Datamics, 2018
Support Vector Machines
Eine Einführung
by Datamics, 2018
Mathematischer Hintergrund
• Kapitels 9 im ISLR-Buch gibt einen tieferen Einblick in die Thematik
Support Vector Machines by Datamics, 2018
Übersicht
• Support Vector Machines (SVMs) sind Supervised Learning
Algorithmen, die Daten analysieren und versuchen die
zugrundeliegenden Muster in den Daten zu erkennen, die zur
Klassifizierung und Regressionsanalyse genutzt werden.
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Gegeben ist ein Set an Trainingsdaten, in dem jede Beobachtung zu
einer von zwei Klassen/Kategorien zugeordnet ist.
• Ein SVM Algorithmus bildet ein Modell, dass neue Beobachtungen in
eine der Kategorien einordnet. Somit ist es ein nicht-probabilistischer
binärer Klassifizierer
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Ein SVM Modell ist eine Repräsentation der Beobachtungen im Raum,
die so platziert werden, dass die klare Lücke zwischen den Gruppen
möglichst groß wird.
• Neue Beobachtungen werden dann im selben Raum platziert und
deren Zugehörigkeit zu einer der beiden Kategorien vorhergesagt.
Dabei dient ihre räumliche Position auf einer der Seiten der Lücke als
Grundlage.
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Schauen wir uns die grundlegende Intuition dahinter anhand eines
Beispiel an. Die klassifizierten Trainingsdaten wurden anhand zweier
Eigenschaften wie folgt platziert:
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Wir können eine „Hyperebene“ zwischen die beiden Klassen legen.
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Allerdings kommen viele „Hyperebenen“ in Frage
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Wir suchen „Hyperebenen“ die den Bereich zwischen den beiden Klassen
maximiert
• Die Vektoren, die die Grenzlinien berühren sind als Support Vectors bekannt ->
Daher der Name
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Wir können diese Idee auf nicht-linear trennbare Daten übertragen.
Dazu verwenden wir den „Kern-Trick“.
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Durch hinzufügen einer weiteren Dimension erhalten wir unsere
Hyperebene.
Support Vector Machines by Datamics, 2018
Support Vector Machines
• Wir werden anschließend ein Beispiel durchgehen und Support
Vector Machines nutzen, um zu verstehen, ob ein Tumor gutartig oder
bösartig ist.
• Darauf folgt ein Projekt für euer persönliches Machine Learning
Portfolio. Dazu verwenden wir den berühmten Iris (dt. Lilie) Datensatz
• Danach lernen wir noch, wie wir unsere Modelle durch das
GridSearch-Verfahren verbessern können.
Support Vector Machines by Datamics, 2018
Natural Language Processing
mit R
by Datamics, 2018
Natural Language Processing mit R
• Das Übungsheft ist im Machine Learning als Unterverzeichnis des R
Verzeichnisses.
• Installiere die benötigten R Pakete
• Richte einen Twitter-Account und eine Twitter-App ein
• Gehe zum RStudio und beginne die NLP Analyse mit Tweets!
Natural Language Processing by Datamics, 2018
Einführung in
Neuronale Netzwerke
by Datamics, 2018
Neuronales Netz
Die künstlichen neuronalen Netze haben ein biologisches Vorbild. Man stellt
sie den natürlichen neuronalen Netzen gegenüber, welche
Nervenzellvernetzungen im Gehirn und im Rückenmark bilden. Bei KNNs
geht es jedoch mehr um eine Abstraktion (Modellbildung) von
Informationsverarbeitung.
• Einsatzgebiete:
• Mustererkennung
• Bilderkennnung
• Vorhersagen bei Zeitreihen
• Signalerkennung
• Anomalie Erkennung
• Autonomes Fahren
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Neuronales Netz
Das menschliche Gehirn hat miteinander verbundene Neuronen mit
“dentrites” die den Input erhalten und basierend auf diesen Input, wird
ein elektrisches Output-Signal durch das “axon” erzeugt.
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Neuronales Netz
Es gibt Problemstellungen die für Menschen schwierig zu lösen sind
aber für Computer einfach zu lösen sind
• Z.B. die Berechnung eines großen arithmetischen Problems
Dann gibt es Problemstellungen die für Menschen leicht zu lösen sind,
aber für Computer schwer zu lösen sind
• Z.B. Erkennen einer Person von der Seite in einem Bild
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Neuronales Netz
Neuronale Netzwerke versuchen diese Probleme, die für Menschen
leicht sind und für Computer schwer sind, zu lösen.
Schauen wir uns ein einfaches Neuronales Netzwerk an, dem
Perzeptron (nach engl. perception, „Wahrnehmung“).
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Perceptron
Ein Perceptron besteht aus einem oder mehreren Eingaben (Inputs),
einem Prozessor und einer einzigen Ausgabe (Output).
Ein Perceptron folgt dem „feed-forward“ model, die Inputs werden an
das Neuron gesand, sie werden verarbeitet (processed) und enden als
ein Output.
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
by Datamics, 2018
Perceptron
Ein Perceptron Prozess hat 4 Hauptschritte:
1. Empfängt den Input
2. Gewichtung des Input
3. Summiert den Input
4. Generiert den Output
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
by Datamics, 2018
Perceptron Beispiel: Input
Nehmen wir ein Perceptron mit 2 Eingabewerte an:
Input 0: x1 = 12
Input 1: x2 = 4
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
by Datamics, 2018
Perceptron Beispiel: Weight
Jeder Eingabewert der zum Neuron gesendet wird, muss zuerst die
Gewichtung bestimmt werden. Z.B. multipliziert mit einen Wert
zwischen -1 und 1.
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
Weight x
Weight y
by Datamics, 2018
Perceptron Beispiel: Weight
Wenn wir ein Perceptron anlegen, werden wir zunächst zufällige
Gewichte zuweisen.
Weight 0: 0.5
Weight 1: -1
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
Weight x
Weight y
by Datamics, 2018
Perceptron Beispiel: Weight
Danach nehmen wir jeden Input und multiplizieren diesen mit seinem
Gewicht.
Input 0 * Weight 0 => 12 * 0.5 = 6
Input 1 * Weight 1 => 4 * -1 = -4
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
Weight x
Weight y
by Datamics, 2018
Perceptron Beispiel: Activation Function
Die Ausgabe des Perceptron wird generiert indem die Summe durch
eine „Aktivierungsfunktion“ (activation function) aufgerufen wird. Im
Falle einer einfachen binären Ausgabe, meldet die Aktivierungsfunktion
an das Perzeptron „feuern“.
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
Weight x
Weight y
by Datamics, 2018
Perceptron Beispiel: Activation Function
Es gibt viele Aktivierungsfunktionen die man auswählen kann, z.B.
Logitic, Trigonometric, Step. Nehmen wir eine einfache
Aktivierungsfunktion, wenn die Summe eine positive Zahl ist, dann ist
die Ausgabe 1 und wenn die Zahl negativ ist, dann ist die Ausgabe -1.
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
Weight x
Weight y
by Datamics, 2018
Perceptron Beispiel: Bias
Zusätzlich müssen wir noch den Bias berücksichtigen. Stell dir vor,
beide Eingaben wären gleich 0, dann wäre jede Summe aus der
Multiplikation mit den Gewicht auch in jeden Fall 0!
Neuronale Netzwerke und Deep Learning
Input 0
Input 1
OutputProcessor
Weight x
Weight y
by Datamics, 2018
Perceptron Beispiel: Bias
Um dieses Problem zu verhindern, fügen wir einen dritten Input „Bias“
hinzu. Diesem geben wir den Wert 1 damit das Ergebnis nicht 0 wird.
Neuronale Netzwerke und Deep Learning
Input 0
Input 1 OutputProcessor
Weight x
Weight y
bias
Weight bias
by Datamics, 2018
Perceptron Beispiel: Train
Um das Perceptron zu trainieren gehen wir durch die folgenden
Schritte:
1. Stelle dem Perceptron Eingabewerte bereit für die es eine bekannte Antwort
gibt.
2. Rufe das Perceptron auf um eine vermutete Antwort zu geben
3. Berechne den Fehler (Wie weit ist das Ergebnis von dem richtigen Wert?)
4. Passe die Gewichte gemäß dem Fehler an.
5. Wiederhole den Prozess ab Schritt 1
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Neuronales Netzwerk
Wir wiederholen den Prozess bis wir eine Fehlerrate erhalten mit der wir zufrieden
sind. Dabei definieren wir die Fehlerrate schon vorab.
Jetzt haben wir gesehen wie ein einzelnes Perceptron arbeitet, für ein Neuronales
Netzwerk musst du nur noch viele Perceptrons miteinander zu Schichten
verbinden.
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Neuronales Netzwerk
Wir haben ein Input Layer (Schicht) und ein
Output Layer. Alle Layer dazwischen werden
„hidden layers“ genannt, da du nur die Input und
Output Layer direkt siehst.
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Deep Learning
Deep Learning ist ein Neurales Netzwerk mit vielen Hidden Layers, die es dann
tief (deep) machen. Zum Beispiel verwendet eine aktuelle Microsoft Video
Erkennung 152 layers.
Neuronale Netzwerke und Deep Learning by Datamics, 2018
Verwende den Gutschein „SLIDESHARE2018“ auf Udemy oder die
Shortlinks und erhalte unsere Kurse für nur 10,99€ (95% Rabatt).
Python für Data Science und Machine Learning: https://goo.gl/cE7TQ3
Original Python Bootcamp - Von 0 auf 100: https://goo.gl/gjn7pX
R für Data Science und Machine Learning: https://goo.gl/8h5tH7
Exklusive Gutscheine
Udemy-Kurse by Datamics, 2018https://www.udemy.com/user/rene-brunner/

Weitere ähnliche Inhalte

PDF
Präsentation der Bachelorarbeit
PPTX
MongoDB Avanzado
PPTX
Top Data Mining Techniques and Their Applications
PDF
introduzione al data mining
PPTX
Foundation of is in business
PPT
Data Mining
PDF
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
PPTX
Top 10 bridal interview questions with answers
Präsentation der Bachelorarbeit
MongoDB Avanzado
Top Data Mining Techniques and Their Applications
introduzione al data mining
Foundation of is in business
Data Mining
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Top 10 bridal interview questions with answers

Ähnlich wie R für Data Science und Machine Learning (11)

PDF
Machine Learning mit Python
PPTX
Machine Learning - Eine Einführung der COMLINE Business Consulting
PDF
Support Vector Machines mit Python
PPTX
Machine Learning
PDF
Qualitative Trainingsdaten für Machine Learning effizient gewinnen
PPTX
Fallstricke im Maschinellen Lernen
PPTX
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
PPTX
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
PPTX
Künstliche Intelligenz - Maschinelles Lernen - Grundlagen
PDF
Knowledge Discovery: Modellierungstechniken von der Wissensdatenbank über Sta...
PDF
Slides open education_day_2019_beat_toedtli
Machine Learning mit Python
Machine Learning - Eine Einführung der COMLINE Business Consulting
Support Vector Machines mit Python
Machine Learning
Qualitative Trainingsdaten für Machine Learning effizient gewinnen
Fallstricke im Maschinellen Lernen
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Künstliche Intelligenz - Maschinelles Lernen - Grundlagen
Knowledge Discovery: Modellierungstechniken von der Wissensdatenbank über Sta...
Slides open education_day_2019_beat_toedtli
Anzeige

Mehr von Datamics (16)

PPTX
Die Data Science Toolbox
PPTX
Die Data Science Softskills
PPTX
Slideshare reinforcement learning
PPTX
Slideshare TensorFlow Grundlagen
PPTX
Slideshare GAN
PPTX
Slideshare AutoEncoder
PPTX
Slideshare Recurrent Neural Networks (RNN)
PPTX
Python Bootcamp - Grundlagen
PDF
Python Installationen für Data Science
PDF
Principal Component Analysis mit Python
PDF
K Means mit Python
PDF
Decision Trees und Random Forest mit Python
PDF
K Nearest Neighbors mit Python
PDF
Logistische Regression mit Python
PDF
Verzerrung Varianz Dilemma
PDF
Lineare Regression mit Python
Die Data Science Toolbox
Die Data Science Softskills
Slideshare reinforcement learning
Slideshare TensorFlow Grundlagen
Slideshare GAN
Slideshare AutoEncoder
Slideshare Recurrent Neural Networks (RNN)
Python Bootcamp - Grundlagen
Python Installationen für Data Science
Principal Component Analysis mit Python
K Means mit Python
Decision Trees und Random Forest mit Python
K Nearest Neighbors mit Python
Logistische Regression mit Python
Verzerrung Varianz Dilemma
Lineare Regression mit Python
Anzeige

R für Data Science und Machine Learning

  • 1. Kursunterlagen R für Data Science und Machine Learning by Datamics, 2018
  • 2. if, else und else if Anweisungen Eine Einführung by Datamics, 2018
  • 3. Die Syntax einer if Anweisung in R lautet: if (Bedingung){ # Führe Code aus } else { # Code sofern die Bedingung zu FALSE führt } by Datamics, 2018if, else und else if Anweisungen
  • 5. Die Syntax while (Bedingung){ # Führe diesen Code aus # Solange die Bedingung erfüllt ist } by Datamics, 2018While Schleifen
  • 7. Die Syntax for (temporäre_variable in Objekt){ # Führe für jeden Durchgang diesen Code aus } by Datamics, 2018For Schleifen
  • 8. Funktionen in R Eine Einführung by Datamics, 2018
  • 9. Die Syntax Dabei fällt folgendes Format auf: name_der_funktion ( input1, input2, ....) Die Syntax dazu lautet wie folgt: name_der_funktion <- function( param1, param2, ...){ # Code der ausgeführt wird } by Datamics, 2018Funktionen in R
  • 11. Die Syntax lapply() wird eine Funktion auf eine Liste oder einen Vektor anwenden: lapply(X, FUNK, ...) wobei X die Liste/der Vektor ist und FUNK die Funktion. by Datamics, 2018Apply
  • 13. Die Syntax grepl(), ergibt einen logischen Wert, der angibt, ob das Muster gefunden wurde grep(), ergibt einen Vektor der passenden Indizes der gesuchten Muster by Datamics, 2018Regular Expressions
  • 14. Grammatik von Grafiken mit ggplot2 Eine Einführung by Datamics, 2018
  • 15. ggplot2 Was ist ggplot2? • ggplot2 ist das am weitesten verbreitete Paket zur Daten Visualisierung mit R • Erstellt von Hadley Wickham • Folgt einer “Grammatik der Grafiken“ • Baut auf einem Ebenen-Konzept auf • Schauen wir uns diese Ebenen an! by Datamics, 2018
  • 16. ggplot2 Die Ebenen von ggplot2 • Die ersten 3 Ebenen sind Data, Aesthetics und Geometries by Datamics, 2018
  • 17. ggplot2 Die Ebenen von ggplot2 • library(ggplot2) # Library • ggplot(data=mtcars) # Daten (noch keine Visualisierung) by Datamics, 2018
  • 18. ggplot2 Die Ebenen von ggplot2 • library(ggplot2) # Library • ggplot(data=mtcars, aes(x=mpg,y=hp)) # Daten und Aesthetics by Datamics, 2018
  • 19. ggplot2 Die Ebenen von ggplot2 • library(ggplot2) # Library • pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) # Daten und Aesthetics • pl + geom_point() by Datamics, 2018
  • 20. ggplot2 Die Ebenen von ggplot2 • Die nächsten 3 Ebenen sind Facets, Statistics und Coordinates by Datamics, 2018
  • 21. ggplot2 Die Ebenen von ggplot2 • pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) + geom_point() • Pl + facet_grid(cyl ~.) by Datamics, 2018
  • 22. ggplot2 Die Ebenen von ggplot2 • pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) + geom_point() • pl + facet_grid(cyl ~.) + stat_smooth() by Datamics, 2018
  • 23. ggplot2 Die Ebenen von ggplot2 • pl <- ggplot(data=mtcars, aes(x=mpg,y=hp)) + geom_point() • pl2 <- pl + facet_grid(cyl ~.) + stat_smooth() • pl2 + coord_cartesian(xlim = c(15,25) by Datamics, 2018
  • 24. ggplot2 Die Ebenen von ggplot2 • Als letztes können wir unserer Grafik auch noch ein Theme als 7. Ebene hinzufügen • Wir werden viele der eingebauten Themes anschauen by Datamics, 2018
  • 25. ggplot2 Zusammenfassung • ggplot2 bietet viele Optionen für viele Diagrammarten • Die Hauptidee besteht darin Ebenen zu kombinieren • Schauen wir uns nun an, wie wir das zur Daten Visualisierung nutzen können by Datamics, 2018
  • 27. Begleitende Literatur • Durch unseren Kurs wird uns das Buch „Introduction to Statistical Learning“ von Gareth James begleiten. • Es gibt dieses Buch aktuell nur in der englischen Fassung vor, zählt jedoch zu den am häufigsten genutzten Werken dieser Thematik • Deshalb werden wir die wichtigsten Erklärungen in unseren deutschen Videolektionen wiederholen • Es ist kostenlos verfügbar: • Sowohl auf der Homepage • Als auch in den Ressourcen hier in Udemy Machine Learning by Datamics, 2018
  • 28. Begleitende Literatur • Das Buch ist nicht notwendig, um dem Kurs folgen zu können. • Es soll vielmehr eine zusätzliche Erklärung der mathematischen Hintergründe dessen sein, was wir in unseren Lektionen besprechen und lernen Machine Learning by Datamics, 2018
  • 29. Begleitende Literatur • Schaue Dir zunächst die Kapitel 1 & 2 des Buchs an bevor wir mit dem Machine Learning Teil weiter machen. Machine Learning by Datamics, 2018
  • 30. Was ist Machine Learning? • Machine Learning oder auf Deutsch „Maschinelles Lernen“ ist eine Methode der Daten Analyse, die die Bildung von analytischen Modellen automatisiert • Durch die Verwendung von Algorithmen, die iterativ von den Daten lernen, erlaubt es Machine Learning einem Computer Einblicke und Erkenntnisse zu erzeugen ohne zu wissen, wo er danach suchen soll Machine Learning by Datamics, 2018
  • 31. Wozu wird Machine Learning eingesetzt? • Betrugserkennung • Ergebnisse von Websuche • Echtzeit Werbung auf Webseiten • Scoring der Kreditwürdigkeit • Predictive Maintenance • Neue Pricing-Modelle • Erkennung von Netzwerk- Eindringlingen • Empfehlungssysteme • Kundensegmentierung • Analyse von Stimmungen in Texten • Vorhersage von Kundenfluktuation • Muster- und Bildererkennung • Spam-Filter für E-Mails • Finanzmodelle Machine Learning by Datamics, 2018
  • 32. Machine Learning Prozess Machine Learning Daten Bereinigung Daten Akquisition Modell Training Modell Tests Modell Einsatz Test Daten by Datamics, 2018
  • 33. Machine Learning Algorithmen • Es gibt hauptsächlich 3 Arten von Machine Learning Algorithmen • Supervised Learning • Unsupervised Learning • Reinforcement Learning • Lasst uns alle drei kurz besprechen bevor wir uns weitere Details anschauen! Machine Learning by Datamics, 2018
  • 34. Machine Learning Algorithmen • Supervised Learning • Wir haben gekennzeichnete Daten und versuchen diese Kennzeichnung anhand von bekannten Features vorherzusagen • Unsupervised Learning • Wir haben keine Kennzeichnung unserer Daten und versuchen Gruppen von Daten Punkten zu finden, die sich hinsichtlich bestimmter Features ähnlich sind • Reinforcement Learning • Algorithmen lernen eine Bestimmte Aufgabe auszuführen indem sie Erfahrung sammeln Machine Learning by Datamics, 2018
  • 35. Supervised Learning • Wir haben gekennzeichnete Daten und versuchen diese Kennzeichnung anhand von bekannten Features vorherzusagen • Zum Beispiel könnten Bauteile einer Maschine mit “D“ (defekt) oder „F“ (funktionstüchtig) gekennzeichnet sein • Der lernende Algorithmus erhält einen Satz Input mit dem korrekten Output dazu und lernt dazu indem er seinen tatsächlichen Output mit dem korrekten (erwarteten) Output vergleicht • Dann verbessert sich das Modell entsprechend Machine Learning by Datamics, 2018
  • 36. Supervised Learning • Durch Methoden wie die Regression nutzt Supervised Learning Muster, um die Kennzeichnung ungekennzeichneter Daten zu bestimmen • Supervised Learning wird häufig in Anwendungen verwendet, in denen aus historischen Daten eine Aussage über die zukünftigen Daten getroffen werden soll • Zum Beispiel kann so bestimmt werden ob Kreditkarten- Transaktionen betrügerisch sind oder welcher Versicherungskunde vermutlich einen Fall geltend machen wird • Oder wir können den Preis eine Hauses anhand bestimmter Eigenschaften vorhersagen Machine Learning by Datamics, 2018
  • 37. Unsupervised Learning • Wir haben keine Kennzeichnung unserer Daten und versuchen Gruppen von Daten Punkten zu finden, die sich hinsichtlich bestimmter Features ähnlich sind • Dem System wird also keine „richtige“ Antwort geliefert. Der Algorithmus muss sie selbst finden. • Das Ziel ist die Erkundung der Daten und das Finden von zugrundeliegenden Mustern. Machine Learning by Datamics, 2018
  • 38. Unsupervised Learning • Oder es können beispielsweise die wichtigsten Merkmale gefunden werden, die Kundensegmente voneinander unterscheiden. • Häufige Methoden verwenden selbst-organisierende Maps, Nearest- Neighbor Mapping, K-Means Clustering usw. • Diese Algorithmen werden auch genutzt um Text-Themen zu segmentieren, Produkte zu empfehlen oder Ausreißer in Daten zu identifizieren. Machine Learning by Datamics, 2018
  • 39. Reinforcement Learning • Wird im deutschen auch Bestärkendes Lernen oder Verstärkendes Lernen genannt. • Steht für eine Reihe von Methoden des Maschinellen Lernens, bei denen ein Agent selbständig eine Strategie erlernt, um erhaltene Belohnungen zu maximieren. • Es wird häufig für Roboter, im Bereich Gaming oder zur Navigation eingesetzt • Mit Reinforcement Learning entdeckt der Algorithmus durch trial- and-error welche Aktionen die besten Ergebnisse liefern Machine Learning by Datamics, 2018
  • 40. Reinforcement Learning • Dieses Lernkonzept besteht aus drei primären Bestandteilen: • Dem Agenten: der Lernende oder Entscheidungstreffende • Der Umgebung: alles womit der Agent interagiert • Den Aktionen: alles was der Agent tun kann • Das Ziel für den Agenten ist es seine Aktionen so zu wählen, dass die erwartete Belohnung innerhalb einer bestimmten Zeit maximiert wird • Dieses Ziel erreicht er schließlich durch eine gute „Vorgehensweise“ • Das übergeordnete Ziel ist die Identifikation der besten Vorgehensweise Machine Learning by Datamics, 2018
  • 41. Machine Learning in diesem Kurs • Jeder Algoritmus im Machine Learning Block wird folgendes beinhalten: • Optionale Lese-Hausaufgabe im ISLR-Buch • Kurze Erklärung der Theorie • Demonstrations-Lektion mit Python • Machine Learning Projekt Aufgaben • Übersicht der Lösung zum Projekt • Schauen wir uns dazu kurz die Notebooks im nbviewer an! Machine Learning by Datamics, 2018
  • 42. Abschließende Bemerkungen • Machine Learning zu lernen braucht Zeit • Die zugrundeliegenden mathematischen Grundlagen können beim Verständnis sehr hilfreich sein • Seid geduldig mit euch selbst und postet gerne Fragen im Fragen & Antworten Forum des Kurses • Kein einzelner Kurs kann alle Aspekte des Machine Learning abdecken, da es sehr häufig auf den konkreten Fall ankommt. Sehr gerne werde ich versuchen euch in die richtige Richtung zu weisen. Machine Learning by Datamics, 2018
  • 44. Mathematischer Hintergrund • Kapitel 2 & 3 im ISLR-Buch Lineare Regression by Datamics, 2018
  • 45. Geschichtlicher Hintergrund • Alles begann in den 1800er Jahren mit Francis Galton • Galton untersuchte die Beziehung zwischen Eltern und ihren Kindern • Insbesondere untersuchte er den Zusammenhang zwischen der Größe des Vaters mit der des Sohnes • Er fand heraus, dass ein Sohn ungefähr so groß wie sein Vater war, plus minus einige Zentimeter • Sein Durchbruch war jedoch die Entdeckung, dass die Größe des Sohns näher mit der durchschnittlichen Größe aller Leute zusammenhängt, als mit der des Vaters Lineare Regression by Datamics, 2018
  • 46. Beispielhafte Veranschaulichung • Der Basketballspieler Shaquille O‘Neal ist 2,16 Meter groß. • Sein Sohn wird wahrscheinlich auch relativ groß sein. • Da Shaq aber selbst schon „außergewöhnlich“ groß (deutlich über dem Durchschnitt) ist, gibt es eine hohe Wahrscheinlichkeit dafür, dass sein Sohn nicht genau so groß wie er sein wird • Und tatsächlich ist sein Sohn ebenfalls relativ groß: 2 Meter • Galton nannte dieses Phänomen Regression: • „A father‘s son‘s height trends to regress (or drift towards) the mean (average) height.“ Lineare Regression by Datamics, 2018
  • 47. Beispielhafte Berechnung • Das einfachste mögliche Beispiel: • Eine Regression zwischen nur 2 Datenpunkten Lineare Regression 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 0 1 2 3 4 5 by Datamics, 2018
  • 48. Beispielhafte Berechnung • Alles was wir versuchen, wenn wir unsere Regressionslinie einzeichnen, ist sie so zu zeichnen, dass sie so nah wie möglich an allen Punkten liegt • Für die klassische lineare Regression oder „Kleinste Quadrate Methode“ messen wir nur die Nähe in die Richtungen „hoch und runter“ Lineare Regression 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 0 1 2 3 4 5 by Datamics, 2018
  • 49. Beispielhafte Berechnung • Wäre es nicht toll wir könnten das auch für mehr als zwei Punkte anwenden? • So könnten wir einem Mann die wahrscheinliche Größe seines zukünftigen Sohnes vorhersagen, noch bevor er geboren wurde. • Dafür gibt es verschiedene Methoden, doch alle minimieren die Distanz zwischen Punkten und Linie Lineare Regression Größe des Vaters GrößedesSohns by Datamics, 2018
  • 50. Beispielhafte Berechnung • Die häufigste Methode ist die „Least Squares Method“ (Methode der kleinsten Quadrate oder kurz KQ- Methode) • Wir haben wie im gezeigten Beispiel viele blaue Datenpunkte Lineare Regression by Datamics, 2018
  • 51. Beispielhafte Berechnung • Durch diese Datenpunkte legen wir eine lineare Regressionslinie hindurch • Dabei ist die Frage wie man die beste Linie findet? Lineare Regression by Datamics, 2018
  • 52. Beispielhafte Berechnung • Um zu erfahren welche die beste Linie ist minimieren wir die Summe der Quadrierten Residuen • In unserem Beispiel rechts werden diese Residuen durch die Linien zwischen Punkten und der Regressionslinie dargestellt Lineare Regression by Datamics, 2018
  • 53. K Nearest Neighbors Eine Einführung by Datamics, 2018
  • 54. Mathematischer Hintergrund • Der weitere Teil des Kapitels 4 (ab 4.4) im ISLR-Buch gibt einen tieferen Einblick in die Thematik K Nearest Neighbors by Datamics, 2018
  • 55. KNN (K Nearest Neighbors) • K Nearest Neighbors (Nächste-Nachbarn-Klassifikation) ist ein Klassifizierungsalgorithmus der auf einem sehr einfachen Prinzip beruht. • Dieses wird am besten durch ein Beispiel veranschaulicht! • Stellt euch vor wir hätten Daten zu Hunden und Pferden, mit Körpergröße (Höhe) und Gewicht. K Nearest Neighbors by Datamics, 2018
  • 56. KNN K Nearest Neighbors Rot: Pferd Blau: Hund Neuer Datenpunkt: Ist es ein Hund oder ein Pferd? Neuer Datenpunkt: Ist es ein Hund oder ein Pferd? Neuer Datenpunkt: Ist es ein Hund oder ein Pferd? Pferd vs Hund Gewicht (lbs) Größe(ft) by Datamics, 2018
  • 57. Algorithmus Trainingsalgorithmus: • Speichere alle Daten Vorhersagealgorithmus: • Berechne die Distanz von x zu allen Punkten in den Daten • Sortiere die Punkte nach zunehmender Distanz zu x • Sage die mehrheitliche Kategorie der „k“ nähesten Punkte voraus K Nearest Neighbors by Datamics, 2018
  • 58. KNN Die Wahl von “k“ beeinflusst die Klasse zu der x zugeordnet wird. K Nearest Neighbors by Datamics, 2018
  • 59. KNN Die Wahl von “k“ beeinflusst die Klasse zu der x zugeordnet wird. K Nearest Neighbors by Datamics, 2018
  • 60. KNN Die Wahl von “k“ beeinflusst die Klasse zu der x zugeordnet wird. K Nearest Neighbors by Datamics, 2018
  • 61. Vorteile • Sehr einfach • Training ist trivial • Funktioniert mit jeder Anzahl an Klassen • Einfach neue Daten hinzuzufügen • Wenige Parameter • K • Distanzwert K Nearest Neighbors by Datamics, 2018
  • 62. Nachteile • Hohe Vorhersagekosten (schlecht für große Datensätze) • Nicht gut für hochdimensionale Daten • Kategorische Eigenschaften lassen sich schlecht berücksichtigen K Nearest Neighbors by Datamics, 2018
  • 64. Mathematischer Hintergrund • Kapitels 8 im ISLR-Buch gibt einen tieferen Einblick in die Thematik Tree Methods by Datamics, 2018
  • 65. Beispiel • Beginnen wir mit einem schwierigen Experiment, um die Motivation hinter der Entscheidungsbaum Methode zu verstehen Tree Methods by Datamics, 2018
  • 66. Beispiel • Stellt euch vor ich spiele jeden Samstag Tennis und lade dazu immer einen Freund ein. • Manchmal taucht meine Freund auf, manchmal nicht. • Für ihn liegt das an verschiedenen Faktoren wie z.B. das Wetter, die Temperatur, die Luftfeuchtigkeit, der Wind usw. • Ich habe damit begonnen festzuhalten, ob er auftaucht oder nicht und welche Bedingungen jeweils vorliegen. Tree Methods by Datamics, 2018
  • 67. Bedingungen Tree Methods by Datamics, 2018
  • 68. Baumstruktur Tree Methods • Ich möchte diese Daten verwenden, um vorherzusagen, ob er auftauchen wird oder nicht. • Ein intuitiver Weg das zu tun ist ein Entscheidungsbaum (Decision Tree). by Datamics, 2018
  • 69. Baumstruktur Tree Methods • In diesem Baum (en. Tree) haben wir: • Knoten (Nodes) • Teilen sich für einen Bestimmten Wert des Attributs auf • Kanten (Edges) • Ergebnis einer Aufteilung zum nächsten Node by Datamics, 2018
  • 70. Baumstruktur Tree Methods • In diesem Baum (en. Tree) haben wir: • Wurzel (Root) • Erste Knoten, der eine Aufteilung durchführt • Blätter (Leaves) • Letzte Knoten, die das Ergebnis vorhersagen by Datamics, 2018
  • 71. Herleitung der Aufteilungen Tree Methods • Stellen wir uns die folgenden Daten mit 3 Features (X, Y und Z) vor und zwei möglichen Klassen: by Datamics, 2018
  • 72. Herleitung der Aufteilungen Tree Methods • Nach Y aufzuteilen gibt uns eine klare Trennung zwischen den Klassen by Datamics, 2018
  • 73. Herleitung der Aufteilungen Tree Methods • Stellen wir uns die folgenden Daten mit 3 Features (X, Y und Z) vor und zwei möglichen Klassen: by Datamics, 2018
  • 74. Herleitung der Aufteilungen Tree Methods • Wir hätten auch nach den anderen Features aufteilen können: Erste Aufteilung by Datamics, 2018
  • 75. Herleitung der Aufteilungen Tree Methods • Die Entropie und der Informationsgewinn sind die mathematischen Methoden, die bei der Auswahl des besten ersten (bzw. nächsten) Splits helfen: Weiterführende Erklärungen sind im ISLR-Buch! by Datamics, 2018
  • 76. Random Forests • Um die Performance zu verbessern können wir viele Bäume mit zufälligen Stichproben (mit zurücklegen) der Features als Split nutzen. • Eine neue zufällige Stichprobe von m Features wird für jeden einzelnen Split jedes einzelnen Baumes gewählt. • Zur Klassifizierung wird m meist als Quadratwurzel von p gewählt. Tree Methods by Datamics, 2018
  • 77. Random Forests • Warum machen wir das? • Nehmen wir an es gibt ein sehr starkes Feature im Datensatz. Wenn wir dann die „bagged“ Trees verwenden, werden die meisten Bäume dieses Feature als ersten Split wählen, was zu einer Zusammenstellung von vielen gleichen Bäumen führt. Diese sind stark korreliert. • Einen Durchschnitt über stark korrelierte Mengen zu bilden verringert die Varianz nicht signifikant. • Durch die zufällige Auswahl bzw. Nicht-Auswahl von Features für jeden Split, können Random Forests die Entscheidungsbäume „dekorrelieren“. Dadurch kann der Prozess der Durchschnittsbildung die Varianz im Ergebnismodell reduzieren. Tree Methods by Datamics, 2018
  • 79. Mathematischer Hintergrund • Kapitels 10 im ISLR-Buch gibt einen tieferen Einblick in die Thematik K Means Clustering by Datamics, 2018
  • 80. K-Means Clustering • Das K-Means Clustering ist ein Unsupervised Learning (Unüberwachtes Lernen) Algorithmus der versucht ähnliche Cluster der Daten zu bilden. • Wie kann so ein Cluster Problem aussehen? • Ähnliche Dokumente gruppieren • Kunden anhand von Eigenschaften gruppieren • Marktsegmentation • Identifizierung physisch gleicher Gruppen K Means Clustering by Datamics, 2018
  • 81. K-Means Clustering • Das übergeordnete Ziel ist es die Daten in distinkte Gruppen einzuteilen, so dass die Beobachtungen innerhalb einer Gruppe ähnlich sind. K Means Clustering by Datamics, 2018
  • 82. K-Means Clustering • K-Means Algorithmus • Wähle eine Anzahl an Clustern „K“ • Ordne jede Beobachtung zufällig einem Cluster zu • Wiederhole die folgenden Schritte, bis sich die Cluster nicht mehr verändern: • Berechne den Mittelpunkt jedes Clusters • Ordne jeden Punkt dem Cluster zu, zu dessen Mittelpunkt der geringste Abstand besteht K Means Clustering by Datamics, 2018
  • 83. K Means Clustering • Schauen wir uns einige Wiederholungen dieser Schritte an: K Means Clustering by Datamics, 2018
  • 84. Einen K Wert wählen K Means Clustering by Datamics, 2018
  • 85. Einen K Wert wählen K Means Clustering • Es gibt keine leichte Antwort auf die Frage nach dem besten „K“ • Ein Weg ist die „Elbow“ oder Ellenbogen-Methode, die wir schon kennen by Datamics, 2018
  • 86. Elbow-Methode K Means Clustering • Als erstes berechnen wir die Summe der Squared Errors (SSE) für einige k- Werte (zum Beispiel 2,4,6,8, ...) • Der SSE wird definiert als die Summe der Squared Distance zwischen jeden Punktes des Clusters und seinem Zentrums. by Datamics, 2018
  • 87. Elbow-Methode K Means Clustering • Wenn wir dann K gegen die SSE in ein Diagramm bringen können wir sehen wie der Error mit steigendem K abnimmt. Das liegt daran, dass die Anzahl an Clustern zunimmt • Wählen wir so viele Cluster wie wir Beobachtungen haben, dann landen wir zwar bei 0, haben aber keinen Informationsgewinn mehr. by Datamics, 2018
  • 88. Elbow-Methode K Means Clustering • Die Elbow-Methode empfiehlt den K-Wert zu wählen, an dem die SSE „abrupt“ abnimmt • Dieses Abnehmen führt zum „Elbow“, dem Ellbogen im Graph by Datamics, 2018
  • 89. Support Vector Machines Eine Einführung by Datamics, 2018
  • 90. Mathematischer Hintergrund • Kapitels 9 im ISLR-Buch gibt einen tieferen Einblick in die Thematik Support Vector Machines by Datamics, 2018
  • 91. Übersicht • Support Vector Machines (SVMs) sind Supervised Learning Algorithmen, die Daten analysieren und versuchen die zugrundeliegenden Muster in den Daten zu erkennen, die zur Klassifizierung und Regressionsanalyse genutzt werden. Support Vector Machines by Datamics, 2018
  • 92. Support Vector Machines • Gegeben ist ein Set an Trainingsdaten, in dem jede Beobachtung zu einer von zwei Klassen/Kategorien zugeordnet ist. • Ein SVM Algorithmus bildet ein Modell, dass neue Beobachtungen in eine der Kategorien einordnet. Somit ist es ein nicht-probabilistischer binärer Klassifizierer Support Vector Machines by Datamics, 2018
  • 93. Support Vector Machines • Ein SVM Modell ist eine Repräsentation der Beobachtungen im Raum, die so platziert werden, dass die klare Lücke zwischen den Gruppen möglichst groß wird. • Neue Beobachtungen werden dann im selben Raum platziert und deren Zugehörigkeit zu einer der beiden Kategorien vorhergesagt. Dabei dient ihre räumliche Position auf einer der Seiten der Lücke als Grundlage. Support Vector Machines by Datamics, 2018
  • 94. Support Vector Machines • Schauen wir uns die grundlegende Intuition dahinter anhand eines Beispiel an. Die klassifizierten Trainingsdaten wurden anhand zweier Eigenschaften wie folgt platziert: Support Vector Machines by Datamics, 2018
  • 95. Support Vector Machines • Wir können eine „Hyperebene“ zwischen die beiden Klassen legen. Support Vector Machines by Datamics, 2018
  • 96. Support Vector Machines • Allerdings kommen viele „Hyperebenen“ in Frage Support Vector Machines by Datamics, 2018
  • 97. Support Vector Machines • Wir suchen „Hyperebenen“ die den Bereich zwischen den beiden Klassen maximiert • Die Vektoren, die die Grenzlinien berühren sind als Support Vectors bekannt -> Daher der Name Support Vector Machines by Datamics, 2018
  • 98. Support Vector Machines • Wir können diese Idee auf nicht-linear trennbare Daten übertragen. Dazu verwenden wir den „Kern-Trick“. Support Vector Machines by Datamics, 2018
  • 99. Support Vector Machines • Durch hinzufügen einer weiteren Dimension erhalten wir unsere Hyperebene. Support Vector Machines by Datamics, 2018
  • 100. Support Vector Machines • Wir werden anschließend ein Beispiel durchgehen und Support Vector Machines nutzen, um zu verstehen, ob ein Tumor gutartig oder bösartig ist. • Darauf folgt ein Projekt für euer persönliches Machine Learning Portfolio. Dazu verwenden wir den berühmten Iris (dt. Lilie) Datensatz • Danach lernen wir noch, wie wir unsere Modelle durch das GridSearch-Verfahren verbessern können. Support Vector Machines by Datamics, 2018
  • 101. Natural Language Processing mit R by Datamics, 2018
  • 102. Natural Language Processing mit R • Das Übungsheft ist im Machine Learning als Unterverzeichnis des R Verzeichnisses. • Installiere die benötigten R Pakete • Richte einen Twitter-Account und eine Twitter-App ein • Gehe zum RStudio und beginne die NLP Analyse mit Tweets! Natural Language Processing by Datamics, 2018
  • 104. Neuronales Netz Die künstlichen neuronalen Netze haben ein biologisches Vorbild. Man stellt sie den natürlichen neuronalen Netzen gegenüber, welche Nervenzellvernetzungen im Gehirn und im Rückenmark bilden. Bei KNNs geht es jedoch mehr um eine Abstraktion (Modellbildung) von Informationsverarbeitung. • Einsatzgebiete: • Mustererkennung • Bilderkennnung • Vorhersagen bei Zeitreihen • Signalerkennung • Anomalie Erkennung • Autonomes Fahren Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 105. Neuronales Netz Das menschliche Gehirn hat miteinander verbundene Neuronen mit “dentrites” die den Input erhalten und basierend auf diesen Input, wird ein elektrisches Output-Signal durch das “axon” erzeugt. Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 106. Neuronales Netz Es gibt Problemstellungen die für Menschen schwierig zu lösen sind aber für Computer einfach zu lösen sind • Z.B. die Berechnung eines großen arithmetischen Problems Dann gibt es Problemstellungen die für Menschen leicht zu lösen sind, aber für Computer schwer zu lösen sind • Z.B. Erkennen einer Person von der Seite in einem Bild Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 107. Neuronales Netz Neuronale Netzwerke versuchen diese Probleme, die für Menschen leicht sind und für Computer schwer sind, zu lösen. Schauen wir uns ein einfaches Neuronales Netzwerk an, dem Perzeptron (nach engl. perception, „Wahrnehmung“). Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 108. Perceptron Ein Perceptron besteht aus einem oder mehreren Eingaben (Inputs), einem Prozessor und einer einzigen Ausgabe (Output). Ein Perceptron folgt dem „feed-forward“ model, die Inputs werden an das Neuron gesand, sie werden verarbeitet (processed) und enden als ein Output. Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor by Datamics, 2018
  • 109. Perceptron Ein Perceptron Prozess hat 4 Hauptschritte: 1. Empfängt den Input 2. Gewichtung des Input 3. Summiert den Input 4. Generiert den Output Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor by Datamics, 2018
  • 110. Perceptron Beispiel: Input Nehmen wir ein Perceptron mit 2 Eingabewerte an: Input 0: x1 = 12 Input 1: x2 = 4 Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor by Datamics, 2018
  • 111. Perceptron Beispiel: Weight Jeder Eingabewert der zum Neuron gesendet wird, muss zuerst die Gewichtung bestimmt werden. Z.B. multipliziert mit einen Wert zwischen -1 und 1. Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y by Datamics, 2018
  • 112. Perceptron Beispiel: Weight Wenn wir ein Perceptron anlegen, werden wir zunächst zufällige Gewichte zuweisen. Weight 0: 0.5 Weight 1: -1 Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y by Datamics, 2018
  • 113. Perceptron Beispiel: Weight Danach nehmen wir jeden Input und multiplizieren diesen mit seinem Gewicht. Input 0 * Weight 0 => 12 * 0.5 = 6 Input 1 * Weight 1 => 4 * -1 = -4 Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y by Datamics, 2018
  • 114. Perceptron Beispiel: Activation Function Die Ausgabe des Perceptron wird generiert indem die Summe durch eine „Aktivierungsfunktion“ (activation function) aufgerufen wird. Im Falle einer einfachen binären Ausgabe, meldet die Aktivierungsfunktion an das Perzeptron „feuern“. Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y by Datamics, 2018
  • 115. Perceptron Beispiel: Activation Function Es gibt viele Aktivierungsfunktionen die man auswählen kann, z.B. Logitic, Trigonometric, Step. Nehmen wir eine einfache Aktivierungsfunktion, wenn die Summe eine positive Zahl ist, dann ist die Ausgabe 1 und wenn die Zahl negativ ist, dann ist die Ausgabe -1. Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y by Datamics, 2018
  • 116. Perceptron Beispiel: Bias Zusätzlich müssen wir noch den Bias berücksichtigen. Stell dir vor, beide Eingaben wären gleich 0, dann wäre jede Summe aus der Multiplikation mit den Gewicht auch in jeden Fall 0! Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y by Datamics, 2018
  • 117. Perceptron Beispiel: Bias Um dieses Problem zu verhindern, fügen wir einen dritten Input „Bias“ hinzu. Diesem geben wir den Wert 1 damit das Ergebnis nicht 0 wird. Neuronale Netzwerke und Deep Learning Input 0 Input 1 OutputProcessor Weight x Weight y bias Weight bias by Datamics, 2018
  • 118. Perceptron Beispiel: Train Um das Perceptron zu trainieren gehen wir durch die folgenden Schritte: 1. Stelle dem Perceptron Eingabewerte bereit für die es eine bekannte Antwort gibt. 2. Rufe das Perceptron auf um eine vermutete Antwort zu geben 3. Berechne den Fehler (Wie weit ist das Ergebnis von dem richtigen Wert?) 4. Passe die Gewichte gemäß dem Fehler an. 5. Wiederhole den Prozess ab Schritt 1 Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 119. Neuronales Netzwerk Wir wiederholen den Prozess bis wir eine Fehlerrate erhalten mit der wir zufrieden sind. Dabei definieren wir die Fehlerrate schon vorab. Jetzt haben wir gesehen wie ein einzelnes Perceptron arbeitet, für ein Neuronales Netzwerk musst du nur noch viele Perceptrons miteinander zu Schichten verbinden. Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 120. Neuronales Netzwerk Wir haben ein Input Layer (Schicht) und ein Output Layer. Alle Layer dazwischen werden „hidden layers“ genannt, da du nur die Input und Output Layer direkt siehst. Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 121. Deep Learning Deep Learning ist ein Neurales Netzwerk mit vielen Hidden Layers, die es dann tief (deep) machen. Zum Beispiel verwendet eine aktuelle Microsoft Video Erkennung 152 layers. Neuronale Netzwerke und Deep Learning by Datamics, 2018
  • 122. Verwende den Gutschein „SLIDESHARE2018“ auf Udemy oder die Shortlinks und erhalte unsere Kurse für nur 10,99€ (95% Rabatt). Python für Data Science und Machine Learning: https://goo.gl/cE7TQ3 Original Python Bootcamp - Von 0 auf 100: https://goo.gl/gjn7pX R für Data Science und Machine Learning: https://goo.gl/8h5tH7 Exklusive Gutscheine Udemy-Kurse by Datamics, 2018https://www.udemy.com/user/rene-brunner/