Bericht MLUGS Treffen im Oktober 2016

20. October 2016

Protokoll

Vorstellungsrunde

Meta

Neues Pad bei hackmd.io. Slide mode ist cool.

PSA bei Twitter @mlugs_de folgen!

R in Produktivumgebungen

Allgemeines

Vortrag von 5Analytics

Dr. Sebastian Klenk ist einer der Gründer von 5Analytics

Ziel: aus Daten Vorhersagen zu treffen.

Ziel seiner Plattform: Statistiker. Vereinfachung für den Statistiker

Produkt: Softwareplatform für KI-Anwendungen

In ihrem Umfeld ist der standard R.

Abgrenzung

(von oben nach unten: Action up, Insights down)

Eine Art Application Server für R

Demo ist ein Schuh-Shop mit Recommendation Engine, dynamic pricing, Rabattempfehlungen, ….

Berechnung in dem Beispiel ist in 300ms in R für die Produktempfehlungen.

Code: recommenderlab und reshape2 als Libraries. UBCF (user based) für den Recommender. Die Webseite macht RPC-calls gegen die Recomender-Engine und bekommt die Prediction in JSON zurück.

Plus für R aus Sicht von Sebastian ist, dass man leicht neue Methoden in R schreiben kann.

Ziel in Unternehmen ist robuste Software. Deshalb Event-Based-Servermodel mit 1 Prozess und 3 Threads (Reader, Worker, Writer). Im Hintergrund R-Prozesse die vom Worker-Thread aus aufgerufen werden. Prediction ist super schnell. Deshalb geht das in diesem Model ohne Timeouts.

Architektur: - Streams eingehend und ausgehend - Pool von R Worker-Prozessen (Python ist in Arbeit) - Storage Worker mit Abstraktion der Daten (SQL, Elastic Search, MongoDB)

Aktuell wird wöchtentlich das ganze Model neu berechnet.

Mathematiker machen eher R. Informatiker eher Python. Deshalb kommt Python zur Plattform dazu.

5analytics macht auch die Modelle für die meisten Kunden dazu. Sie verkaufen also nicht nur den Server mit der Software as a Service.

Für das dynamic Pricing aus der Demo-Anwendung wird ein Cox Proportional Hazard Model verwendet. Die Baseline-Hazard-Function betrachtet Preis (x) und Wahrscheinlichkeit des Kaufs (y). Durch Änderung des Preises (Empfehlung für Rabatte oder auch für grundsätzlich höhere Preise) lässt sich die Kaufwahrscheinlichkeit beeinflussen ohne unnötige Rabatte zu geben.

harte Echtzeit: Antwort nach garantierter Zeit weiche Echtzeit: Antwort im vertretbaren Rahmen.

Verwenden keine Neuronalen Netze. Allerdings SVMs. SVMs haben eine schöne Theorie, bringen aber keinen Vorteil bzgl. der Performanz. Die zahlreichen Parameter erschweren das Tuning.

R

Uwe Sterr

Aufgabe eines Datascientist: Hole die Essenz aus dem Datenwust

Uwe zeigt Beispiele mit R.

Er verwendet shiny als Webserver.

Visualisierung für Kunden, in Python mit Bokeh, zum Selbstexplorieren.

Take Away

https://www.youtube.com/watch?v=6S9r_YbqHy8

GOTO 2012 • The R Language The Good The Bad & The Ugly • John Cook

A most completly chart of Neural Networks

Kaggle

interessante Aufgaben:

wer bei einer Aufgabe in einem mlugs-Team mitmachen möchte: schreibt bitte auf Twitter an @mlugs_de