statworx-workshop

STATWORX – R for Data Science Workshop

Jan Fischer Blog, Data Science

Neben unseren Beratungsaufgaben haben wir bei STATWORX einen stetig wachsenden Academy Bereich. In der STATWORX Academy bieten wir zu verschiedenen Themengebieten und Programmiersprachen anwendungsorientierte Schulungen an. Dies umfasst Kurse in Python, R und zu speziellen Frameworks, wie zum Beispiel TensorFlow. Ein Kurs, den ich bereits mit begleiten und führen durfte, ist R for Data Science Workshop.

Für wen ist der Workshop geeignet?

Sowohl R Einsteiger als auch Fortgeschrittene können problemlos am Workshop teilnehmen. Zu Beginn erarbeiten wir uns erst einmal die Grundlagen der Programmiersprache R, damit alle auf dem gleichen Level lernen können. An zwei Tagen vermitteln wir die wichtigsten Kernkompetenzen eines Data Scientists und die Teilnehmenden erhalten einen Einblick in die vielfältigen Schritte des Data Science Workflows.

Im folgenden Artikel gebe ich Euch eine Übersicht über den Ablauf und die Inhalte der zweitägigen Schulung. Und wer weiß, vielleicht habt auch Ihr mal Lust an einem unserer Workshops teilzunehmen.

Was sind die Inhalte des Workshops R for Data Science?

Einstieg in Data Science und R

Der erste Tag beginnt mit einer kurzen Einführung in das Gebiet der Data Science und in die Grundlagen der Programmierung mit R. Viele der Lösungen, die wir im Rahmen der Projektarbeit bei STATWORX entwickeln, können mit dieser open-source Software effizient und elegant umgesetzt werden. R wird zunehmend als Standard für statistische Problemstellungen sowohl in der Wirtschaft als auch in der Wissenschaft benutzt. Sie eignet sich besonders gut für Datentransformation, Datenvisualisierung und das Trainieren von Machine Learning Modellen.

Anschließend widmen wir uns dem tidyverse, einer Kollektion von packages die ein gemeinsames Verständnis der „design philosophy, grammar and data structures“ vereint. Mit dplyr und tidyr lassen sich Daten kinderleicht manipulieren, selektieren, bereinigen, mergen und aggregieren. Der Workshop beinhaltet sowohl eine übersichtliche Präsentation der Möglichkeiten und der Anwendungen der Funktionen aus den behandelten packages, als auch intensive Hands-on Sessions, bei denen die Teilnehmenden Ihr neu erlangtes Wissen direkt anwenden und verfestigen können.

package-overview

Daten visualisieren und Machine Learning mit R

In der ersten Hälfte des zweiten Tages werden die schier unendlichen Möglichkeiten der Datenvisualisierung mit ggplot2 entdeckt. Neben der Ebenenlogik dieses Paketes, zeichnet es sich besonders durch sehr ästhetische Darstellungen aus. Nach einer gemütlichen Mittagspause beim benachbartem Mexikaner im Frankfurter Westend, steht nun einer der spannendsten Abschnitte des Workshops auf dem Programm: Machine Learning. Nach einer kurzen Einführung in grundlegende Techniken wie Train-Test-Split, Kreuzvalidierung und Evaluierungsmetriken, lernen die Teilnehmenden die theoretische Fundierung und die praktische Anwendung von fortgeschrittenen Machine Learning Algorithmen wie Random Forest und Gradient Boosting Machine. Caret ermöglicht dazu den perfekten Einstieg.

Random Forest und Hyperparameter Tuning mit Caret

Der Random Forest ist ein Klassiker unter den Machine Learning Algorithmen. Er zeichnet sich vorallem durch eine breite Anwendbarkeit, Robustheit und sehr gute Prognosegüte aus und wird deshalb gerne als Benchmark Algorithmus benutzt. Er basiert auf dem Konzept von Entscheidungsbäumen. Diese teilen die vorhandenen Beobachtungen in verschiedene Gruppen auf, die möglichst homogen in der Target Variable sind, also eine große Erklärungskraft hinsichtlich dieser besitzen. Bei einem Random Forest werden viele einzelne Entscheidungsbäume erstellt, die dann zu einem übergeordneten Modell zusammengefasst werden. Eine Besonderheit des Algorithmus ist, dass an jedem Entscheidungsknoten die in Betracht gezogenen Features zufällig aus der Gesamtheit der im Modell definierten Features gezogen werden. Die genaue Anzahl dieser in Betracht gezogenen Features wird im Folgenden über den Parameter „mtry“ definiert.

caret-example

Das folgende Code Snippet zeigt, wie man mit Caret in ein paar Zeilen einen Random Forest trainieren kann. Mit Caret kann man zudem sehr schnell und einfach Hyperparameter Tuning implementieren. Im Beispiel wird eine Kreuzvalidierung mit 5 Folds benutzt um den optimalen Wert für den Parameter „mtry“ zu bestimmen.

# Load caret
library(caret)

# Define traincontrol parameter
train_opt <- trainControl(method = "cv", # use cross-validation as resampling method
                         number = 5, # use 5 folds
                         search = "grid", # try all values defined in grid
                         verboseIter = TRUE) # print training logs

# Define grid for hyperparameter tuning
# define values of the "mtry" tuning parameter
grid <- expand.grid(mtry = c(10, 20, 30))

# Train the random forest
mod_rf <- train(form = target ~., # define target variable
               data = df_train, # define training data
               method = "rf", # define algorithm
               trControl = train_opt, # use traincontrol parameter defined above
               tuneGrid = grid) # use grid defined above

# Create predictions
predict(mod_rf, newdata = df_test)

# Extract variable importance
varImp(mod_rf)

Interesse geweckt, aber Termin verpasst?

Du möchtest mehr über die Anwendung von R für Data Science Aufgabenbereiche lernen? In unserem R for Data Science Workshop geben Dir unsere erfahrenen Trainer in nur zwei Tagen einen praxisorientierten Einstieg in die Welt von Data Science. In unserer Übersicht über offene Kurse mit R bekommst Du alle wichtigen Infos zu Terminen, Kosten und Inhalten. Es kann dabei jeder mit Interesse am Thema Data Science teilnehmen, da Programmiervorkenntnisse zwar hilfreich sein können, aber keine Voraussetzung sind!

Über den Autor
Jan Fischer

Jan Fischer

I am a data scientist at STATWORX. I always enjoyed to think critically about complex problems, understand and find a solution. Fortunately, STATWORX pays me for that!

ABOUT US


STATWORX
is a consulting company for data science, statistics, machine learning and artificial intelligence located in Frankfurt, Zurich and Vienna. Sign up for our NEWSLETTER and receive reads and treats from the world of data science and AI. If you have questions or suggestions, please write us an e-mail addressed to blog(at)statworx.com.