Future Technology: Machine Learning

Level:

Anfänger

Datum:

04.03 - 08.03.19

16.09 - 20.09.19

Dauer:

5 Tage

Jetzt für den Kurs anmelden

Zielgruppe

In diesem Kurs lernen Sie, wie sie Machine Learning Probleme in Python realisieren, lösen und implementieren können. Obgleich der Kurs die verwendeten Funktionen, Libraries usw. abdeckt, wird nicht tiefer in die Details der Sprache eingegangen. Aus diesem Grund sollten die Sie grundsätzliche Kenntnisse in Python haben

Inhalt

Tag 1: Installation und Einführung

Einführung zu ML (Machine Learning):

  • Was ist Machine Learning?
  • Applikationen (Financial Forecasting, Profiling, Text Mining, Image Recognition,etc)
  • Supervised Learning vs Unsupervised Learning
  • Andere Anwendungen: Informationsbeschaffung, Optimierungen, Graph Analysis
  • Exploratory Analysis. Was ist es und warum ist es wichtig?

Installation (Windows, Linux)

Installation von PyCharm

Einführung in Python für ML (Machine Learning):

  • Einführung in Python
  • Einführung in wesentliche Libraries für ML:
    • numpy
    • pandas
    • scikit
    • matplotlib

Überblick an PyCharm:

  • Grundlegende Funktionen
  • Nützliche Shortcuts
  • Debug Mode
  • Data View

 

Tag 2: Explorative Analyse

Richtlinien für die Vorgehensweise bei einer explorativen Analyse:

  • Welches Problem habe ich? Gibt es eine Zielvariable?
  • Wie sehen meine Daten aus? Welche Variablen sind korreliert? Sind alleBeziehungen wichtig? Mit welchem Kriterium stellt man fest, ob die gefundene Beziehung (Korrelation) wichtig ist oder nicht? Sind die Kriterien nur statistisch?
  • Welche statistischen Methoden gibt es, um eine explorativen Analyse durchzuführen? Korrelation-Tests, Korrelation: categorical-categorical, categorical-continuous, continuous-continuous, correlation matrices, PCA, Correspondence Analysis, etc.
  • Visualisierung als wichtige Komponente – Graphen als Teil der explorativen Analyse: Wie können Einblicke aus Graphen gezogen werden? Analyse von einfachen (gewöhnlichen) und komplexen Graphen.

Die Antworten auf diese Fragen erarbeitet sich die Gruppe gemeinsam und lernt damit auch gleichzeitig, wie die zuvor angeführten Punkte in Python umzusetzen sind. In Bezug auf die technischen Aspekte wird der Kurs, bei der Ausführung der Aufgaben folgende Themen abdecken:

  • Daten laden (CSV, SQL, JSON, etc.)
  • Datenverarbeitung (Subsets, Aggregations, etc.)
  • Laufende statistische Methoden
  • Graphen

 

Tag 3: Supervised Learning

Inhalte:

  • Hauptkonzepte in Supervised Learning:
    • Training, Testing and Validation o Cross-validation o Overfitting and Underfitting o Generation von zusätzliche Variablen
  • Supervised learning in Python:
    • Regressions o Naive Bayes
    • Classification Trees & Random Forests
    • SVM
    • GBM
    • Neural Networks
  • Leistungsmessungen:
    • R2
    • Mean Square/Absolute Error o Confusion Matrix
    • ROC and AUC
  • Technische Aspekte in Python:
    • Train/test splitting o zusätzliche Variablen herstellen o Modelle trainieren o Vorhersagen
    • Leistungsmessungen

Gestartet wird der dritte Tag mit dem Kennenlernen der Hauptkonzepte, sowie verschiedenster Techniken in Supervised Learning. Aufgrund der starken Praxisorientierung des Kurses, werden die Teilnehmer/innen anschließend in kleine Gruppen geteilt, in denen sie unterschiedliche Supervised Learning Modelle trainieren werden. Jedes Team erhält die gleichen Ausgangsdaten und entscheidet individuell, welche zusätzliche Variablen aufzubauen sind. Die Erfahrungen und Denkprozesse werden hinterher mit dem Rest geteilt.

Die Performance der trainierten Modelle wird mit neuen, unbekannten Daten getestet und nachfolgend gemeinsam analysiert und diskutiert.
Der Consultant steht natürlich während des gesamten Prozesses für alle Fragen zur Verfügung.
Durch das Training kommen die Teilnehmer/innen nicht nur in Kontakt mit einem “realen” Machine Learning Problem, sondern sie erlernen auch wie diese in Python zu lösen sind.

 

Tag 4: Unsupervised Learning + Text Mining

  • Unsupervised Learning:
    • Kmeans
    • Hierarchical Clustering & Heatmap
    • Principal Component Analysis/ Correspondence Analysis
  • Einführung in Text Mining und Information Retrieval
    •  Applikationen (Sentiment Analysis, IR, etc.)
    • Von Wörtern zu Nummern:
      • Pre-processing (Punctuation, lowercase, etc)
      • Porting – Stemming
      • Lemmatization
      • N-grams
      • Numerische Matrizen aus Text
  • Supervised und Unsupervised problems in text mining
  • Information Retrieval (TF/IDF)

Am Tag 4 werden zwei Themen separat bearbeitet (Vormittag & Nachmittag). Jedes Modul wird wie folgt organisiert:

  • theoretische Einführung
  • Beispiele in Python
  • Analyse der Ergebnisse
  • Selbstständiges Erarbeiten ähnlicher Aufgaben von den Teilnehmern/innen
  • Gemeinsame Analyse und Interpretation der Ergebnisse

Verwendete Python Libraries werden erklärt, beispielsweise:

  • Scikit clustering
  • Nltk (Natural Language Toolkit)

 

Tag 5: Vom Labor zu Produktion

Vormittags wird an der Implementierung von Machine Learning in einem produktiven Umfeld gearbeitet.

  • Online vs. Offline Predictions
  • Datensammlungstrategien – Response Times
  • APIs in Machine Learning
  • Batch predictions
  • Reports
  • Dashboards

Für jedes Topic werden die entsprechende Python Werkzeuge erklärt:

  • Flask
  • Jupyter
  • Dash

Am Nachmittag wird der Kurs mit einer Zusammenfassung der bearbeiteten Themen abgeschlossen:

  • Überblick der Themen
  • Diskussion: Welchen Bezug haben die Themen zueinander?
  • Final Q&A

 

Jetzt für den Kurs anmelden