Nach dem „Tutorial Monday“ und der Auftakt-Keynote von S-Entwickler Richard Becker folgten die ersten Präsentationen der useR! 2016:
Gert Janssenswillen: edeaR – Extracting knowledge from process data
Gert Janssenswillen von der Universität Hasselt in Belgien hat in seinem Vortrag das R Paket „edeaR“ vorgestellt, mit dem sich Process-Mining in R durchführen lässt. Process-Mining ist eine relativ junge Disziplin, in der es darum geht Ereignisse, Aktivitäten und allgemein Prozesse zu analysieren.
Anwendungsfälle sind zum Beispiel Logistik und Verkehrssysteme, Einrichtungen der medizinischen Versorgung sowie Gerichtsverhandlungen. Aber auch in der Industrie und im Handel gibt es interessante Anwendungsszenarien für das Process-Mining.
Oliver Bracht: Implementing R in old economy companies: From proof-of-concept to production
eoda Gründer und Chief Data Scientist Oliver Bracht präsentierte im Rahmen der „R in Business“ Session, Strategien um R in Unternehmen einzuführen. In Unternehmen ist die Einführung von R typischerweise ein Bottom-up Prozess mit drei Reifephasen: In der ersten Phase wird R in „Guerilla Projekten“ parallel zur offiziellen IT-Umgebung genutzt. In der zweiten Phase wird R als Analytik-Sprache in Proof-of-Concept Projekten eingesetzt. Wenn diese erfolgreich waren, wird das Ergebnis in der dritten Phase in den Geschäftsprozessen operationalisiert. Hiermit wird R offiziell in die IT-Umgebung eingeführt. Der Übergang zur dritten Phase ist dabei entscheidend für den nachhaltigen Erfolg der R-Implementierung.
Die Slides des Vortrags gibt es auf Slideshare und eine Aufzeichnung des Vortrags auf Channel9.
Finnbarr Timbers: Automating our work away – One consulting firm’s experience with KnitR
Finnbarr Timbers von Blackhorse Consulting hat an einem Use Case vorgestellt, wie sich ein typischer Business Reporting Workflow (Excel – Powerpoint) erfolgreich auf einen Reproducible Research Ansatz mit R Markdown umstellen lässt. Das eine solche Umstellung sinnvoll ist, ist aus Data Science Perspektive unbestritten. Trotzdem scheitern solche Umstellungen häufig am Widerstand im Business. Seine prägnanten Ratschläge für eine erfolgreiche Umstellung:
- Es muss großartig sein: Ein bisschen besser als vorher reicht nicht aus um zu überzeugen.
- Es muss einfach sein: Jeder Business User soll es anwenden und verstehen können.
- Es muss profitabel sein: Die Einsparungen durch Reproduzierbarkeit müssen klar erkennbar sein
Kate Ross-Smith: How can I get everyone else in my organisation to love R as much as I do?
Der Titel des Vortrags von Kate Ross-Smith spricht sicherlich vielen R-Usern aus der Seele. Ross-Smith hat zunächst die für sie zentralen Hindernisse für die Einführung von R in Unternehmen vorgestellt:
- Die Business Abteilung will Ergebnisse sehen, bevor mit der eigentlichen Analyse begonnen wurde.
- Die IT-Abteilung braucht ewig, um die benötigten Komponenten bereitzustellen.
- Die IT-Abteilungen sind hierarchisch organisiert und gewohnt in langfristigen Projekten zu denken.
- R in Produktivumgebungen stellt relativ hohe Anforderungen an die IT-Abteilung
Als Faktoren um den Prozess erfolgreich zu gestalten nennt Ross-Smith:
- Die Übertrag der Projektverantwortung von Data Science zu Business
- Selbstsprechende Analysen, damit sie von Business Usern verwendet werden können, um anderen die Ergebnisse zu zeigen
- Der Business Value sollte so hoch sein, dass die Ergebnisse nicht ignoriert werden können
- Der Kreis der involvierten Personen sollte möglichst groß sein
- Es sollte möglich sein, an Proof of Concept Projekte weitere Analysen anzuschließen
David Smith: R at Microsoft
David Smith berichtet in seinem Vortrag wie Microsoft R in ihre Produkte integriert. Im cloudbasierten Microsoft Machine Learning Tool Azure ML können bereits heute R Funktionen integriert werden. Um R in Excel zu verwenden, muss derzeit noch der Umweg über die Integration von Azure ML in Excel eingeschlagen werden. Der aus Sicht von Microsoft wichtigste Schritt der R Integration ist die Integration in den SQL Server 2016. Leider war der Talk zu kurz, um Details der Implementierung zu zeigen. Wir dürfen gespannt sein, denn der offizielle Start des SQL Server 2016 steht vor der Tür.
Joe Cheng: Linking htmlwidgets with crosstalk and mobservable
Joe Cheng von RStudio hat in seinem Vortrag gezeigt, wie sich htmlwidgets mit crosstalk und mobservalbe verbinden lassen. Das Ziel ist, dass die Auswahl in einem Widget die Darstellung in einem anderen Widget beeinflusst.
Crosstalk verbindet htmlwidgets automatisch, ohne dass die Art der Verbindung vom User explizit spezifiziert werden muss. In der ersten Entwicklungsstufe werden Filterslider und Selektion per Mausauswahl unterstützt. Aggregierte Daten können derzeit nicht verwendet werden.
Robservable bietet die Möglichkeit Interaktionen verschiedener R generierter Elemente von JavaScript aus zu steuern – im Gegensatz zu Shiny, wo die Steuerung in R erfolgt. Robservable steht noch am Anfang der Entwicklung, sodass Cheng noch keine Demo zeigen konnte.
Jan Vitek: What can R learn from Julia
Jan Vitek hat in seinem Vortrag anhand der colMeans Funktion einen Vergleich zwischen R und Julia gezogen. Die Syntax der beiden Sprachen ist sehr ähnlich, manche Codezeilen sind sogar völlig identisch. Die Implementierung unterscheidet sich jedoch stark. Während die R Version von colMeans ein C-Interface verwendet, kompiliert Julia den Code on-the-fly. Die Implementierung von Julia kann laut Vitek als Vorbild dienen, um die Performance von R zu erhöhen. Es wurden bereits erste Initiativen gestartet um dies zu erreichen. Das Manko ist, dass einige dieser Ansätze tief in die Grundstruktur der Sprache eingreifen.
Lukas Stadler: Zero-overhead integration of R, JS, Ruby and C/C++
Das in den Oracle Labs entwickelte Truffle Framework, stellt einen interessanten Ansatz dar, um die Interoperationalität verschiedener Programmiersprachen (R, Ruby, C/C++ und JavaScript) zu vereinfachen. In Truffle teilen sich diese Sprachen eine virtuelle Maschine, einen Just-In-Time Compiler und verwenden denselben Heap. So ist es leicht Objekte und sogar Funktionen zwischen den Sprachen auszutauschen. Lukas Stadler konnte dieses Feature in einem beeindruckenden Demo vorführen. Mehr zu Truffle unter http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index-2301583.html
Giorgio Maria Di Nunzio: Interactive Naive Bayes using Shiny: Text Retrieval, Classification, Quantification
Di Nunzio hat in seinem Vortrag am Beispiel Naive Bayes die noch recht junge Disziplin des interaktiven Machine Learnings vorgestellt. Ziel ist es die Parameter eines Algorithmus während der Modellbildung interaktiv zu verändern, um so optimale Klassifizierungs- und Prognoseergebnisse zu erzielen.
Di Nunzio hat dazu eine Shiny App entwickelt, mit der sich Naive Bayes Algorithmen interaktiv modifizieren lassen. Die Slider der Shiny App erlauben die Prior Wahrscheinlichkeiten des Klassifikators festzulegen, um so die Prognose zu konfigurieren.
Interaktives Machine Learning ist ein interessanter Ansatz, der in verschiedenen Einsatzszenarien sinnvoll einsetzbar ist.
Tong He: xgboost – An R package for Fast and Accurate Gradient Boosting
Das R-Paket xgboost (Extreme Gradient Boosting) hat in 2016 den John Chambers Statistical Software Award gewonnen. Der Algorithmus ist in C++ implementiert und kann aus R, Python und Julia heraus aufgerufen werden. Gradient Boosting ist wie Random Forest ein Ensemble Verfahren für Klassifikations- und Regressionsbäume. Im Gegensatz zu Random Forest ist das Verfahren iterativ, was die Parallelisierung schwieriger macht.
Das Besondere von xgboost im Unterschied von bereits vorhandenen Implementierungen von Gradient Boosting ist:
- xgboost verwendet sowohl Lasso (L1) als auch Ridge (L2) Regularisierung
- Es werden Gradienten erster und zweiter Ordnung verwendet
- Das Pruning basiert auf vollständigen Bäumen
Tong He konnte zeigen, dass der Algorithmus hervorragend Ergebnisse zeigt und außerordentlich gute Prognoseergebnisse liefert. Obwohl das Paket noch recht jung ist, wurde es bereits von mehreren Kaggle Siegern verwendet.
Pooja Rajkumar: Rectools – An Advanced Recommender System
Pooja Rajkumar hat mit Rectools ein Recommender Engine Paket vorgestellt, das auf einer zweistufigen ANOVA basiert. Die zentralen Eigenschaften von Rectools sind:
- Es können Kovarianten eingefügt werden, z.B. Soziodemographische Variablen.
- Das Paket ist vollständig parallelisiert
- Es werden per nearest neighbour Personen mit ähnlichen Präferenzen identifiziert
Ein ereignisreicher Tag wurde abgeschlossen von der Welcome Reception in der Bing Concert Hall auf dem Stanford Campus.
Hier entlang.