From Lab to Factory
Keynote PyCon Colombia
All opinions my own
Who am I?
Data Scientist at Elevate (Recruitment Startup) and Author
About 5 years in Machine Learning/Data Science
OSS contributor (mostly PyMC3)
Built Ad-hoc analysis, Data Products and Data Pipelines at
There's a Data Science Spectrum
HT: Sean J. Taylor (Facebook Research Scientist)
Data Science to Value
Data doesn't do anything!
People need to make decisions (strategic/ tactical)
Or the product needs to alter someones decision making (Spotify
Discover Weekly, Amazon Recommendations, etc)
(Taken from Josh Wills talk - Lab to Factory 2014)
Data is the new oil...
But. Data isn't a product. It needs to be turned into one!
Data Science is hard
Data and technical problems
Skill set (emotional and tech)
Machine Learning Ops
Data Science projects are risky!
Many stakeholders think that data science is just an engineering problem,
but research is high risk and high reward
De-risking the project - how? Send me examples :)
Success with Data Science
Deploying Data Products is hard
Monitoring and Alerting
Real world data is tricky (training/ testing)
Interpretability (explaining fraud detection/ad tech)
Models decay over time
What projects work?
Explain existing data (visualization!)
Automate repetitive/ slow processes
Augment data to make new data (Search engines, ML models)
Predict the future (do something more accurately than gut feel )
Simulate using statistics :) (Sports analytics models)
"You need data ﬁrst" - Peadar Coyle
Copying and pasting PDF/PNG data
Getting data in some areas is hard!!
Some tools for web data extraction
Messy APIs without documentation :(
Visualise ALL THE THINGS!!
(Relay foods dataset - HT Greg Reda)
Consumer behaviour at a Fast Food Restaurant per year in the USA
Only 1% of your time will be spent modelling
Data pipelines and your infrastructure matters -
Tools such as Spark, Luigi, Airﬂow or Dask are important
Monitoring of pipelines. Scalability. Machine provision
Eoin Brazil Talk
Success Story (1)
1. Ad Tech project (Media company) -
original process took 10 hours per week of analyst time.
2. Broke down process and produced simple predictive model
3. Data type challenges (unicode in Python 2.7) and business
4. Now takes less than 30 minutes each week.
Success Story (2)
Elevate is a Total Talent Management platform (tools for streamlining
Several models in production - microservices (recommenders, job type
Data pipeline (Luigi) necessary for producing features
Lots of challenges about Docker, time, updated data.
Works: MyPy (Python 3.5), code review, testing -
Next: Moving to PySpark for ETL, more pair programming
1. Lack of support from tech teams
2. Lack of clearly deﬁned customer
3. No culture of DevOps
4. Management had no clear vision
Lessons learned from Lab to Factory
1. Monitoring - data products need evaluation in production
2. Lack of a shared language between software engineers and data
scientists. Pair programming/ Code review are some solutions.
3. To help data scientists and analysts succeed your business needs to be
prepared to invest in tooling. (Pipelines, DevOps, Reproducible)
4. Often you're working with other teams who use diﬀerent languages -
so micro services can be a good idea (example C#.net app and Python
How to deploy a model?
Palladium (Otto Group)
Flask Microservice (DIY) and Docker
Use small data where possible!!
Small problems with clean data are more important - (Ian Ozsvald)
Amazon machine with many Xeons and 244GB of RAM is less than 3
euros per hour. - (Ian Ozsvald)
Blaze, Xray, Dask, Ibis, etc etc -
"The mean size of a cluster will remain 1" - Matt Rocklin
Dirty data stops projects
Change happens, we need to help businesses adapt or be agile
There are some good projects like Icy, Luigi, etc for transforming data
and improving data extraction
- Google paper
on rule for building ML systems
Closing Remarks (2)
Stakeholder management is a challenge too
Send me your dirty data and data deployment stories :)