Reproducible Data Science mit R

Die Fähigkeit flexible, visuell ansprechende und audrucksstarke Abbildungen zu erstellen ist ein essentieller Schritt in der Datenanalyse.

Von explorativer Datenanalyse über die Visualisierung von Modellierungsergebnissen hin zu komplexen Abbildungen - in diesem Kurs erhalten Sie einen kompletten Überblick über alle Bereiche der Visualisierung mit dem Paket ggplot2.

Der Kurs behandelt folgende Themen:

  • ggplot2 Einführung: Syntax und Struktur

  • Explorative Datenanalyse: Einfache Grundabbildungen (Boxplots, Scatterplots)

  • Personalisierung: Die große Freiheit von ggplot2

  • Facet & friends: Das Erstellen fortgeschrittener Abbildungen

  • Erweiterungen: Überblick über die hilfreichsten Erweiterungspakete

  • Anordnen: Möglichkeiten des post-processing von ggplot2 Abbildungen (grid layouts, Verschachtelung)

  • Es ist in den letzten Jahren eine große Auswahl an Erweiterungen rund um ggplot2 enstanden. Dieser Kurs gibt Ihnen einen kuratierten Überblick über diese und zeigt praktische Beispiele zur Anwendung.

Voraussetzungen: Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Python Crashkurs

Der 1-tägige Python Crashkurs richtet sich an Teilnehmer, die Grundkenntnisse in Python erlernen oder auffrischen möchten. Der Fokus im Python Crashkurs liegt auf der technischen Einführung, das Erlernen der grundlegenden Python-Syntax, sowie der Umgang mit Daten und der Datenanalyse in Python. Alle vorgestellten Themen werden mit Hilfe von Übungen der Teilnehmer unter intensiver Anleitung ausführlich erläutert, demonstriert und geübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von Python

  • Installation und Nutzung von Python und nützlicher Python Module.

  • Erläuterung der wichtigsten Datentypen, Operatoren, Funktionen und Hilfeseiten.

  • Einführung in NumPy und Pandas.

  • Import und Export von Daten.

  • Arbeiten mit DataFrames und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

  • Berechnen von statistischen Kennzahlen (z.B.: Mittelwert, Quantile, Varianz, etc.).

Folgende Python-Pakete werden behandelt:

  • Numpy

  • Pandas

Voraussetzungen:

keine

Weiterlesen
Python Basiskurs

Der 1-tägige Python Crashkurs richtet sich an Teilnehmer, die Grundkenntnisse in Python erlernen oder auffrischen möchten. Der Fokus im Python Crashkurs liegt auf der technischen Einführung, das Erlernen der grundlegenden Python-Syntax, sowie der Umgang mit Daten und der Datenanalyse in Python. Alle vorgestellten Themen werden mit Hilfe von Übungen der Teilnehmer unter intensiver Anleitung ausführlich erläutert, demonstriert und geübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von Python

  • Installation und Nutzung von Python und nützlicher Python Module.

  • Erläuterung der wichtigsten Datentypen, Operatoren, Funktionen und Hilfeseiten.

  • Einführung in NumPy und Pandas.

  • Import und Export von Daten.

  • Arbeiten mit DataFrames und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

  • Berechnen von statistischen Kennzahlen (z.B.: Mittelwert, Quantile, Varianz, etc.).

Folgende Python-Pakete werden behandelt:

  • Numpy

  • Pandas

Voraussetzungen:

keine

Weiterlesen
Statistik Grundlagenkurs

Dieser Kurs ist für Personen konzipiert, die Interesse an methodische Grundlagen der Statistik und Datenanalyse haben und einen allgemeinen Einblick in deren Anwendungsgebiete gewinnen möchten. Ziel dieses Kurses ist es, ein solides Verständnis der Grundbegriffe statistischer Deskription und Inferenz zu vermitteln.

In diesem Kurs kommt keine explizite Data Science Software wie z.B. R oder Python zum Einsatz. Alle Themen werden allgemein behandelt. Kleine interaktive Quizzes während des Kurses sollen das Verständnis der Kursinhalte festigen. Die beigebrachten Methoden, Beispiele und Aufgaben sind unabhängig von der später verwendeten Software und werden anschaulich mit Praxisbeispielen motiviert. Ein vergleichbarer Kurs, der Anwendungsbeispiele mit R ist unser Statistische Modellierung und Inferenz mit R.

Der Kurs behandelt folgende Themen:

Grundlagen der deskriptiven Statistik und Datenvisualisierung

  • Begriffserklärung: Skalentypen (Nominal-, Ordinal-, Intervall- und Verhältnisskala)

  • Univariate Datenanalyse: Barplots, Boxplots, Histogram, Wahrscheinlichkeitsverteilungen und -dichten z.B. Normalverteilung, t-Verteilung, Gleichverteilung.

  • Berechnung einfacher statistischer Kennzahlen: Mittelwert, Median, Quantile, Standardfehler des Mittelwerts, Standardabweichung, Varianz, Häufigkeitsverteilungen, Kontingenztafeln, Odds und Odds-Ratios.

  • Multivariate Datenanalyse: Visualisierung von zwei kategorialen Variablen, einer kategorialen und einer numerischen Variablen sowie zwei numerischen Variablen (Scatterplots).

  • Korrelation und Interpretation aller erlernten statistischen Kennzahlen und Grafiken.

Statistische Inferenz

  • Punkt- und Intervallschätzung bzw. Konfidenzintervalle

  • Statistische Hypothesentests:

    • Motivation und Übersicht: Einstichproben vs. zweistichproben Test, einseitiger vs. zweiseitiger Test, gepaarter vs. ungepaarter Tests

    • Interpretation der Ergebnisse und Begriffserklärung: Signifikanzniveau, p-Wert, Teststatistik, etc.

    • Behandelte Tests: t-Test, Welch-Test (Test auf Mittelwertunterschiede), Mann-Whitney-U-Test bzw. Wilcoxon-Rangsummentest, Shapiro-Wilk-Test (Test auf Normalverteilung), Kolmogoroff-Smirnow-Test (Test auf beliebige Verteilungen)

  • Multiples Testen: Probleme und Lösungsansätze (z.B. Bonferroni Korrektur)

Statistische Modellierung

  • Das einfache lineare Regressionsmodell (Aufbau, Anpassung, Annahmen, Goodness of Fit).

  • Erweiterungen des linearen Modells wie, z.B. multiple Regression, Verwendung von kategorischen Einflussgrößen durch Dummykodierung und Interaktionseffekte.

  • Modelldiagnose: QQ-plots, Residuenanalyse, Identifikation von Ausreißern (z.B. Cook’s distance).

  • Ausblick: Generalisierte lineare Modelle (engl. generalized linear models) mit Fokus auf logistische Regression.

  • Modellevaluation (MSE, R-squared, Konfusionsmatrix, ROC-Kurve (engl. Receiver Operating Characteristic), AUC: Area Under the Curve)

  • Wissenswertes: Erläuterung von Problemen und Fallstricken (z.B. Under-/Overfitting, Nichtlineare Effekte, Kolinearität, Confounder-Variablen, etc.)

Alle verwendeten statistischen Verfahren werden zur Auffrischung erklärt, an echten Datenbeispielen motiviert, demonstriert und deren Funktionsweise bzw. Anwendung mit Hilfe von kurzen Quizzes verdeutlich. Zudem wird auch auf die inhaltliche Interpretation der Ergebnisse der Methoden eingegangen.

Weiterlesen
R Crashkurs

Der 1-tägige R Crashkurs richtet sich an Teilnehmer, die Grundkenntnisse in R erlernen oder auffrischen möchten. Der Fokus im R Crashkurs liegt auf die technische Einführung in R, das Erlernen der grundlegenden R-Syntax und das Arbeiten mit R zur Datenanalyse.

Die Kursinhalte decken sich weitgehend mit dem ersten Kurstag aus unserem 2-tägigen R Basiskurs. Alle vorgestellten Themen werden mit Hilfe von Übungen der Teilnehmer unter intensiver Anleitung ausführlich erläutert, demonstriert und geübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von R

  • Arbeiten mit R und R Studio, eine der beliebtesten und mächtigsten graphischen Benutzeroberfläche (GUIs) für R.

  • Installation und Nutzung von Erweiterungspaketen in R.

  • Einführung in Hilfeseiten und Tipps zur Selbsthilfe.

  • Erläuterung der wichtigsten Datentypen, Operatoren (arithmetische und logische Operatoren) und Funktionen in R.

  • Import und Export von Daten (z.B. Dateiformate wie CSV, Excel etc.)

  • Arbeiten mit Dataframes und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

  • Berechnen von statistischen Kennzahlen (z.B.: Mittelwert, Quantile, Varianz, etc.).

Voraussetzungen:

keine

Weiterlesen
R Basiskurs: Grundlagen der Datenanalyse

Der R Basiskurs richtet sich an Teilnehmer und Teilnehmerinnen, welche die statistische Software R als Werkzeug für die Analyse und Visualisierung eigener Daten erlernen möchten und dabei keine Vorkenntnisse besitzen oder eine Auffrischung Ihrer Kenntnisse wünschen.

Neben einer Einführung zur allgemeinen Bedienung von R wird vor allem auch die praktische Anwendung einfacher statistischer Analysen an realen Daten demonstriert. Alle vorgestellten statistischen Methoden und Themen werden anschaulich erläutert, vorgeführt und mithilfe von Auf­gaben von den Teilnehmern unter intensiver Aufsicht eingeübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von R

  • Arbeiten mit R und R Studio, eine der beliebtesten und mächtigsten graphischen Benutzeroberfläche (GUIs) für R.

  • Installation und Nutzung von Erweiterungspaketen in R.

  • Einführung in Hilfeseiten und Tipps zur Selbsthilfe.

  • Erläuterung der wichtigsten Datentypen, Operatoren (arithmetische und logische Operatoren) und Funktionen in R.

  • Import und Export von Daten (z.B. Dateiformate wie CSV, Excel etc.)

  • Arbeiten mit Dataframes und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

Allgemeine Grafiken und Deskriptive Statistik mit R

  • Einführung in das R Grafiksystem (base)

  • Erstellung allgemeinen Grafiken und deren Anpassung, z.B. Änderung von Achsenbeschriftungen, Titel, Farben, Punktarten und Linientypen.

  • Bestehende Grafiken mit zusätzlichen Elementen erweitern:
    Hinzufügen von Legenden, beliebigen Texten, Linien und Punkten.

  • Erstellung einfacher deskriptiver Grafiken:
    Histogramme, Boxplots, Balken- und Streudiagramme, Histogramme & Dichten etc.

  • Export von Grafiken und Änderung der Größe von Grafiken.

  • Berechnung statistischer Kennzahlen:
    Mittelwert, Median, Quantile, Varianz, Häufigkeitsverteilungen, Kontingenztafeln, etc.

  • Berechnung und Interpretation der Korrelation von Variablen.

Folgende R-Pakete werden behandelt:

  • Es wird ausschließlich mit dem Basispaket gearbeitet

Voraussetzungen: keine

Weiterlesen
R Vertiefungskurs

Der R Vertiefungskurs richtet sich an Teilnehmer, die bereits erste Erfahrungen mit R gesammelt haben (z.B. in unserem R Crashkrus, R Basiskurs oder im Selbststudium). Aufbauend auf grundlegenden R-Kenntnissen werden einfache Techniken vermittelt, mittels derer sich das R als Programmiersprache leichter und effizienter bedienen lässt. Weiterhin werden einige bekannte Methoden aus der klassischen Statistik vorgestellt, die zur Analyse eigener Daten verwendet werden können.

Alle verwendeten statistischen Verfahren und Programmiertechniken werden an echten Daten Beispielen motiviert und mit Hilfe von Übungsaufgaben von den Teilnehmern eingeübt. Zudem wird in dem Anwendungsteil des Kurses auch auf die Interpretation der Ergebnisse eingegangen.

Der Kurs behandelt folgende Themen:

Datenanalyse und klassische Statistik

  • Wiederholung: Import und Export von Daten (z.B. Excel, SPSS etc.), sowie das Arbeiten, Inspizieren und Modifizieren von Daten.

  • Einführung in die fortgeschrittene Datenanalyse und Visualisierung von Daten mit dem beliebten Erweiterungspaket ggplot2, welches visuell ansprechende und ausdrucksstarke Grafiken erzeugen kann.

  • Einführung in klassische statistische Hypothesen-Tests (z.B. t-Test).

  • Regressionsanalyse und das lineare Regressionsmodell mit Erweiterungen wie multipler Regression und Verwendung von kategorischen Prädiktoren.

Reporting und literate Programming

  • Einführung in die Markdown Syntax mit Hilfe der Erweiterungspakete rmarkdown bzw. knitr.

  • Automatisierte Erstellung von dynamischen Berichten und Präsentationen, um wiederkehrende Analysen zeitsparend zu produzieren und voll reproduzierbar zu gestalten.

  • Umwandlung von Berichten oder Präsentationen in verschiedene Dateiformate wie PDF, Word oder HTML.

  • Professionelle Präsentation von Analyseergebnissen durch Einbinden von Grafiken, Tabellen und R-Code in Berichten ohne Copy & Paste.

Programmierung

  • Anwenden von Kontrollstrukturen (if, else) für bedingte Anweisungen (sog. WENN-DANN-SONST Funktionalität).

  • Anwenden von Schleifen (for, while) und apply Funktionen für das effiziente Ausführen von repetitiven und iterativem R-Code.

  • Schreiben eigener Funktionen in R um Analysen einfacher zu automatisieren.

Folgende R-Pakete werden behandelt:

  • ggplot2

  • knitr, rmarkdown

Voraussetzungen: Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Praktische Datenanalyse in R

Dieser Kurs wurde für Personen konzipiert, die klassische Verfahren aus der Statistik mit Hilfe von R zur Analyse eigener Daten verwenden möchten. Ziel dieses Kurses ist es den Teilnehmern einen guten Überblick über die verschiedenen Datenanalyseverfahren zu vermitteln, sodass die erlernten Methoden selbständig auf die jeweiligen Arbeitsgebiete und Daten angewandt werden können.
Alle verwendeten statistischen Verfahren werden zur Auffrischung erklärt, an echten Datenbeispielen motiviert, demonstriert und mit Hilfe von Übungsaufgaben eingeübt. Zudem wird in dem Anwendungsteil des Kurses auch auf die inhaltliche Interpretation der Ergebnisse eingegangen. Kurssprache und Kursunterlagen sind auf Deutsch.

Weiterlesen
Statistische Modellierung und Inferenz in R

Dieser Kurs wurde für Personen konzipiert, die bereits über erste Erfahrungen im Umgang mit R verfügen und nun sowohl die theoretischen als auch praktischen Grundlagen für die Informationsgewinnung aus Daten mit den Methoden der klassischen Statistik kennenlernen wollen.

Ziel dieses Kurses ist es, ein solides Verständnis der Grundbegriffe statistischer Deskription und Inferenz zu vermitteln, sodass die erlernten Methoden selbständig auf die jeweiligen Arbeitsgebiete und Daten angewandt werden können.

Der Kurs behandelt folgende Themen:

Wiederholung der Grundlagen

  • Univariate und multivariate deskriptive Statistik

  • Statistische Kennzahlen: Lage- und Streuungsmaße, Odds und Odds-Ratios, Korrelation

  • Wahrscheinlichkeitsverteilungen und -dichten, z.B. Normalverteilung, t-Verteilung, Gleichverteilung

Statistische Inferenz

  • Punkt- und Intervallschätzung bzw. Konfidenzintervalle

  • Statistische Hypothesentests:

    • Motivation und Übersicht: Einstichproben vs. zweistichproben Test, einseitiger vs. zweiseitiger Test, gepaarter vs. ungepaarter Tests

    • Interpretation der Ergebnisse und Begriffserklärung: Signifikanzniveau, p-Wert, Teststatistik, etc.

    • Behandelte Tests: t-Test, Welch-Test (Test auf Mittelwertunterschiede), Mann-Whitney-U-Test bzw. Wilcoxon-Rangsummentest, Shapiro-Wilk-Test (Test auf Normalverteilung), Kolmogoroff-Smirnow-Test (Test auf beliebige Verteilungen)

  • Multiples Testen: Probleme und Lösungsansätze (z.B. Bonferroni Korrektur)

Statistische Modellierung

  • Das lineare Regressionsmodell mit Erweiterungen wie multipler Regression und Verwendung von kategorischen Einflussgrößen.

  • Generalisierte lineare Modelle (engl. generalized linear models) mit Fokus auf logistische Regression

  • Generalisierte additive Modelle: Splines zur Modellierung von nicht-linearen Effekten

  • Modelldiagnose: QQ-plots, Residuenanalyse, Identifikation von Ausreißern (z.B. Cook’s distance)

  • Modellevaluation (MSE, R-squared, Konfusionsmatrix, ROC-Kurve (engl. Receiver Operating Characteristic), AUC: Area Under the Curve)

Alle verwendeten statistischen Verfahren werden zur Auffrischung erklärt, an echten Datenbeispielen motiviert, demonstriert und mit Hilfe von Übungsaufgaben eingeübt. Zudem wird in dem Anwendungsteil des Kurses auch auf die inhaltliche Interpretation der Ergebnisse eingegangen.

Voraussetzungen: Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Unsupervised Learning in R

Während beim überwachten maschinellen Lernen (engl. supervised machine learning) Vorhersagemodelle und das Erstellen akkurater Prognosen für eine bestimmte Zielgröße im Vordergrund ist, steht im unüberwachten maschinellen Lernen (engl. unsupervised machine learning) das Auffinden von Strukturen und Erkennen von Mustern in den Daten (ohne Kenntnisse über die Zielgröße) im Vordergrund. Hauptkomponentenanalyse (PCA) und Clusteranalyse sind bekannte Verfahren aus dem Bereich des Unsupervised Machine Learning und werden in diesem Kurs ausführlich behandelt.

Die Hauptkomponentenanalyse (englisch: Principal Component Analysis (PCA)) ermöglichst es viele (potentiell miteinander korrelierte) Variablen durch eine geringere Anzahl unkorrelierter Hauptkomponenten zu ersetzen (Dimensionsreduktion). Eine Dimensionsreduktion ist immer mit einem Informationsverlust verbunden. PCA versucht einen Informationsverlust bezüglich der “Variabilität in den Daten” möglichst gering zu halten.

Clusteralgorithmen befassen sich mit dem Auffinden von Gruppen (sog. Cluster) bzw. Ähnlichkeitsstrukturen in Daten. Hierbei sind die Gruppen im Vorfeld nicht bekannt. Die Einteilung in Gruppen soll so erfolgen, dass sich Beobachtungen innerhalb eines Clusters möglichst ähnlich sind und gleichzeitig die Cluster untereinander möglichst stark unterscheiden.

Die zugrundeliegenden Prinzipien der Verfahren werden verständlich eingeführt und anhand von kleinen Anwendungsbeispielen illustriert. Der Schwerpunkt des Kurses liegt auf der Anwendung der Methoden mit Hilfe von R.

Der Kurs behandelt folgende Themen:

  • Zur Wiederholung: Kurze Einführung in die univariate und multivariate Datenanalyse mit R.

  • Abgrenzung zwischen Supervised Machine Learning und Unsupervised Machine Learning, insbesondere zwischen Klassifikation und Clustering.

  • Clusteranalyse - Auffinden von Gruppen bzw. Ähnlichkeitsstrukturen in Daten:

    • Hierarchische Clusteranalyse: Distanzmaße für Beobachtungen und Cluster (Linkage-Methoden), Dendrogramme und deren Interpretation

    • Partitionierende Clusteralgorithmen: k-Means, k-Median, k-Medoids

    • Probabilistische und dichtebasierte Clusteralgorithmen: EM-Clustering, DBSCAN

    • Kennzahlen für die Evaluation der Ergebnisse von Clusteralgorithmen (bzw. Indizes zur Clustervalidierung).

    • Eigenschaften, Vergleich, sowie Vor- und Nachteile verschiedener Clusterverfahren

  • Outlier Detection - Verfahren zur Identifikation von univariaten und multivariaten Ausreißern.

  • Dimensionsreduktion mittels Hauptkomponentenanalyse (PCA) und die Erweiterung auf sparse und hochdimensionale Daten.

Voraussetzungen:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

  • Allgemeines Grundverständnis in der Datenanalyse / Statistik.

Weiterlesen
Machine Learning in R

Im Alltag, in den Medien und in der Wirtschaft werden die Begriffe künstliche Intelligenz (engl. artificial intelligence) und überwachtes machinelles Lernen (engl. supervised machine learning) oft gleichgestellt. Genaugenommen ist überwachtes maschinelles Lernen aus wissenschaftlicher Sicht aber nur ein viel kleineres Teilgebiet der künstlichen Intelligenz, da unter künstliche Intelligenz auch andere Forschungsbereiche wie Robotik und Computer-Vision gezählt werden.

In diesem Kurs werden Algorithmen und allgemeine Konzepte es überwachten maschinellen Lernens vorgestellt, die besonders für die Modellierung nicht-linearer Zusammenhänge für komplexe Klassifikations- und Regressionsprobleme geeignet sind. Die grundlegenden Prinzipien der vorgestellten Algorithmen und Konzepte werden für Anfänger verständlich erläutert, deren Funktionsweise illustriert und die Vor- und Nachteile diskutiert. Alle eingeführten Algorithmen und Themen werden anhand praktischer Beispiele und Anwendungsfälle veranschaulicht und mit Übungsaufgaben von Teilnehmern eingeübt.

Im Kurs kommt die Anwendung des R Erweiterungspaket mlr: Machine Learning in R zum Einsatz, welches auch vom Team der Essential Data Science Training GmbH seit Jahren mitentwickelt wird.

Im Kurs kommt die Anwendung des R Erweiterungspaket mlr: Machine Learning in R zum Einsatz, welches auch vom Team der Essential Data Science Training GmbH seit Jahren mitentwickelt wird.

Der Kurs behandelt folgende Themen:

  • Begriffserklärung und Einführung in allgemeine Machine Learning Grundlagen.

  • Erläuterung der Funktionsweise von beliebten Algorithmen, z.B.: Klassifikations- und Regressionsbäume (CART), Random Forests und Gradient Boosting.

  • Aufteilung in Trainings- und Testdaten sowie Resampling-Prozeduren zur Modellevaluation (z.B. Kreuzvalidierung, Bootstrap).

  • Vergleich und Eigenschaften verschiedener Gütemaße um die Performance von Machine Learning Modellen zu evaluieren.

  • Einführung in die ROC Analyse für Klassifikationsmodelle, inkl. Hinweise für unausgewogene bzw. unbalancierte Daten (unterschiedliche Klassengröße).

  • Methoden für das Hyperparameter-Tuning um Lernalgorithmen optimal zu konfigurieren.

  • Modellselektion durch Nested Resampling um Overfitting und Overtuning zu vermeiden.

  • Methoden zur Variablenselektion (z.B. Feature filtering, Feature selection)

Folgende R-Pakete werden behandelt:

  • mlr (Machine Learning in R)

  • kknn, rpart, randomForest, ranger, gbm, xgboost

Voraussetzungen:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

  • Allgemeines Grundverständnis in der Datenanalyse / Statistik.

Weiterlesen
Giuseppe CasalicchioR, MLR
Interpretable Machine Learning in R

Prognosemodelle aus der klassischen Statistik wie beispielsweise das lineare Regressionsmodell gehören zu den intrinsisch interpretierbaren Modellen, da ihre Vorhersagen per Definition einer gewichteten Summe der verwendeten Variablen entsprechen und daher leicht erklärbar und nachvollziehbar sind.
Im Gegensatz dazu werden Machine Learning Modelle oft als intransparente Blackbox bezeichnet, da ihre Vorhersagen - anders als bei statistischen Modellen - in der Regel nicht leicht nachvollziehbar sind. Um dennoch Machine Learning Modelle und ihre Vorhersagen besser verstehen zu können, wurden in den letzten Jahren zahlreiche post-hoc Methoden aus dem Bereich des interpretierbaren maschinellen Lernen (auch eXplainable Artificial Intelligence bzw. XAI genannt) entwickelt.
In diesem Kurs lernen Teilnehmer die aktuell bekanntesten und wichtigsten modell-agnostischen Methoden für die Interpretation von Prognosemodellen, ihr Nutzen in der Praxis, sowie ihre Vor- und Nachteile. Der Fokus der Anwendungsbeispiele liegt dabei auf Machine Learning Modelle, die auf klassische tabulare Daten trainiert wurden.

Der Kurs behandelt folgende Themen:

  • Definition und Motivation des interpretierbaren maschinellen Lernens.

  • Unterschiede zwischen intrinischer Interpretierbarkeit und modell-agnostischer Interpretierbarkeit, sowie zwischen globale und lokale Interpretierbarkeit.

  • Folgende model-agnostische Verfahren des interpretierbaren maschinellen Lernens werden genauer erläutert:

    • Permutation feature importance: Ein Verfahren um die Wichtigkeit von Variablen eines Prognosemodells zu quantifizieren.

    • Partial dependence (PD) plots und Accumulated Local Effect (ALE) plots: Eine Visualisierungsmethode um den erwarteten Variablen-Effekt eines Prognosemodells zu visualisieren.

    • Individual conditional expectation (ICE) plots: Eine Visualisierungsmethode um Variablen-Effekt einzelner Beobachtungen eines Prognosemodells zu visualisieren.

    • Shapley values: Ein Verfahren aus der Spieltheorie um die Wichtigkeit bzw. den Beitrag einer Variable auf die jeweilige Vorhersage einer Beobachtung zu quantifizieren.

  • Fragestellungen, die anhand dieser Methoden beantwortet werden können, Ihre Probleme und Vor- und Nachteile (z.B. abhängige Variablen).

  • Im Kurs wird das Package iml: interpretable machine learning eingeführt und einfache Übungsaufgaben damit bearbeitet.

Voraussetzungen:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses).

  • Grundverständnis im Bereich der Datenanalyse und Statistik.

  • Erfahrungen im Umgang mit Machine Learning in R (etwa im Umfang unseres 3-tägigen Machine Learing in R Kurses).

Weiterlesen
Giuseppe CasalicchioR, IML in R
Data Wrangling in Python

Die Datenaufbereitung und das Zusammenführen verschiedener Datenquellen machen rund 80% der Arbeitszeit eines Data Scientists aus. Zudem ist eine adäquate Datenaufbereitung essentiell für die darauf folgende Modellierung und die Ableitung von Handlungsempfehlungen.

In diesem praxisorientierten Kurs werden Fähigkeiten und Techniken für eine effektive und effiziente Datenaufbereitung vermittelt. Der Fokus liegt hierbei auf der Verwendung von Pandas - dem de facto Standard für die Datenaufbereitung in Python. Behandelte Themen und Beispiele spiegeln tatsächliche Aufgabenstellungen aus dem Alltag eines Data Scientists wider. Zudem werden “Best Practices” vermittelt, u.a., das Schreiben von einfachen, gut lesbaren und modular erweiterbaren Code, der für die Arbeit in Teams unabdingbar ist. Alle Themen werden anhand von Übungen unter Anleitung demonstriert und vertieft.

Der Kurs behandelt folgende Themen:

  • Je nach Bedarf Wiederholung von Python Grundlagen: built-in structures, numpy, IPython, jupyter notebook, package management, jupytext

  • Series und DataFrames: Generierung, Bedeutung des Zeilenindex, Filtern, Zeiger vs. Kopie

  • Import und Export von Daten aus Textdateien und (unstrukturierten) Excel Tabellen, sowie der Zugriff auf Datenbanken mittels Python

  • Datenbereinigung: Behandlung von fehlenden Werten, Bearbeitung von Zeichenketten, Entfernen von Duplikaten

  • Transformieren von Daten durch vektorisierte Operationen wie map oder apply

  • Zusammenfügen verschiedener Datenquelle und das Erzeugen einer “guten” Tabellenstruktur der Daten

  • Gruppieren von Daten und Aggregationen: Split-Apply-Combine

  • Zeitreihen und Datum-Zeit Objekte

  • Pandas mit eigenem Code erweitern

Voraussetzungen:

Grundkenntnisse in Python (Im Umfang des 1-tägigen Python Crashkurses).

Weiterlesen
Deep Learning in R

Neuronale Netze als Methode des maschinellen Lernens haben in den letzten 10 Jahren wieder massiv an Bedeutung gewonnen. Dies liegt insbesondere an einer nun besser möglichen Optimierung von tiefen und neuartigen Netzwerkarchitekturen, die zu massiven Durchbrüchen in der Verarbeitung von Bild-, Sprach- und Textdaten geführt haben.

Der Kurs behandelt folgende Themen:

Eine Einführung in die Theorie und praktische Anwendung von tiefen Neuronalen Netzen, wobei sowohl auf die historische Entwicklung, als auch auf den State-of-the-Art der Methodik eingegangen wird.

Zusätzlich wird den Teilnehmern ein Einblick in das theoretische Fundament neuronaler Netze vermittelt. Es werden Vor- und Nachteile sowie die wichtigsten Anwendungssituationen diskutiert. In den Übungen passen Teilnehmer in einfachen Anwendungen selbst Neuronale Netze an, um Klassifikations- und Regressionprobleme zu lösen. Ziel des Kurses ist es Intuition und Anwendung von neuronalen Netzen, in verschiedensten Use-Cases zu vermitteln. Außerdem werden generelle Netzwerkarchitekturen sowie Regularisierung und Optimierung dieser Netze besprochen.

Weitere behandelte Themen sind:

  • Fully Connected Neural Networks

  • Convolutional Neural Networks

  • Recurrent Neural Networks

  • Adversarial Examples

  • Autoencoder

Als Software wird im wesentlichen Keras mit TensorFlow-Backend verwendet. Hierbei wird das R-Package 'Keras' verwendet, welches eine Anbindung zu Keras aus R heraus ermöglicht.

Benötigte Vorkenntnisse:

  • Grundkenntnisse in überwachten Lernverfahren, zu erwerben auch in Machine Learning & Data Mining in R

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Effiziente Datenverarbeitung und Programmierung in R

Datenmanipulation und Verarbeitung kann oft eine der zeitaufwendigsten Tätigkeiten in einer statistischen Analyse sein. In diesem Kurs werden Fähigkeiten vermittelt um effizient auch mit größeren Datenmengen in R arbeiten zu können. Nach dem Kurs sollen Teilnehmer in der Lage sein effizient in R arbeiten zu können, sowie Datenvorverarbeitung klarer, einfacher und schneller durchführen zu können.

Es werden Techniken gezeigt um größere Datensätze schnell in R einzulesen und diese effizient zu speichern. Dabei wird das Package data.table als genutzt, welches Transformationen effizient über call-by-references ermöglicht und damit kaum zusätzlicher Speicher verbraucht wird.

Wenn viele Datenvorverarbeitungsschritte nacheinander durchgeführt werden, wird Programmcode schnell unübersichtlich. Zusätzlich werden oft unnötige Zwischenschritte explizit abgespeichert, was zusätzlichen Speicher kosten kann. Die R Packages dplyr und magrittR erlauben sog. chaining-Operatoren, womit Code zur Vorverarbeitung von Analysen wesentlich effizienter und übersichtlicher dargestellt werden kann.

Als letztes Thema wird auf die Verbindung von Datenbanken mit R eingegangen. Nachdem in R Daten immer im Hauptspeicher liegen, kann es sehr langsam werden mit großen Datensätzen zu arbeiten. Mithilfe von Datenbanken können die Daten auf der Festplatte oder in der Cloud gelagert werden und nur die Daten, die R in einem Schritt tatsächlich benötigt, werden dann in den Arbeitsspeicher geladen.

Der Kurs behandelt folgende Themen:

  • Kurze Wiederholung der Grundlagen von R: Erläuterung wichtiger Datentypen & Operatoren

  • Split / Apply / Combine in R: Allgemeinen Vorgang einen Datensatz in kleine Teildatensätze aufzuteilen, auf jedem Teildatensatz Operationen auszuführen und die Ergebnisse wieder zusammenzufügen (ein einfaches Beispiel für Split-Apply-Combine Strategien sind beispielsweise gruppierte Mittelwerte).

  • Relation zu MapReduce

  • Handhabung von Daten mit dem Paket data.table

  • Handhabung von Daten mit den Packages dplyr & magrittR (“Chaining und Pipelining”)

  • Datenbanken:

    • SQL Anfragen mit DBI

    • Vereinfachte Datenbankanbindung mit dplyr

    • Kurzer Ausblick zu R-Pakete für spezielle Datenbanken (MongoDB, MySql, Redis etc.)

Folgende R-Pakete werden behandelt:

  • plyr, dplyr, magrittr

  • sqldf, DBI

  • data.table

Weiterlesen
Programmieren in R

Dieser Kurs dient der allgemeinen Vertiefung in R und richtet sich an Teilnehmer, die bereits erste Erfahrungen mit R gesammelt haben (z.B. im Basiskurs oder im Selbststudium). Aufbauend auf grundlegenden R-Kenntnissen werden einfache Techniken vermittelt, mittels derer sich R leichter und effizienter bedienen lässt. Zudem wird darauf eingegangen, wie sich statistische Ergebnisse aus R Code automatisch und dynamisch in Berichten einbinden lässt (automatisiertes Reporting).

Alle vorgestellten Themen werden ausführlich erläutert, vorgeführt und mit Hilfe von Übungsaufgaben von den Teilnehmern unter intensiver Aufsicht eingeübt. Kurssprache und Kursunterlagen sind auf Deutsch.

Der Kurs behandelt folgende Themen:

Kurse Wiederholung in R

  • Datentypen (Vektoren, Matrizen, Data Frames etc.)

  • Arbeitsverzeichnisse, Speichern und Laden

  • Umgang mit Strings

Programmieren mit R

  • Kontrollstrukturen (if, else) für bedingte Anweisungen

  • Anwenden von Schleifen (for, while) und apply Funktionen

  • Vektorisierung (Apply - Familie in R)

  • Schreiben eigener Funktionen in R um Analysen zu automatisieren

  • Best Practices für Programmierung in R und Softwareentwicklung

Debugging

  • Hilfswerkzeuge: Laufzeitanalyse, Debugging, Exception und Error Handling

  • Effizienter Code (Prinzipien, C-Integration in R, Parallelisierung)

  • Einführung in die objektorientierte Programmierung mit R und das R Klassensystem

Codestyle

  • Allgemeine Prinzipien (Namensgebung, Formatierung, Kommentare, Software - Design)

  • Wie schreibt man debugbaren Code?

Einführung in die Paketentwicklung in R

  • Einführung in das am häufigsten verwendete S3 Klassensystem (inkl. Hauptunterschiede zum zweit-häufigsten R6 Klassensystem)

  • Arbeiten mit dem 'devtools' Paket zur Paketentwicklung

  • Moderne Paketdokumentation mit 'roxygen2'

  • Vignetten mit 'knitr'

  • Moderne Unit-Tests mit 'testthat'

Folgende R-Pakete werden behandelt:

  • microbenchmark

  • devtools

  • roxygen2

  • knitr

  • testthat

Vorkenntnisse:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

  • Allgemeine Programmierfahrung von Vorteil.

  • Windowsnutzer sollten zusätzlich 'Rtools' installiert haben.

Weiterlesen
Data Science Methodenkurs

Im Data Science Methodenkurs werden Methoden aus dem Bereich Data Science und Machine Learning, sowie die statistischen Grundlagen, die zum Verständnis dieser Methoden nötig sind, vorgestellt. Der Kurs gibt einen breiten Überblick über das Themengebiet, ohne zu tief in die mathematischen Details einzutauchen. Zwei Case Studies am Ende demonstrieren die praktische Umsetzung der gelernten Konzepte.

In diesem Kurs kommt keine explizite Data Science Software wie z.B. R oder Python zum Einsatz. Alle Themen werden allgemein behandelt. Die beigebrachten Methoden, Beispiele und Aufgaben sind unabhängig von der später verwendeten Software.

Der Kurs behandelt folgende Themen:

Statistische Grundlagen

  • Einführung in die deskriptive Statistik und statistische Inferenz (z.B. Hypothesen-Tests und deren Interpretation)

  • Das lineare Regressionsmodell (Aufbau, Anpassung, Annahmen, Goodness of Fit)

  • Generalisierte Lineare Modelle (z.B. Logit - Modell) und generalisierte additive Modelle (z.B. Modellierung nicht-linearer Effekte mit Splines).

  • Gütemaße, Modellwahl und Variablenselektion

  • Wissenswertes: Erläuterung von Problemen und Fallstricken (z.B. Under-/Overfitting, Bias-Varianz-Tradeoff, Kolinearität, Confounder-Variablen, etc.)

Machine Learning Grundlagen

  • Einführung in Data Science und Machine Learning

  • Überblick diverser Machine Learning Algorithmen, insbesondere wird hier kurz der Funktionsweise und Intuition der folgenden Algorithmen kurz erläutert:

    • k-Nearest-Neighbors

    • Lineare und Quadratische Diskriminanzanalyse

    • Support Vector Machines

    • Entscheidungsbäume (Classification and Regression Trees) und Random Forests

    • Neuronale Netze und Deep Learning

    • Ensemble-Methoden: Bagging, Boosting, Stacking.

    • Modellwahl-/ und Validierung: Performance Maße, Trainings- vs. Testfehler und Kreuzvalidierung

  • Praxistipps: Workflow und bewährte Vorgehensweisen für die Entwicklung von Vorhersagemodellen (Erfahrungen aus Kaggle) und Checkliste für eine ordentliche Datenanalyse.

  • Präsentation von zwei Data Science Projekten als Fallbeispiele: Analyse von Flugdaten und die Vorhersage von Überleben beim Titanic-Unglück.

Weiterlesen
Natural Language Processing in Python

In den letzten fünf bis sechs Jahren gelangen der Forschung einige bahnbrechende Entwicklungen im Bereich des Text Mining und des Natural Language Processing (NLP). Diese Durchbrüche sind im Wesentlichen auf drei Faktoren zurückzuführen:

  • Konzeptuell neue Frameworks aus dem Bereich des Deep Learning

  • Deutliche Verbesserungen der computationalen Ressourcen,

  • (Deutlich) Größere verfügbare Datenmengen (Big Data)

Wir werden in diesem Kurs bei den Grundlagen der Textverarbeitung in Python beginnen und klassische Feature Engineering Ansätze aus dem Bereich des Machine Learning kennenlernen. Anschließen werden wir uns ausführlich mit der Methodik beschäftigen, die als Beginn einer neuen Ära im NLP betrachtet werden kann: den sogenannten Word Embeddings oder Wortvektoren.

Wir werden ferner die Integration dieser Word Embeddings in moderne Deep Learning Modelle diskutieren, insbesondere tiefe rekurrente neuronale Netze (RNNs). Da der sog. “Attention”-Mechanismus und Transfer Learning die Grundlage der aktuellsten state-of-the-art-Modelle wie z.B. BERT bilden, werden wir diese beiden Themen im abschließenden Teil des Kurses ausführlich behandeln.

Der Kurs behandelt folgende Themen:

  • Tag 1: Im ersten Teil wird zunächst anhand von einigen Beispielen die Wichtigkeit von NLP verdeutlicht. Danach wird es eine Einführung zum Umgang mit Textdaten und deren potentielle Repräsentationen im Machine Learning geben. Im Anschluss werden sog. Fully-Connected-Neural-Networks (FCNNs) als wichtige Grundlage für den weiteren Kurs eingeführt.

  • Tag 2: Am zweiten Tag beschäftigen wir uns ausschließlich mit sog. neuronalen Repräsentationen von Texten. Begonnen wird mit der Idee des Language Modelling anhand des Neural probabilistic language models (Bengio et al, 2003). Anschließend wird das Word2Vec Framework (Mikolov et al., 2013), das Doc2Vec-Framework (Mikolov and Le, 2014), sowie das FastText-Framework (Bojanowski et al, 2017) vorgestellt. Jedes dieser Frameworks wird mit Hands-On Sessions zur praktischen Umsetzung des Erlernten begleitet.

  • Tag 3: Am abschließenden Kurstag beschäftigen wir uns mit Deep Learning und aktuellen state-of-the-art-Architekturen. Wir werden uns ausführlich die vorhandenen Transfer-Learning-Ressourcen ansehen und in einer abschließenden Hands-On Session das Gelernte anwenden.

Hands-On Sessions: Für die praktischen Teile des Kurses werden Übungsaufgaben in Form von Jupyter-Notebooks bereitgestellt, mit denen die Teilnehmer die Übungen selbst bearbeiten können.

Voraussetzungen:

  • Grundlegende Python Kenntnisse

  • Grundkenntnisse in überwachten Lernverfahren

Weiterlesen
Deep Learning in Python

Neuronale Netze als Methode des maschinellen Lernens haben in den letzten 10 Jahren wieder massiv an Bedeutung gewonnen. Dies liegt insbesondere an einer nun besser möglichen Optimierung von tiefen und neuartigen Netzwerkarchitekturen, die zu massiven Durchbrüchen in der Verarbeitung von Bild-, Sprach- und Textdaten geführt haben.

Der Kurs behandelt folgende Themen:

Eine Einführung in die Theorie und praktische Anwendung von tiefen Neuronalen Netzen, wobei sowohl auf die historische Entwicklung, als auch auf den State-of-the-Art der Methodik eingegangen wird.

Zusätzlich wird den Teilnehmern ein Einblick in das theoretische Fundament neuronaler Netze vermittelt. Es werden Vor- und Nachteile sowie die wichtigsten Anwendungssituationen diskutiert. In den Übungen passen Teilnehmer in einfachen Anwendungen selbst Neuronale Netze an, um Klassifikations- und Regressionprobleme zu lösen. Ziel des Kurses ist es Intuition und Anwendung von neuronalen Netzen, in verschiedensten Use-Cases zu vermitteln. Außerdem werden generelle Netzwerkarchitekturen sowie Regularisierung und Optimierung dieser Netze besprochen.

Weitere behandelte Themen sind:

  • Fully Connected Neural Networks

  • Convolutional Neural Networks

  • Recurrent Neural Networks

  • Adversarial Examples

  • Autoencoder

Als Software wird im wesentlichen Keras mit TensorFlow-Backend verwendet.

Benötigte Vorkenntnisse:

  • Grundkenntnisse in Machine Learning

  • Kenntnisse in Python (Im Umfang des. 1-tägigen Python Crashkurses)

Weiterlesen