47

Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”
Page 2: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

2

● Data Science mit Python und R

● ML Engineering, ML Deployment

● Big Data, Hadoop, Spark

[email protected]

@mspitzer243

Page 3: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”
Page 4: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”
Page 5: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

5

› Identifikation und Extraktion relevanter

Features aus verschiedenen Quellen

› Explorative Analyse und Aufbereitung

› Definition eines experimentellen Setups

› Benchmark verschiedener Modelle

› ...Deployment?!

Page 6: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

Creation of the model is generally not the end of the project. [...]

It often involves applying "live" models within an organization’s decision

making processes — for example, real-time personalization of Web pages

or repeated scoring of marketing databases.

6

Pete Chapman, Julian Clinton, Randy Kerber, Thomas Khabaza, Thomas Reinartz, Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides

Page 7: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

7

Data Science Lab

Live System /“Production”

Page 8: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

› Vorhersage von Produkt-

nachfrage auf Tagesbasis

› Bereitstellung in Datenbank

› Zugriff über Analysetools und

Dashboards

8

Page 9: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

› Produktempfehlungen auf Basis

des Nutzerverhaltens

› Bereitstellung als Webservice

› Zugriff über REST API

9

Page 10: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

10

TrainingDaten

ScoringDaten

Modell

Prognose Serving

En

twic

klu

ng

Pro

du

ktio

n

Page 11: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

11

Page 12: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

› Generieren von Erkenntnissen aus

Daten zur Beantwortung einer Fragestellung

› Interaktive Exploration von statischen Daten

› Reports, Dashboards oder Modellprototyp zur

Unterstützung der Entscheidungsfindung

12

Page 13: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

› Optimierung von Business-Metriken

durch den Einsatz von ML-Verfahren

› Dynamische Daten und Echtzeit-Feedback

› Entwicklung einer zuverlässigen und nachvollziehbaren

ML-Komponente als Bestandteil eines Datenproduktes

13

Page 14: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

14

Page 15: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

15

Data Science

● Experimentell

● Rapid Prototyping, Ad-Hoc Analysen

● Reports, Dashboards, Modelle

SW Engineering

● Systematisch

● Clean Code, Test-Driven Development, CI/CD

● Wartbare und funktionale Software

Page 16: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

16

› Kurze Iterationen und adaptive Planung

› Aktiver Wissensaustausch in interdisziplinären Teams

› Früh liefern, kontinuierlich verbessern

› Durchführung explorativer Tasks als Spikes

› Discovery/Delivery-Teams (Dual-Track)

Page 17: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

17

Page 18: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

18

ProduktionEntwicklung

Training Modell

Vorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

Page 19: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

ProduktionEntwicklung

19

Training Modell

Vorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

? ??

Page 20: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

20

Format BeispielAbhängig-

keitenSprach-

unabhängigModell- support

serialisiertPickles, R

Object FilesJa Nein Hoch

generisch JSON, XML Nein Ja Niedrig

Container Docker Nein Ja Hoch

Page 21: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

21

ProduktionEntwicklung

Training Modell

Vorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

Page 22: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

ProduktionEntwicklung

22

Training Modell

Vorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

sync?

Page 23: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

ProduktionEntwicklung

23

Training

PipelineVorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

Page 24: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

24

› Pipelines umfassen Modelle und Datentransformationen

› Gerichteter Graph aus Transformatoren und Schätzern

› Transformatoren verändern oder ergänzen Eingabedaten

› Schätzer konstruieren Transformatoren auf Basis von

Eingabedaten

Page 25: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

25

Ersetzen von NULL Werten

One-Hot Encoding Normierung Lineare

Regression

Training

Ersetzen von NULL Werten

One-Hot Encoding Normierung Regressions-

modell

Schätzer

Transformator

Page 26: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

ProduktionEntwicklung

26

Training

PipelineVorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

Page 27: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

ProduktionEntwicklung

27

Training

PipelineVorbereitung

Daten

Scoring

Vorbereitung

Daten

Prognose

sync?

Page 28: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

28

› Abweichende Modellperformance bei Offline-

und Online-Evaluation

› Trainings- und Scoringdaten entstammen

unterschiedlichen Verteilungen

› Ursache z.B. veraltete Trainingsdaten oder

nicht-repräsentatives Sample

https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/46178.pdf

age

income

Page 29: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

29

Page 30: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

30

Page 31: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

› Anpassbarkeit an sich kontinuierlich ändernde

Rahmenbedingungen bzw. Verhaltensmuster

› Erfordert Re-Training auf aktuellen Daten, Feature

Engineering oder neue Modellierungsansätze

› Monitoring und automatisiertes Deployment sind

grundlegend für schnelle Reaktionsfähigkeit

31

Page 32: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

32

?

Page 33: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

33

› Welchen Einfluss haben Änderungen von

Systemparametern (z.B. auf das Nutzerverhalten)?

› Layout einer Website → Click-Through-Rate

› Auch zur Abschätzung des Einflusses von Änderungen an

ML-Komponenten geeignet

Page 34: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

34

› Gegenüberstellung der Performance verschiedener

Modelle unter realen Bedingungen

› Einsatz von Business-KPI’s oder geeignete Proxies

Modell A

Modell B

CTR = .017

CTR = .024Anfragen Prognosen

Page 35: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

35

› Historisierung von Daten, Modellen, Reports

› Nachvollziehbarkeit von Prognosen und Entscheidungen

› Ermöglicht Benchmark älterer Modelle auf neuen Daten und

Backtesting von neuen Modellen auf älteren Daten

› Grundlage für Audits und Fallback-Strategien

Page 36: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

36

Page 37: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

› Vermeidbarer Mehraufwand

› Korrekte Replikation der Modelle schwierig

› Fehlende ML Bibliotheken in Produktion

› Nur für einfache Modelle praktikabel

37

Modell liegt als Konzept vor und wird auf Produktions-Stack reimplementiert

Page 38: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

38

Verwendung dedizierter Machine Learning Frameworks in Entwicklung und Produktion

› Ende-zu-Ende Abdeckung

› Lokale und Remote Entwicklung

› Multi-Language Support

› Horizontale Skalierbarkeit

› Eingeschränkter Funktionsumfang

Page 39: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

39

Modell wird als Webservice in einem Container deployt

› Voller Funktionsumfang von Python, R, etc.

› Isolierte Abhängigkeiten

› Horizontale Skalierbarkeit

› On-Premise oder Cloud

› Erfordert (ein wenig) SW Engineering

Page 40: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

40

Funktionsumfang

Skal

ierb

arke

it

Cloud & Container

Prototyping & Ad-Hoc Analysis

ML Frameworks

Page 41: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

Development Production

41

Client

Predictions

ScoringTraining Data

Training Model Store

ServiceScoring Data

ID Pred

Page 42: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

Service

Production

Transform

42

FactsProducer

Client Scoring

Events

Cache

Requests

Predictions

ID Data

ID

Pred

Page 43: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”
Page 44: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

1. Definition von Problemstellung, Zielsetzung und

angemessenen Performance-Metriken

2. Identifikation von grundlegenden Features und

einfachen Modellierungsansätzen

3. Fokus auf stabile Pipelines und skalierbare

Algorithmen bzw. Frameworks

44

Page 45: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

45

› ML Deployment betrifft den gesamten Lebenszyklus

› SW Engineering ist essenziell für produktionsreifes ML

› Pipeline-Konzept erleichtert Reproduzierbarkeit

› Kontinuierliches Performance-Monitoring

› ML Frameworks und Container-basierte Ansätze

Page 46: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

Rules of ML, Best Practices for ML Engineering

Data Science in Production: Packaging, Versioning and Continuous Integration

From the Lab to the Factory: Building a Production Machine Learning Infrastructure

The Keys to effective Data Science Projects

Demystifying Docker for Data Scientists

Production Recommendation Systems with Cloudera

Machine Learning for Software Engineers

Overlapping Experiment Infrastructure

46

Page 47: Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides. 7 Data Science Lab Live System / “Production”

Marcel Spitzer

Big Data Scientist

inovex GmbH

Ludwig-Erhard-Allee 6

76131 Karlsruhe

[email protected]