SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Titel der Präsentation,
Name, Abteilung,
Ort, xx. Monat 2014
1
Andreas Lattner
Data Science Team, Business Intelligence, Otto Group
PyData Berlin, May 20, 2016
Setting up predictive analytics services with Palladium
2 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Agenda
1 Introduction
2 Architecture
3 Example: Setting up a classification service
4 Deployment with Docker and Mesos / Marathon
5 Summary
3 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Motivation & History
Requirements Predictive Analytics
• Reduce transition time from prototypes to
operational systems
• High scalability
• Provide reliable predictive services
• Avoid expenses for licenses
• Faster start of projects, avoid re-implementation of
same functionality
+
Parcel Delivery Time
Prediction Framework
PALLADIUM
Generic solution for
group‘s services
• Frequent development of predictive analytics prototypes (R, Python, …)
• Partly reimplementation to set up operational applications
• A great stack of data analysis and machine learning packages exist for Python
(numpy, scipy, pandas, scikit-learn, …)
Palladium emerged from a project for parcel delivery time prediction for Hermes
4 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
What is Palladium?
Framework for fitting, evaluating, saving, deploying and using (predictive) models
Palladium
Model 1
DB
Config
predict(X) ŷ
Palladium
Model 2
DB
Config
predict(X) ŷ
• Unified model management (Python, R, Julia)
Palladium allows fitting, storing, loading,
distributing, versioning of models; metadata
management; using scikit-learn’s interfaces
• Generation of operative predictive services
Provisioning of models as web services
• Flexibility
It is possible to quickly set up new services via
configuration and interfaces
• Automated update
Update of a service‘s data / models in
configurable intervals
• Scalability
Easy distribution and scalability of predictive
services via Docker containers and integration to
load balancer
5 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Agenda
1 Introduction
2 Architecture
3 Example: Setting up a classification service
4 Deployment with Docker and Mesos / Marathon
5 Summary
6 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Architecture
Fitting and evaluating models
Application of models
Load Balancer
host/service/v1.1/predict?feat1=blue&feat2=38.0“class A”
“Service User”
Model DB
Testing Data
Train Server
model
Training Data
Server 1
Predict Node
model
Server 2 Server 3
7 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Architecture
Flexible integration of Authentication, Logging and Monitoring
Fitting and evaluating models
Application of models
Model DB
Testing Data
Server 1 Server 2
Load Balancer
Server 3
host/service/v1.1/predict?feat1=blue&feat2=38.0&access_token=a
Train Server
“class A”
“Service User”
model
model
Training Data
Predict Node
OAuth2-ServerMonitoring Service
8 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Flexible Structure via Interfaces
Palladium‘s
config
dataset
loader train
CSV Loader
DB Connection
grid search
param1: [a, b]
param2: [1.0, 2.0]
model
persister
File Persister
DB Persister
predict
service
/predict?feat1=0.1
→
{"class": "cat"}
model
Support Vector Classifier
Logistic Regression
dataset
loader test
CSV Loader
DB Connection
9 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Agenda
1 Introduction
2 Architecture
3 Example: Setting up a classification service
4 Deployment with Docker and Mesos / Marathon
5 Summary
10 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Example: Iris Classification
sepal length: 5.2
sepal width: 3.5
petal length: 1.5
petal width: 0.2
Iris-setosa
Iris-versicolor
Iris-virginica ?
5.2,3.5,1.5,0.2,Iris-setosa
4.3,3.0,1.1,0.1,Iris-setosa
5.6,3.0,4.5,1.5,Iris-versicolor
6.3,3.3,6.0,2.5,Iris-virginica
5.1,3.8,1.5,0.3,Iris-setosa
...
Training & test data
Palladium Predict Server
http://localhost:5000/predict?
sepal length=5.2&sepal width=3.5&
petal length=1.5&petal width=0.2
{"result": "Iris-virginica",
"metadata":{
"service_name": "iris",
"service_version": "0.1",
"error_code": 0,
"status": "OK"}}
11 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration and Corresponding Classes
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
DatasetLoader
DatasetLoader
Model (→sklearn.base.BaseEstimator)
sklearn.grid_search.GridSearchCV
ModelPersister
PredictService
12 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
'__factory__':
'palladium.dataset.Table',
'path': 'iris.data',
'names': [
'sepal length',
'sepal width',
'petal length',
'petal width',
'species',
],
'target_column': 'species',
'sep': ',',
'nrows': 100,
13 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
'__factory__':
'palladium.dataset.Table',
'path': 'iris.data',
'names': [
'sepal length',
'sepal width',
'petal length',
'petal width',
'species',
],
'target_column': 'species',
'sep': ',',
'skiprows': 100,
14 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
'__factory__':
'sklearn.tree.
DecisionTreeClassifier',
'min_samples_leaf': 1,
15 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
'param_grid': {
'min_samples_leaf':
[1, 2, 3],
},
'verbose': 4,
'n_jobs': -1,
16 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
'__factory__':
'palladium.persistence.File',
'path':
'iris-model-{version}',
17 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Configuration
'dataset_loader_train': {...},
'dataset_loader_test': {...},
'model': {...},
'grid_search': {...},
'model_persister': {...},
'predict_service': {...},
'__factory__':
'palladium.server.
PredictService',
'mapping': [
('sepal length', 'float'),
('sepal width', 'float'),
('petal length', 'float'),
('petal width', 'float'),
],
18 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Fitting and Testing Models
• Script for fitting models: pld-fit
• Loads training data
• Fits model (using specified estimator)
• Stores model + metadata
• Option to evaluate model on validation set (--evaluate)
INFO:palladium:Loading data...
INFO:palladium:Loading data done in 0.010 sec.
INFO:palladium:Fitting model...
INFO:palladium:Fitting model done in 0.001 sec.
INFO:palladium:Writing model...
INFO:palladium:Writing model done in 0.039 sec.
INFO:palladium:Wrote model with version 8.
19 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Fitting and Testing Models
• Script for testing different parameters: pld-grid-search
• Loads training data
• Splits training data in folds (cross validation)
• Creates runs for all parameter-fold combinations
• Reports results for different settings
INFO:palladium:Loading data...
INFO:palladium:Loading data done in 0.004 sec.
INFO:palladium:Running grid search...
Fitting 3 folds for each of 3 candidates, totalling 9 fits
...
[Parallel(n_jobs=-1)]: Done 9 out of 9 | elapsed: 0.1s finished
INFO:palladium:Running grid search done in 0.041 sec.
INFO:palladium:
[mean: 0.93000, std: 0.03827, params: {'min_samples_leaf': 2},
mean: 0.92000, std: 0.02902, params: {'min_samples_leaf': 1},
mean: 0.92000, std: 0.02902, params: {'min_samples_leaf': 3}]
20 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Fitting and Testing Models
• Script for testing models: pld-test
• Loads test data
• Applies model to test data
• Reports results (e.g., accuracy)
INFO:palladium:Loading data...
INFO:palladium:Loading data done in 0.003 sec.
INFO:palladium:Reading model...
INFO:palladium:Reading model done in 0.000 sec.
INFO:palladium:Applying model...
INFO:palladium:Applying model done in 0.001 sec.
INFO:palladium:Score: 0.92.
21 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Deploying and Applying Models
• Built-in script for providing models: pld-devserver
• Using Flask’s web server
• Recommended to use WSGI container / web
server, e.g., gunicorn / nginx
• Predict server
• Loads model (model persister)
• Schedule for model updates
• Provides web service entry points (“predict”,
“alive”)
/alive
/predict
22 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Testing Service Overhead (1 CPU)
Including prediction of Iris model; using Flask‘s develop server
ab -n 1000
"http://localhost:4999/predict?sepal%20length=5.2&sepal%20width=
3.5&petal%20length=1.5&petal%20width=0.2"
Time taken for tests: 1.217 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 273000 bytes
HTML transferred: 112000 bytes
Requests per second: 821.82 [#/sec] (mean)
Time per request: 1.217 [ms] (mean)
Time per request: 1.217 [ms] (mean, across all concurrent
requests)
Transfer rate: 219.10 [Kbytes/sec] received
(Intel(R) Xeon(R) CPU E5-2667 0 @ 2.90GHz)
23 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Extensions
• Dynamic instantiation of objects (not only for provided interfaces)
• “__factory__” entries are instantiated on config initialization (using
resolve_dotted_name) and can be accessed via get_config()[‘name’]
• Parameters are passed to constructor
• Extension using decorators
• A list of decorators can be set to wrap different calls (predict, fit, update model)
• Can be used, e.g., for authentication or monitoring of “predict” calls
'predict_decorators': [
'my_oauth2.authorization',
'my_monitoring.log',
],
'model': {
'__factory__': 'sklearn.tree.DecisionTreeClassifier',
'min_samples_leaf': 1,
},
24 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Extensions (2)
• Own implementation of PredictService can be set in config, e.g., to adapt response
format or to define own way how sample is created from request
• Here we add a prediction_id to the response:
class MyPredictService(PredictService):
def response_from_prediction(self, y_pred, single=True):
result = y_pred.tolist()
metadata = get_metadata()
metadata.update({'prediction_id': str(uuid.uuid1())})
if single:
result = result[0]
response = {
'metadata': metadata,
'result': result,
}
return make_ujson_response(response, status_code=200)
25 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Agenda
1 Introduction
2 Architecture
3 Example: Setting up a classification service
4 Deployment with Docker and Mesos / Marathon
5 Summary
26 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Docker, Mesos & Marathon
• Docker is a platform for the creation, distribution,
and execution of applications
• Lightweight environment
• Easy combination of components
• Self-contained container including dependencies
• Docker registry for deployment
• Cluster framework Mesos provides resources,
encapsulating details about used hardware
• High scalability and robustness
• Marathon (Mesosphere): Framework to launch and
monitor services; used in combination with Mesos
Source: https://www.docker.com/whatisdocker/
Sources:
http://mesos.apache.org/
https://mesosphere.github.io/marathon/
27 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Docker Container
Containers for and Deployment of Palladium Instances
Palladium
Code
Application
specific code
Config
Server 1 Server 2
Load Balancer
Docker Container
Palladium
Code
Application
specific code
Config
Server 3
Service 1 Service 2
host/service/v1.0/predict?feat1=austria host/service/v1.1/predict?feat1=blue&feat2=38.0
28 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Automated generation of Docker images
pld-dockerize
• Script pld-dockerize creates Docker image for predictive analytics service
• Example:
pld-dockerize pld_codetalks ottogroup/palladium-base:1.0.1 alattner/iris-demo-
tmp:0.1
• There exists an option to create only the Dockerfile without building the image (-d)
29 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Deploying via Mesos / Marathon
Easy deployment: Referring to Docker image and specifying number of instances
30 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Deploying via Mesos / Marathon
Palladium instances provide service after deployment
31 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Deploying via Mesos / Marathon
Easy scaling via GUI if more or less Palladium instances are desired
32 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Deploying via Mesos / Marathon
Easy scaling via GUI if more or less Palladium instances are desired
33 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Deploying via Mesos / Marathon
Easy scaling via GUI if more or less Palladium instances are desired
34 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Summary
• Palladium 1.0.1 is available at GitHub, PyPI, Anaconda (Linux)
• Easy way to expose ML models as web services using scikit-learn’s interface
• Mechanism for automated update of models
• Script to automatically create Docker images for Palladium services
• Easy integration of other relevant services via decorator lists
• Authentication
• Logging, monitoring
• Support for models in other languages than Python: R (via rpy2), Julia (via pyjulia)
• Test-driven development, 100% test coverage
• Various Otto Group services have been realized with Palladium
• We’d be happy to receive feedback, suggestions for improvements, or pull requests!
35 Setting up predictive analytics services with Palladium
Andreas Lattner
Otto Group BI
Acknowledgment
• Daniel Nouri (design & development)
• Tim Dopke (Palladium + Docker, Mesos / Marathon)
• Data Science Team of the Otto Group BI
• Developers of used packages, e.g.,
• scikit-learn
• numpy
• scipy
• pandas
• flask
• sqlalchemy
• pytest
• …
Titel der Präsentation,
Name, Abteilung,
Ort, xx. Monat 2014
36
Thank you very much for your attention!

Contenu connexe

Tendances

Data Profiling in Apache Calcite
Data Profiling in Apache CalciteData Profiling in Apache Calcite
Data Profiling in Apache CalciteJulian Hyde
 
Data profiling with Apache Calcite
Data profiling with Apache CalciteData profiling with Apache Calcite
Data profiling with Apache CalciteJulian Hyde
 
New developments in open source ecosystem spark3.0 koalas delta lake
New developments in open source ecosystem spark3.0 koalas delta lakeNew developments in open source ecosystem spark3.0 koalas delta lake
New developments in open source ecosystem spark3.0 koalas delta lakeXiao Li
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using MahoutIMC Institute
 
Spatial query on vanilla databases
Spatial query on vanilla databasesSpatial query on vanilla databases
Spatial query on vanilla databasesJulian Hyde
 
運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...
運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...
運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...Herman Wu
 
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
A Rusty introduction to Apache Arrow and how it applies to a  time series dat...A Rusty introduction to Apache Arrow and how it applies to a  time series dat...
A Rusty introduction to Apache Arrow and how it applies to a time series dat...Andrew Lamb
 
Machine learning using spark
Machine learning using sparkMachine learning using spark
Machine learning using sparkRan Silberman
 
20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQLKohei KaiGai
 
20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - EnglishKohei KaiGai
 
HEPData Open Repositories 2016 Talk
HEPData Open Repositories 2016 TalkHEPData Open Repositories 2016 Talk
HEPData Open Repositories 2016 TalkEamonn Maguire
 
Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016
Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016
Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016Comsysto Reply GmbH
 
Structured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack GudenkaufStructured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack GudenkaufDatabricks
 
Apache Mahout Algorithms
Apache Mahout AlgorithmsApache Mahout Algorithms
Apache Mahout Algorithmsmozgkarakaya
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryDatabricks
 
Lazy beats Smart and Fast
Lazy beats Smart and FastLazy beats Smart and Fast
Lazy beats Smart and FastJulian Hyde
 
Drill / SQL / Optiq
Drill / SQL / OptiqDrill / SQL / Optiq
Drill / SQL / OptiqJulian Hyde
 

Tendances (20)

Data Profiling in Apache Calcite
Data Profiling in Apache CalciteData Profiling in Apache Calcite
Data Profiling in Apache Calcite
 
Data profiling with Apache Calcite
Data profiling with Apache CalciteData profiling with Apache Calcite
Data profiling with Apache Calcite
 
New developments in open source ecosystem spark3.0 koalas delta lake
New developments in open source ecosystem spark3.0 koalas delta lakeNew developments in open source ecosystem spark3.0 koalas delta lake
New developments in open source ecosystem spark3.0 koalas delta lake
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using Mahout
 
Spatial query on vanilla databases
Spatial query on vanilla databasesSpatial query on vanilla databases
Spatial query on vanilla databases
 
運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...
運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...
運用CNTK 實作深度學習物件辨識 Deep Learning based Object Detection with Microsoft Cogniti...
 
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
A Rusty introduction to Apache Arrow and how it applies to a  time series dat...A Rusty introduction to Apache Arrow and how it applies to a  time series dat...
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
 
Powering a Virtual Power Station with Big Data
Powering a Virtual Power Station with Big DataPowering a Virtual Power Station with Big Data
Powering a Virtual Power Station with Big Data
 
Machine learning using spark
Machine learning using sparkMachine learning using spark
Machine learning using spark
 
HEPData
HEPDataHEPData
HEPData
 
20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL20181116 Massive Log Processing using I/O optimized PostgreSQL
20181116 Massive Log Processing using I/O optimized PostgreSQL
 
20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English
 
HEPData Open Repositories 2016 Talk
HEPData Open Repositories 2016 TalkHEPData Open Repositories 2016 Talk
HEPData Open Repositories 2016 Talk
 
Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016
Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016
Spark RDD-DF-SQL-DS-Spark Hadoop User Group Munich Meetup 2016
 
Structured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack GudenkaufStructured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack Gudenkauf
 
HEPData workshop talk
HEPData workshop talkHEPData workshop talk
HEPData workshop talk
 
Apache Mahout Algorithms
Apache Mahout AlgorithmsApache Mahout Algorithms
Apache Mahout Algorithms
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love Story
 
Lazy beats Smart and Fast
Lazy beats Smart and FastLazy beats Smart and Fast
Lazy beats Smart and Fast
 
Drill / SQL / Optiq
Drill / SQL / OptiqDrill / SQL / Optiq
Drill / SQL / Optiq
 

En vedette

Smau milano 2012 fabrizio amarilli architettura
Smau milano 2012 fabrizio amarilli architetturaSmau milano 2012 fabrizio amarilli architettura
Smau milano 2012 fabrizio amarilli architetturaSMAU
 
Costi della qualità: 4. i costi negativi
Costi della qualità: 4. i costi negativi Costi della qualità: 4. i costi negativi
Costi della qualità: 4. i costi negativi Manager.it
 
Ayurveda school | Ayurveda and Panchakarma Training Centre
Ayurveda school | Ayurveda and Panchakarma Training CentreAyurveda school | Ayurveda and Panchakarma Training Centre
Ayurveda school | Ayurveda and Panchakarma Training CentreSchool of Ayurveda & Panchakarma
 
Dell xps m1210バッテリー【送料無料】デルバッテリー
Dell xps m1210バッテリー【送料無料】デルバッテリーDell xps m1210バッテリー【送料無料】デルバッテリー
Dell xps m1210バッテリー【送料無料】デルバッテリーFollowpower Liu
 
Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...
Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...
Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...Manager.it
 
กฎหมายเครื่องหมายการค้า
กฎหมายเครื่องหมายการค้ากฎหมายเครื่องหมายการค้า
กฎหมายเครื่องหมายการค้าYosiri
 
Crowdsourcing 4. Competition platform
Crowdsourcing 4. Competition platformCrowdsourcing 4. Competition platform
Crowdsourcing 4. Competition platformManager.it
 
CMS Emergency Preparedness Rule, Final Rule: A High Altitude Flyover
CMS Emergency Preparedness Rule, Final Rule: A High Altitude FlyoverCMS Emergency Preparedness Rule, Final Rule: A High Altitude Flyover
CMS Emergency Preparedness Rule, Final Rule: A High Altitude FlyoverKarl Schmitt
 
Avpd upv-etsii - el nuevo rgpd para ingenieros - x2
Avpd upv-etsii - el nuevo rgpd para ingenieros - x2Avpd upv-etsii - el nuevo rgpd para ingenieros - x2
Avpd upv-etsii - el nuevo rgpd para ingenieros - x2AVPD - DBEB
 
Rakesh Rathod Resume Nov 2016
Rakesh Rathod Resume Nov 2016Rakesh Rathod Resume Nov 2016
Rakesh Rathod Resume Nov 2016Rakesh Rathod
 

En vedette (16)

Smau milano 2012 fabrizio amarilli architettura
Smau milano 2012 fabrizio amarilli architetturaSmau milano 2012 fabrizio amarilli architettura
Smau milano 2012 fabrizio amarilli architettura
 
Costi della qualità: 4. i costi negativi
Costi della qualità: 4. i costi negativi Costi della qualità: 4. i costi negativi
Costi della qualità: 4. i costi negativi
 
Ayurveda school | Ayurveda and Panchakarma Training Centre
Ayurveda school | Ayurveda and Panchakarma Training CentreAyurveda school | Ayurveda and Panchakarma Training Centre
Ayurveda school | Ayurveda and Panchakarma Training Centre
 
Dell xps m1210バッテリー【送料無料】デルバッテリー
Dell xps m1210バッテリー【送料無料】デルバッテリーDell xps m1210バッテリー【送料無料】デルバッテリー
Dell xps m1210バッテリー【送料無料】デルバッテリー
 
Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...
Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...
Marketing SocioVirale 5. il 2° fattore-chiave per acchiappare sui socialmedia...
 
resume vanes new 1
resume vanes new 1resume vanes new 1
resume vanes new 1
 
กฎหมายเครื่องหมายการค้า
กฎหมายเครื่องหมายการค้ากฎหมายเครื่องหมายการค้า
กฎหมายเครื่องหมายการค้า
 
Latihan
LatihanLatihan
Latihan
 
Praktek
PraktekPraktek
Praktek
 
What's cooking
What's cookingWhat's cooking
What's cooking
 
Crowdsourcing 4. Competition platform
Crowdsourcing 4. Competition platformCrowdsourcing 4. Competition platform
Crowdsourcing 4. Competition platform
 
Osha3530
Osha3530Osha3530
Osha3530
 
CMS Emergency Preparedness Rule, Final Rule: A High Altitude Flyover
CMS Emergency Preparedness Rule, Final Rule: A High Altitude FlyoverCMS Emergency Preparedness Rule, Final Rule: A High Altitude Flyover
CMS Emergency Preparedness Rule, Final Rule: A High Altitude Flyover
 
BigPrivacy - Privacidad y BigData en Estadísticas Oficiales
BigPrivacy - Privacidad y BigData en Estadísticas OficialesBigPrivacy - Privacidad y BigData en Estadísticas Oficiales
BigPrivacy - Privacidad y BigData en Estadísticas Oficiales
 
Avpd upv-etsii - el nuevo rgpd para ingenieros - x2
Avpd upv-etsii - el nuevo rgpd para ingenieros - x2Avpd upv-etsii - el nuevo rgpd para ingenieros - x2
Avpd upv-etsii - el nuevo rgpd para ingenieros - x2
 
Rakesh Rathod Resume Nov 2016
Rakesh Rathod Resume Nov 2016Rakesh Rathod Resume Nov 2016
Rakesh Rathod Resume Nov 2016
 

Similaire à Setting up predictive analytics services with Docker and Mesos

Designing a production grade realtime ml inference endpoint
Designing a production grade realtime ml inference endpointDesigning a production grade realtime ml inference endpoint
Designing a production grade realtime ml inference endpointChandim Sett
 
Bhadale group of companies - Our project works
Bhadale group of companies - Our project worksBhadale group of companies - Our project works
Bhadale group of companies - Our project worksVijayananda Mohire
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014Mark Tabladillo
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
Evolving Hadoop into an Operational Platform with Data Applications
Evolving Hadoop into an Operational Platform with Data ApplicationsEvolving Hadoop into an Operational Platform with Data Applications
Evolving Hadoop into an Operational Platform with Data ApplicationsDataWorks Summit
 
Data Mining 2008
Data Mining 2008Data Mining 2008
Data Mining 2008llangit
 
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...James Anderson
 
I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)AZUG FR
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simplellangit
 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning serviceRuth Yakubu
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015eddiebaggott
 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and EngineeringVijayananda Mohire
 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and EngineeringVijayananda Mohire
 
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...ScyllaDB
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Rajesh Kumar
 
AWS Summit Auckland - Introducing Well-Architected for Developers
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for DevelopersAmazon Web Services
 
Shree krishna 20140214
Shree krishna 20140214Shree krishna 20140214
Shree krishna 20140214Shree Shrestha
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Nane Kratzke
 

Similaire à Setting up predictive analytics services with Docker and Mesos (20)

Designing a production grade realtime ml inference endpoint
Designing a production grade realtime ml inference endpointDesigning a production grade realtime ml inference endpoint
Designing a production grade realtime ml inference endpoint
 
Bhadale group of companies - Our project works
Bhadale group of companies - Our project worksBhadale group of companies - Our project works
Bhadale group of companies - Our project works
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014.Net development with Azure Machine Learning (AzureML) Nov 2014
.Net development with Azure Machine Learning (AzureML) Nov 2014
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
Evolving Hadoop into an Operational Platform with Data Applications
Evolving Hadoop into an Operational Platform with Data ApplicationsEvolving Hadoop into an Operational Platform with Data Applications
Evolving Hadoop into an Operational Platform with Data Applications
 
Data Mining 2008
Data Mining 2008Data Mining 2008
Data Mining 2008
 
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
 
I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning service
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015
 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and Engineering
 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and Engineering
 
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture
 
AWS Summit Auckland - Introducing Well-Architected for Developers
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for Developers
 
Shree krishna 20140214
Shree krishna 20140214Shree krishna 20140214
Shree krishna 20140214
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
 

Plus de PyData

Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...
Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...
Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...PyData
 
Unit testing data with marbles - Jane Stewart Adams, Leif Walsh
Unit testing data with marbles - Jane Stewart Adams, Leif WalshUnit testing data with marbles - Jane Stewart Adams, Leif Walsh
Unit testing data with marbles - Jane Stewart Adams, Leif WalshPyData
 
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake Bolewski
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake BolewskiThe TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake Bolewski
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake BolewskiPyData
 
Using Embeddings to Understand the Variance and Evolution of Data Science... ...
Using Embeddings to Understand the Variance and Evolution of Data Science... ...Using Embeddings to Understand the Variance and Evolution of Data Science... ...
Using Embeddings to Understand the Variance and Evolution of Data Science... ...PyData
 
Deploying Data Science for Distribution of The New York Times - Anne Bauer
Deploying Data Science for Distribution of The New York Times - Anne BauerDeploying Data Science for Distribution of The New York Times - Anne Bauer
Deploying Data Science for Distribution of The New York Times - Anne BauerPyData
 
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaGraph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaPyData
 
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...PyData
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroPyData
 
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...PyData
 
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottAvoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottPyData
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroPyData
 
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...PyData
 
Pydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPyData
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...PyData
 
Extending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydExtending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydPyData
 
Measuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverMeasuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverPyData
 
What's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldWhat's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldPyData
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...PyData
 
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardSolving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardPyData
 
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...PyData
 

Plus de PyData (20)

Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...
Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...
Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...
 
Unit testing data with marbles - Jane Stewart Adams, Leif Walsh
Unit testing data with marbles - Jane Stewart Adams, Leif WalshUnit testing data with marbles - Jane Stewart Adams, Leif Walsh
Unit testing data with marbles - Jane Stewart Adams, Leif Walsh
 
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake Bolewski
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake BolewskiThe TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake Bolewski
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake Bolewski
 
Using Embeddings to Understand the Variance and Evolution of Data Science... ...
Using Embeddings to Understand the Variance and Evolution of Data Science... ...Using Embeddings to Understand the Variance and Evolution of Data Science... ...
Using Embeddings to Understand the Variance and Evolution of Data Science... ...
 
Deploying Data Science for Distribution of The New York Times - Anne Bauer
Deploying Data Science for Distribution of The New York Times - Anne BauerDeploying Data Science for Distribution of The New York Times - Anne Bauer
Deploying Data Science for Distribution of The New York Times - Anne Bauer
 
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaGraph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
 
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
 
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
 
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottAvoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca Bilbro
 
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
 
Pydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica Puerto
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
 
Extending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydExtending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will Ayd
 
Measuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverMeasuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen Hoover
 
What's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldWhat's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper Seabold
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
 
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardSolving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
 
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
 

Dernier

Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一ffjhghh
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 

Dernier (20)

Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 

Setting up predictive analytics services with Docker and Mesos

  • 1. Titel der Präsentation, Name, Abteilung, Ort, xx. Monat 2014 1 Andreas Lattner Data Science Team, Business Intelligence, Otto Group PyData Berlin, May 20, 2016 Setting up predictive analytics services with Palladium
  • 2. 2 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Agenda 1 Introduction 2 Architecture 3 Example: Setting up a classification service 4 Deployment with Docker and Mesos / Marathon 5 Summary
  • 3. 3 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Motivation & History Requirements Predictive Analytics • Reduce transition time from prototypes to operational systems • High scalability • Provide reliable predictive services • Avoid expenses for licenses • Faster start of projects, avoid re-implementation of same functionality + Parcel Delivery Time Prediction Framework PALLADIUM Generic solution for group‘s services • Frequent development of predictive analytics prototypes (R, Python, …) • Partly reimplementation to set up operational applications • A great stack of data analysis and machine learning packages exist for Python (numpy, scipy, pandas, scikit-learn, …) Palladium emerged from a project for parcel delivery time prediction for Hermes
  • 4. 4 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI What is Palladium? Framework for fitting, evaluating, saving, deploying and using (predictive) models Palladium Model 1 DB Config predict(X) ŷ Palladium Model 2 DB Config predict(X) ŷ • Unified model management (Python, R, Julia) Palladium allows fitting, storing, loading, distributing, versioning of models; metadata management; using scikit-learn’s interfaces • Generation of operative predictive services Provisioning of models as web services • Flexibility It is possible to quickly set up new services via configuration and interfaces • Automated update Update of a service‘s data / models in configurable intervals • Scalability Easy distribution and scalability of predictive services via Docker containers and integration to load balancer
  • 5. 5 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Agenda 1 Introduction 2 Architecture 3 Example: Setting up a classification service 4 Deployment with Docker and Mesos / Marathon 5 Summary
  • 6. 6 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Architecture Fitting and evaluating models Application of models Load Balancer host/service/v1.1/predict?feat1=blue&feat2=38.0“class A” “Service User” Model DB Testing Data Train Server model Training Data Server 1 Predict Node model Server 2 Server 3
  • 7. 7 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Architecture Flexible integration of Authentication, Logging and Monitoring Fitting and evaluating models Application of models Model DB Testing Data Server 1 Server 2 Load Balancer Server 3 host/service/v1.1/predict?feat1=blue&feat2=38.0&access_token=a Train Server “class A” “Service User” model model Training Data Predict Node OAuth2-ServerMonitoring Service
  • 8. 8 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Flexible Structure via Interfaces Palladium‘s config dataset loader train CSV Loader DB Connection grid search param1: [a, b] param2: [1.0, 2.0] model persister File Persister DB Persister predict service /predict?feat1=0.1 → {"class": "cat"} model Support Vector Classifier Logistic Regression dataset loader test CSV Loader DB Connection
  • 9. 9 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Agenda 1 Introduction 2 Architecture 3 Example: Setting up a classification service 4 Deployment with Docker and Mesos / Marathon 5 Summary
  • 10. 10 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Example: Iris Classification sepal length: 5.2 sepal width: 3.5 petal length: 1.5 petal width: 0.2 Iris-setosa Iris-versicolor Iris-virginica ? 5.2,3.5,1.5,0.2,Iris-setosa 4.3,3.0,1.1,0.1,Iris-setosa 5.6,3.0,4.5,1.5,Iris-versicolor 6.3,3.3,6.0,2.5,Iris-virginica 5.1,3.8,1.5,0.3,Iris-setosa ... Training & test data Palladium Predict Server http://localhost:5000/predict? sepal length=5.2&sepal width=3.5& petal length=1.5&petal width=0.2 {"result": "Iris-virginica", "metadata":{ "service_name": "iris", "service_version": "0.1", "error_code": 0, "status": "OK"}}
  • 11. 11 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration and Corresponding Classes 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, DatasetLoader DatasetLoader Model (→sklearn.base.BaseEstimator) sklearn.grid_search.GridSearchCV ModelPersister PredictService
  • 12. 12 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, '__factory__': 'palladium.dataset.Table', 'path': 'iris.data', 'names': [ 'sepal length', 'sepal width', 'petal length', 'petal width', 'species', ], 'target_column': 'species', 'sep': ',', 'nrows': 100,
  • 13. 13 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, '__factory__': 'palladium.dataset.Table', 'path': 'iris.data', 'names': [ 'sepal length', 'sepal width', 'petal length', 'petal width', 'species', ], 'target_column': 'species', 'sep': ',', 'skiprows': 100,
  • 14. 14 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, '__factory__': 'sklearn.tree. DecisionTreeClassifier', 'min_samples_leaf': 1,
  • 15. 15 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, 'param_grid': { 'min_samples_leaf': [1, 2, 3], }, 'verbose': 4, 'n_jobs': -1,
  • 16. 16 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, '__factory__': 'palladium.persistence.File', 'path': 'iris-model-{version}',
  • 17. 17 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Configuration 'dataset_loader_train': {...}, 'dataset_loader_test': {...}, 'model': {...}, 'grid_search': {...}, 'model_persister': {...}, 'predict_service': {...}, '__factory__': 'palladium.server. PredictService', 'mapping': [ ('sepal length', 'float'), ('sepal width', 'float'), ('petal length', 'float'), ('petal width', 'float'), ],
  • 18. 18 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Fitting and Testing Models • Script for fitting models: pld-fit • Loads training data • Fits model (using specified estimator) • Stores model + metadata • Option to evaluate model on validation set (--evaluate) INFO:palladium:Loading data... INFO:palladium:Loading data done in 0.010 sec. INFO:palladium:Fitting model... INFO:palladium:Fitting model done in 0.001 sec. INFO:palladium:Writing model... INFO:palladium:Writing model done in 0.039 sec. INFO:palladium:Wrote model with version 8.
  • 19. 19 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Fitting and Testing Models • Script for testing different parameters: pld-grid-search • Loads training data • Splits training data in folds (cross validation) • Creates runs for all parameter-fold combinations • Reports results for different settings INFO:palladium:Loading data... INFO:palladium:Loading data done in 0.004 sec. INFO:palladium:Running grid search... Fitting 3 folds for each of 3 candidates, totalling 9 fits ... [Parallel(n_jobs=-1)]: Done 9 out of 9 | elapsed: 0.1s finished INFO:palladium:Running grid search done in 0.041 sec. INFO:palladium: [mean: 0.93000, std: 0.03827, params: {'min_samples_leaf': 2}, mean: 0.92000, std: 0.02902, params: {'min_samples_leaf': 1}, mean: 0.92000, std: 0.02902, params: {'min_samples_leaf': 3}]
  • 20. 20 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Fitting and Testing Models • Script for testing models: pld-test • Loads test data • Applies model to test data • Reports results (e.g., accuracy) INFO:palladium:Loading data... INFO:palladium:Loading data done in 0.003 sec. INFO:palladium:Reading model... INFO:palladium:Reading model done in 0.000 sec. INFO:palladium:Applying model... INFO:palladium:Applying model done in 0.001 sec. INFO:palladium:Score: 0.92.
  • 21. 21 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Deploying and Applying Models • Built-in script for providing models: pld-devserver • Using Flask’s web server • Recommended to use WSGI container / web server, e.g., gunicorn / nginx • Predict server • Loads model (model persister) • Schedule for model updates • Provides web service entry points (“predict”, “alive”) /alive /predict
  • 22. 22 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Testing Service Overhead (1 CPU) Including prediction of Iris model; using Flask‘s develop server ab -n 1000 "http://localhost:4999/predict?sepal%20length=5.2&sepal%20width= 3.5&petal%20length=1.5&petal%20width=0.2" Time taken for tests: 1.217 seconds Complete requests: 1000 Failed requests: 0 Total transferred: 273000 bytes HTML transferred: 112000 bytes Requests per second: 821.82 [#/sec] (mean) Time per request: 1.217 [ms] (mean) Time per request: 1.217 [ms] (mean, across all concurrent requests) Transfer rate: 219.10 [Kbytes/sec] received (Intel(R) Xeon(R) CPU E5-2667 0 @ 2.90GHz)
  • 23. 23 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Extensions • Dynamic instantiation of objects (not only for provided interfaces) • “__factory__” entries are instantiated on config initialization (using resolve_dotted_name) and can be accessed via get_config()[‘name’] • Parameters are passed to constructor • Extension using decorators • A list of decorators can be set to wrap different calls (predict, fit, update model) • Can be used, e.g., for authentication or monitoring of “predict” calls 'predict_decorators': [ 'my_oauth2.authorization', 'my_monitoring.log', ], 'model': { '__factory__': 'sklearn.tree.DecisionTreeClassifier', 'min_samples_leaf': 1, },
  • 24. 24 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Extensions (2) • Own implementation of PredictService can be set in config, e.g., to adapt response format or to define own way how sample is created from request • Here we add a prediction_id to the response: class MyPredictService(PredictService): def response_from_prediction(self, y_pred, single=True): result = y_pred.tolist() metadata = get_metadata() metadata.update({'prediction_id': str(uuid.uuid1())}) if single: result = result[0] response = { 'metadata': metadata, 'result': result, } return make_ujson_response(response, status_code=200)
  • 25. 25 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Agenda 1 Introduction 2 Architecture 3 Example: Setting up a classification service 4 Deployment with Docker and Mesos / Marathon 5 Summary
  • 26. 26 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Docker, Mesos & Marathon • Docker is a platform for the creation, distribution, and execution of applications • Lightweight environment • Easy combination of components • Self-contained container including dependencies • Docker registry for deployment • Cluster framework Mesos provides resources, encapsulating details about used hardware • High scalability and robustness • Marathon (Mesosphere): Framework to launch and monitor services; used in combination with Mesos Source: https://www.docker.com/whatisdocker/ Sources: http://mesos.apache.org/ https://mesosphere.github.io/marathon/
  • 27. 27 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Docker Container Containers for and Deployment of Palladium Instances Palladium Code Application specific code Config Server 1 Server 2 Load Balancer Docker Container Palladium Code Application specific code Config Server 3 Service 1 Service 2 host/service/v1.0/predict?feat1=austria host/service/v1.1/predict?feat1=blue&feat2=38.0
  • 28. 28 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Automated generation of Docker images pld-dockerize • Script pld-dockerize creates Docker image for predictive analytics service • Example: pld-dockerize pld_codetalks ottogroup/palladium-base:1.0.1 alattner/iris-demo- tmp:0.1 • There exists an option to create only the Dockerfile without building the image (-d)
  • 29. 29 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Deploying via Mesos / Marathon Easy deployment: Referring to Docker image and specifying number of instances
  • 30. 30 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Deploying via Mesos / Marathon Palladium instances provide service after deployment
  • 31. 31 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Deploying via Mesos / Marathon Easy scaling via GUI if more or less Palladium instances are desired
  • 32. 32 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Deploying via Mesos / Marathon Easy scaling via GUI if more or less Palladium instances are desired
  • 33. 33 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Deploying via Mesos / Marathon Easy scaling via GUI if more or less Palladium instances are desired
  • 34. 34 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Summary • Palladium 1.0.1 is available at GitHub, PyPI, Anaconda (Linux) • Easy way to expose ML models as web services using scikit-learn’s interface • Mechanism for automated update of models • Script to automatically create Docker images for Palladium services • Easy integration of other relevant services via decorator lists • Authentication • Logging, monitoring • Support for models in other languages than Python: R (via rpy2), Julia (via pyjulia) • Test-driven development, 100% test coverage • Various Otto Group services have been realized with Palladium • We’d be happy to receive feedback, suggestions for improvements, or pull requests!
  • 35. 35 Setting up predictive analytics services with Palladium Andreas Lattner Otto Group BI Acknowledgment • Daniel Nouri (design & development) • Tim Dopke (Palladium + Docker, Mesos / Marathon) • Data Science Team of the Otto Group BI • Developers of used packages, e.g., • scikit-learn • numpy • scipy • pandas • flask • sqlalchemy • pytest • …
  • 36. Titel der Präsentation, Name, Abteilung, Ort, xx. Monat 2014 36 Thank you very much for your attention!