SlideShare a Scribd company logo
1 of 23
Download to read offline
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
Deploying Machine
Learning in Production
Alice Zheng and Shawn Scully, Dato
Strata + Hadoop World, London
May 2015
1	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
Evaluating Deployed
Machine Learning…
What could go wrong?
Alice Zheng and Shawn Scully, Dato
Strata + Hadoop World, London
May 2015
2	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
3	
  
Self introduction
•  Background
- Machine learning research
•  Now
- Build ML tools
- Teach folks how to use them
@RainyData, @DatoInc
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
4	
  
What is Dato?
•  A startup based in Seattle, Washington
•  Formerly named GraphLab
•  We built an ML platform for building and deploying apps
- Data engineering, ML modeling, deployment to production
- Graphs, tables, text, images
- Out of core processing for fast ML on large data
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
Demo: stratanow.dato.com
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
6	
  
What’s in an ML app?
•  An application that uses machine learning to make
predictions
MyData
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
7	
  
Machine learning deployment pipeline
Prototype	
  
model	
  
Historical	
  
data	
  
Deployed	
  
model	
  
PredicBons	
  
Online	
  
adapBve	
  
model	
  
New	
  	
  
request	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
8	
  
Machine learning evaluation
Prototype	
  
model	
  
Historical	
  
data	
  
Deployed	
  
model	
  
Online	
  
adapBve	
  
model	
  
PredicBons	
  
New	
  	
  
request	
  
Offline	
  
evaluaBon	
  
Online	
  
evaluaBon	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
9	
  
When/how to evaluate ML
•  Offline evaluation
- Evaluate on historical labeled data
•  Online evaluation
- A/B testing – split off a portion of incoming requests (B) to
evaluate new deployment, use the rest as control group (A)
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
Evaluating ML—What Could Go Wrong?
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
11	
  
Evaluation metrics
•  Classification
- Accuracy, precision-recall, AUC, log-loss, etc.
•  Ranking
- Precision-recall, DCG/NDCG, etc.
•  Regression
- RMSE, error quantiles, max error, etc.
•  Online models
- Online loss (error of current model on current example)
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
12	
  
Which metric?
•  Offline metric != business metric
- Business metric: customer lifetime value
•  How long does the customer stay on your site?
•  How much more do you sell?
- Which offline metric does it correspond to?
•  Say you are building a recommender
- “How well can I predict ratings?”
- Customer sees the first few recommended items
- Ranking metric is better than rating regression
•  Track both business and ML metrics to see if they correlate
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
13	
  
Watch out for imbalanced datasets!
Accuracy	
  
100%	
  
99%	
  
accuracy!	
  
98%	
  baseline.	
  Doh!	
  
True	
  pos	
  rate	
  
100%	
  
false	
  pos	
  rate	
  100%	
  
Nice	
  
ROC	
  curve!	
  
You	
  have	
  5	
  posiBve	
  
examples	
  out	
  of	
  10K.	
  So	
  the	
  
important	
  region	
  is	
  only	
  this	
  
big.	
  Doh!	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
14	
  
Watch out for rare classes!
When averaging statistics from multiple sources, watch out for different
confidence intervals.
Alice	
   Correct	
  recommendaBons	
  
All	
  relevant	
  items	
  
Bob	
  
Catherine	
  
Zoe	
  
…	
  
Average	
  =	
  0.12	
  
StaBsBcally	
  problemaBc	
  
average	
  of	
  quanBBes	
  of	
  
varying	
  confidence	
  
Confidence	
  interval	
  of	
  esBmate	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
15	
  
A/B testing: T-tests
•  Statistical hypothesis testing
- Is population 1 significantly different from population 0?
•  T-tests: are the means of the two populations equal?
•  Procedure:
- Pick significance level α
- Compute test statistic
- Compute p-value (probability of test statistic under the null
hypothesis)
- Reject the null hypothesis if p-value is less than α
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
16	
  
A/B testing: T-tests
•  Student’s t-test assumes variances are equal
I’m	
  a	
  happy	
  	
  
Gaussian	
  
I’m	
  another	
  	
  
happy	
  Gaussian	
  
Click-­‐through	
  rate	
  
Variance	
  A	
  
Variance	
  B	
  
IdealisBc	
  picture	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
17	
  
A/B testing: T-tests
•  Welch’s t-test doesn’t assume variances are equal
I’m	
  a	
  happy	
  	
  
Gaussian	
  
I’m	
  another	
  	
  
happy	
  Gaussian	
  
Click-­‐through	
  rate	
  
Variance	
  A	
  
Variance	
  B	
  
RealisBc	
  picture	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
18	
  
A/B testing: How long to run the test?
•  Run the test until you see a significant difference?
-  Wrong! Don’t do this.
•  Statistical tests directly control for false positive rate (significance)
-  With probability 1-α, Population 1 is different from Population 0
•  The statistical power of a test controls for the false negative rate
-  How many observations do I need to discern a difference of δ between the
means with power 0.8 and significance 0.05?
•  Determine how many observations you need before you start the
test
-  Pick the power β, significance α, and magnitude of difference δ
-  Calculate n, the number of observations needed
-  Don’t stop the test until you’ve made this many observations
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
19	
  
A/B testing:
The conundrum of multiple hypotheses
•  You are testing 20 models at the same time …
- … each of them has a 5% chance of being a fluke
- … on average, expect at least one fluke in this suite of tests
•  Adjust the acceptance level when testing multiple
hypotheses
- Bonferroni correction for false discovery rates
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
20	
  
A/B testing: Separation of experiences
•  How well did you split off group B?
Homepage	
   New	
  homepage	
  
Group	
  A	
   Group	
  B	
  
My	
  
budon	
  
My	
  
budon	
  
Second	
  page	
  
My	
  
budon	
  
Second	
  page	
  
My	
  
budon	
  
Unclean	
  
separaBon	
  of	
  
experiences!	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
21	
  
A/B testing: The shock of newness
•  People hate change
-  Why is my button now blue??
•  Wait until the “shock of newness” wears off, then measure
•  Some population of users are forever wedded to old ways
-  Consider obtaining a fresh population
Click-­‐through	
  rate	
  
The	
  shock	
  of	
  
newness	
  
t0	
  
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
22	
  
Distribution drift
•  Trends and user taste changes over time
- “I liked house music 10 years ago. Now I like jazz.”
•  Models become out of date
- When to update the model?
•  Do both online and offline evaluation
- Monitor correlation
- Also useful for tracking business metrics vs. evaluation metrics
Dato	
  Inc.	
  Strata	
  +	
  Hadoop	
  World,	
  London,	
  2015	
  	
  
23	
  
Conclusions
•  Machine learning are useful in making smart apps
•  Evaluating ML models in production is tricky
•  Summary of tips:
- Pick the right metrics
- Monitor offline and online behavior, track their correlation
- Be really careful with A/B testing
	
  @RainyData,	
  @DatoInc	
  

More Related Content

What's hot

SplunkLive! Prelert Session - Extending Splunk with Machine Learning
SplunkLive! Prelert Session - Extending Splunk with Machine LearningSplunkLive! Prelert Session - Extending Splunk with Machine Learning
SplunkLive! Prelert Session - Extending Splunk with Machine Learning
Splunk
 

What's hot (15)

Drippler's A/B test library
Drippler's A/B test libraryDrippler's A/B test library
Drippler's A/B test library
 
Drifting Away: Testing ML Models in Production
Drifting Away: Testing ML Models in ProductionDrifting Away: Testing ML Models in Production
Drifting Away: Testing ML Models in Production
 
Experimentation Platform at Netflix
Experimentation Platform at NetflixExperimentation Platform at Netflix
Experimentation Platform at Netflix
 
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
 
Why everything is an A/B Test at Pinterest
Why everything is an A/B Test at PinterestWhy everything is an A/B Test at Pinterest
Why everything is an A/B Test at Pinterest
 
A Fast Decision Rule Engine for Anomaly Detection
A Fast Decision Rule Engine for Anomaly DetectionA Fast Decision Rule Engine for Anomaly Detection
A Fast Decision Rule Engine for Anomaly Detection
 
DutchMLSchool. ML Automation
DutchMLSchool. ML AutomationDutchMLSchool. ML Automation
DutchMLSchool. ML Automation
 
Predictive Analytics Project in Automotive Industry
Predictive Analytics Project in Automotive IndustryPredictive Analytics Project in Automotive Industry
Predictive Analytics Project in Automotive Industry
 
Robust approach to machine learning models comparison - Dmitry Larko, Sr. Dat...
Robust approach to machine learning models comparison - Dmitry Larko, Sr. Dat...Robust approach to machine learning models comparison - Dmitry Larko, Sr. Dat...
Robust approach to machine learning models comparison - Dmitry Larko, Sr. Dat...
 
Machine Learning Goes Production
Machine Learning Goes ProductionMachine Learning Goes Production
Machine Learning Goes Production
 
Agile Data Science
Agile Data ScienceAgile Data Science
Agile Data Science
 
ICST/NEXTA2020: Experience Report on Test Automation Process Improvement
ICST/NEXTA2020: Experience Report on Test Automation Process ImprovementICST/NEXTA2020: Experience Report on Test Automation Process Improvement
ICST/NEXTA2020: Experience Report on Test Automation Process Improvement
 
Scientific Revenue USF 2016 talk
Scientific Revenue USF 2016 talkScientific Revenue USF 2016 talk
Scientific Revenue USF 2016 talk
 
A comprehensive guide on the uses of MATALAB
A comprehensive guide on the uses of MATALABA comprehensive guide on the uses of MATALAB
A comprehensive guide on the uses of MATALAB
 
SplunkLive! Prelert Session - Extending Splunk with Machine Learning
SplunkLive! Prelert Session - Extending Splunk with Machine LearningSplunkLive! Prelert Session - Extending Splunk with Machine Learning
SplunkLive! Prelert Session - Extending Splunk with Machine Learning
 

Similar to Deploying ml

5. big data vs it stki - pini cohen
5. big data vs  it    stki - pini cohen5. big data vs  it    stki - pini cohen
5. big data vs it stki - pini cohen
Taldor Group
 
20151008 REx Predictive presentation v 1 0 - distributed
20151008 REx Predictive presentation v 1 0 - distributed20151008 REx Predictive presentation v 1 0 - distributed
20151008 REx Predictive presentation v 1 0 - distributed
Jefferson Lynch
 
Workshop_CITA2015
Workshop_CITA2015Workshop_CITA2015
Workshop_CITA2015
Bebo White
 

Similar to Deploying ml (20)

Hardcore Data Science - in Practice
Hardcore Data Science - in PracticeHardcore Data Science - in Practice
Hardcore Data Science - in Practice
 
Building Custom
Machine Learning Algorithms
with Apache SystemML
Building Custom
Machine Learning Algorithms
with Apache SystemMLBuilding Custom
Machine Learning Algorithms
with Apache SystemML
Building Custom
Machine Learning Algorithms
with Apache SystemML
 
Building Custom Machine Learning Algorithms With Apache SystemML
Building Custom Machine Learning Algorithms With Apache SystemMLBuilding Custom Machine Learning Algorithms With Apache SystemML
Building Custom Machine Learning Algorithms With Apache SystemML
 
From Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemFrom Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender system
 
PQF Overview
PQF OverviewPQF Overview
PQF Overview
 
Machine learning in production
Machine learning in productionMachine learning in production
Machine learning in production
 
5. big data vs it stki - pini cohen
5. big data vs  it    stki - pini cohen5. big data vs  it    stki - pini cohen
5. big data vs it stki - pini cohen
 
Data science tools - A.Marchev and K.Haralampiev
Data science tools - A.Marchev and K.HaralampievData science tools - A.Marchev and K.Haralampiev
Data science tools - A.Marchev and K.Haralampiev
 
Big Data Analytics for BI, BA and QA
Big Data Analytics for BI, BA and QABig Data Analytics for BI, BA and QA
Big Data Analytics for BI, BA and QA
 
ODSC East 2020 : Continuous_learning_systems
ODSC East 2020 : Continuous_learning_systemsODSC East 2020 : Continuous_learning_systems
ODSC East 2020 : Continuous_learning_systems
 
Machine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersMachine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional Managers
 
Building Continuous Learning Systems
Building Continuous Learning SystemsBuilding Continuous Learning Systems
Building Continuous Learning Systems
 
Building a Recommendation Engine - A Balancing act
Building a Recommendation Engine - A Balancing actBuilding a Recommendation Engine - A Balancing act
Building a Recommendation Engine - A Balancing act
 
Lecture 4: How do we MINE, ANALYSE & VISUALISE the Social Web? (VU Amsterdam ...
Lecture 4: How do we MINE, ANALYSE & VISUALISE the Social Web? (VU Amsterdam ...Lecture 4: How do we MINE, ANALYSE & VISUALISE the Social Web? (VU Amsterdam ...
Lecture 4: How do we MINE, ANALYSE & VISUALISE the Social Web? (VU Amsterdam ...
 
Top Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama SoftwareTop Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama Software
 
20151008 REx Predictive presentation v 1 0 - distributed
20151008 REx Predictive presentation v 1 0 - distributed20151008 REx Predictive presentation v 1 0 - distributed
20151008 REx Predictive presentation v 1 0 - distributed
 
A6 big data_in_the_cloud
A6 big data_in_the_cloudA6 big data_in_the_cloud
A6 big data_in_the_cloud
 
Digital analytics: Optimization (Lecture 10)
Digital analytics: Optimization (Lecture 10)Digital analytics: Optimization (Lecture 10)
Digital analytics: Optimization (Lecture 10)
 
Workshop_CITA2015
Workshop_CITA2015Workshop_CITA2015
Workshop_CITA2015
 
Continuous Learning Systems: Building ML systems that learn from their mistakes
Continuous Learning Systems: Building ML systems that learn from their mistakesContinuous Learning Systems: Building ML systems that learn from their mistakes
Continuous Learning Systems: Building ML systems that learn from their mistakes
 

More from Turi, Inc.

Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Turi, Inc.
 
Machine Learning in Production with Dato Predictive Services
Machine Learning in Production with Dato Predictive ServicesMachine Learning in Production with Dato Predictive Services
Machine Learning in Production with Dato Predictive Services
Turi, Inc.
 

More from Turi, Inc. (20)

Webinar - Analyzing Video
Webinar - Analyzing VideoWebinar - Analyzing Video
Webinar - Analyzing Video
 
Webinar - Patient Readmission Risk
Webinar - Patient Readmission RiskWebinar - Patient Readmission Risk
Webinar - Patient Readmission Risk
 
Webinar - Know Your Customer - Arya (20160526)
Webinar - Know Your Customer - Arya (20160526)Webinar - Know Your Customer - Arya (20160526)
Webinar - Know Your Customer - Arya (20160526)
 
Webinar - Product Matching - Palombo (20160428)
Webinar - Product Matching - Palombo (20160428)Webinar - Product Matching - Palombo (20160428)
Webinar - Product Matching - Palombo (20160428)
 
Webinar - Pattern Mining Log Data - Vega (20160426)
Webinar - Pattern Mining Log Data - Vega (20160426)Webinar - Pattern Mining Log Data - Vega (20160426)
Webinar - Pattern Mining Log Data - Vega (20160426)
 
Webinar - Fraud Detection - Palombo (20160428)
Webinar - Fraud Detection - Palombo (20160428)Webinar - Fraud Detection - Palombo (20160428)
Webinar - Fraud Detection - Palombo (20160428)
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
 
Pattern Mining: Extracting Value from Log Data
Pattern Mining: Extracting Value from Log DataPattern Mining: Extracting Value from Log Data
Pattern Mining: Extracting Value from Log Data
 
Intelligent Applications with Machine Learning Toolkits
Intelligent Applications with Machine Learning ToolkitsIntelligent Applications with Machine Learning Toolkits
Intelligent Applications with Machine Learning Toolkits
 
Text Analysis with Machine Learning
Text Analysis with Machine LearningText Analysis with Machine Learning
Text Analysis with Machine Learning
 
Machine Learning with GraphLab Create
Machine Learning with GraphLab CreateMachine Learning with GraphLab Create
Machine Learning with GraphLab Create
 
Machine Learning in Production with Dato Predictive Services
Machine Learning in Production with Dato Predictive ServicesMachine Learning in Production with Dato Predictive Services
Machine Learning in Production with Dato Predictive Services
 
Machine Learning in 2016: Live Q&A with Carlos Guestrin
Machine Learning in 2016: Live Q&A with Carlos GuestrinMachine Learning in 2016: Live Q&A with Carlos Guestrin
Machine Learning in 2016: Live Q&A with Carlos Guestrin
 
Scalable data structures for data science
Scalable data structures for data scienceScalable data structures for data science
Scalable data structures for data science
 
Introduction to Deep Learning for Image Analysis at Strata NYC, Sep 2015
Introduction to Deep Learning for Image Analysis at Strata NYC, Sep 2015Introduction to Deep Learning for Image Analysis at Strata NYC, Sep 2015
Introduction to Deep Learning for Image Analysis at Strata NYC, Sep 2015
 
Introduction to Recommender Systems
Introduction to Recommender SystemsIntroduction to Recommender Systems
Introduction to Recommender Systems
 
Overview of Machine Learning and Feature Engineering
Overview of Machine Learning and Feature EngineeringOverview of Machine Learning and Feature Engineering
Overview of Machine Learning and Feature Engineering
 
SFrame
SFrameSFrame
SFrame
 
Building Personalized Data Products with Dato
Building Personalized Data Products with DatoBuilding Personalized Data Products with Dato
Building Personalized Data Products with Dato
 
Getting Started With Dato - August 2015
Getting Started With Dato - August 2015Getting Started With Dato - August 2015
Getting Started With Dato - August 2015
 

Recently uploaded

Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
amitlee9823
 
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
karishmasinghjnh
 
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
amitlee9823
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 

Recently uploaded (20)

Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
👉 Amritsar Call Girl 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Phone No Amri...
 
hybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptxhybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptx
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 

Deploying ml

  • 1. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     Deploying Machine Learning in Production Alice Zheng and Shawn Scully, Dato Strata + Hadoop World, London May 2015 1  
  • 2. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     Evaluating Deployed Machine Learning… What could go wrong? Alice Zheng and Shawn Scully, Dato Strata + Hadoop World, London May 2015 2  
  • 3. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     3   Self introduction •  Background - Machine learning research •  Now - Build ML tools - Teach folks how to use them @RainyData, @DatoInc
  • 4. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     4   What is Dato? •  A startup based in Seattle, Washington •  Formerly named GraphLab •  We built an ML platform for building and deploying apps - Data engineering, ML modeling, deployment to production - Graphs, tables, text, images - Out of core processing for fast ML on large data
  • 5. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     Demo: stratanow.dato.com
  • 6. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     6   What’s in an ML app? •  An application that uses machine learning to make predictions MyData
  • 7. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     7   Machine learning deployment pipeline Prototype   model   Historical   data   Deployed   model   PredicBons   Online   adapBve   model   New     request  
  • 8. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     8   Machine learning evaluation Prototype   model   Historical   data   Deployed   model   Online   adapBve   model   PredicBons   New     request   Offline   evaluaBon   Online   evaluaBon  
  • 9. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     9   When/how to evaluate ML •  Offline evaluation - Evaluate on historical labeled data •  Online evaluation - A/B testing – split off a portion of incoming requests (B) to evaluate new deployment, use the rest as control group (A)
  • 10. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     Evaluating ML—What Could Go Wrong?
  • 11. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     11   Evaluation metrics •  Classification - Accuracy, precision-recall, AUC, log-loss, etc. •  Ranking - Precision-recall, DCG/NDCG, etc. •  Regression - RMSE, error quantiles, max error, etc. •  Online models - Online loss (error of current model on current example)
  • 12. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     12   Which metric? •  Offline metric != business metric - Business metric: customer lifetime value •  How long does the customer stay on your site? •  How much more do you sell? - Which offline metric does it correspond to? •  Say you are building a recommender - “How well can I predict ratings?” - Customer sees the first few recommended items - Ranking metric is better than rating regression •  Track both business and ML metrics to see if they correlate
  • 13. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     13   Watch out for imbalanced datasets! Accuracy   100%   99%   accuracy!   98%  baseline.  Doh!   True  pos  rate   100%   false  pos  rate  100%   Nice   ROC  curve!   You  have  5  posiBve   examples  out  of  10K.  So  the   important  region  is  only  this   big.  Doh!  
  • 14. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     14   Watch out for rare classes! When averaging statistics from multiple sources, watch out for different confidence intervals. Alice   Correct  recommendaBons   All  relevant  items   Bob   Catherine   Zoe   …   Average  =  0.12   StaBsBcally  problemaBc   average  of  quanBBes  of   varying  confidence   Confidence  interval  of  esBmate  
  • 15. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     15   A/B testing: T-tests •  Statistical hypothesis testing - Is population 1 significantly different from population 0? •  T-tests: are the means of the two populations equal? •  Procedure: - Pick significance level α - Compute test statistic - Compute p-value (probability of test statistic under the null hypothesis) - Reject the null hypothesis if p-value is less than α
  • 16. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     16   A/B testing: T-tests •  Student’s t-test assumes variances are equal I’m  a  happy     Gaussian   I’m  another     happy  Gaussian   Click-­‐through  rate   Variance  A   Variance  B   IdealisBc  picture  
  • 17. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     17   A/B testing: T-tests •  Welch’s t-test doesn’t assume variances are equal I’m  a  happy     Gaussian   I’m  another     happy  Gaussian   Click-­‐through  rate   Variance  A   Variance  B   RealisBc  picture  
  • 18. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     18   A/B testing: How long to run the test? •  Run the test until you see a significant difference? -  Wrong! Don’t do this. •  Statistical tests directly control for false positive rate (significance) -  With probability 1-α, Population 1 is different from Population 0 •  The statistical power of a test controls for the false negative rate -  How many observations do I need to discern a difference of δ between the means with power 0.8 and significance 0.05? •  Determine how many observations you need before you start the test -  Pick the power β, significance α, and magnitude of difference δ -  Calculate n, the number of observations needed -  Don’t stop the test until you’ve made this many observations
  • 19. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     19   A/B testing: The conundrum of multiple hypotheses •  You are testing 20 models at the same time … - … each of them has a 5% chance of being a fluke - … on average, expect at least one fluke in this suite of tests •  Adjust the acceptance level when testing multiple hypotheses - Bonferroni correction for false discovery rates
  • 20. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     20   A/B testing: Separation of experiences •  How well did you split off group B? Homepage   New  homepage   Group  A   Group  B   My   budon   My   budon   Second  page   My   budon   Second  page   My   budon   Unclean   separaBon  of   experiences!  
  • 21. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     21   A/B testing: The shock of newness •  People hate change -  Why is my button now blue?? •  Wait until the “shock of newness” wears off, then measure •  Some population of users are forever wedded to old ways -  Consider obtaining a fresh population Click-­‐through  rate   The  shock  of   newness   t0  
  • 22. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     22   Distribution drift •  Trends and user taste changes over time - “I liked house music 10 years ago. Now I like jazz.” •  Models become out of date - When to update the model? •  Do both online and offline evaluation - Monitor correlation - Also useful for tracking business metrics vs. evaluation metrics
  • 23. Dato  Inc.  Strata  +  Hadoop  World,  London,  2015     23   Conclusions •  Machine learning are useful in making smart apps •  Evaluating ML models in production is tricky •  Summary of tips: - Pick the right metrics - Monitor offline and online behavior, track their correlation - Be really careful with A/B testing  @RainyData,  @DatoInc