This is a training workshop taking place before the main conference. It will be given in a classroom of up to 20 persons only, to maximize interaction and so you can ask even more questions than in a conference setting.-----
Gain the skills to create Machine Learning models and use them in your applications, with open source libraries and cloud platforms. In this workshop, we'll demystify Machine Learning, you'll gain an understanding of its possibilities and limitations, and how to put it to work on real problems. You'll learn to create, evaluate and deploy ML models. We'll adopt a top-down, results-first and experimentation-driven approach.
Learning objectives- Understand the possibilities and limitations of ML
- Understand the main ideas behind the most widely used learning algorithms in the industry: decision trees and random forests
- Know how to build predictive models from data, analyze their performance and deploy to production with APIs.
ProgramEach section contains theory and hands-on demos/exercises (where students can reproduce at the same time on their own laptops).
Introduction to Machine Learning
- Key ML concepts and terminology
- Formalizing supervised learning problems: classification and regression
- Possibilities and example use cases (web applications, mobile, enterprise data science)
Model creation
- Intuitions behind learning algorithms: Nearest Neighbors and Decision Trees
- [Hands-on] Introduction to Jupyter notebooks
- [Hands-on] Creating and interpreting Decision Trees with scikit-learn (open source ML library) and BigML (ML-as-a-Service tool), on classification and regression datasets
Evaluation
- Performance criteria for ML models and evaluation procedure
- Aggregate metrics for regression (MAE, MSE, R-squared, MAPE) and classification (accuracy, confusion and cost matrices)
- [Hands-on] Evaluating models with Python, scikit-learn and BigML on previous datasets
- [Hands-on] Improving prediction accuracy with ensembles of Decision Trees: Random Forests
- [Hands-on] Embracing randomness with cross-validation
Deployment
- [Hands-on] Why and how to use REST APIs for ML use in production
- [Hands-on] Deploying your own Python models as APIs with the Flask library
- [Hands-on] Using your API to fill in missing values in a spreadsheet program
Conclusions
- Recap of key take-aways
- Resources to go further
Student requirementsProgramming experience and basic knowledge of the Python syntax. Code will be provided for students to replicate what will be shown during hands-on demos. Please consult Codeacademy's
Learn Python and Robert Johansson's
Introduction to Python programming (in particular the following sections:
Python program files, Modules, Assignment, Fundamental types, Control Flow et
Functions) to learn or revise Python's basics.
- Basic maths knowledge (undergraduate level) will be useful to better understand some of the theory behind learning algorithms, but it isn’t a hard requirement.
- Own laptop to bring for hands-on practical work.