Machine Learning Kickstart — Training Workshop at PAPIs '17
Gain the skills to create ML 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.
Registration at papis.io/2017
- Understand the possibilities and limitations of ML, and know how to formulate your own ML problem
- 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.
Each 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
- Possibilities and example use cases
- [Hands-on] Formalizing your own ML problem
- Intuitions behind learning algorithms: Nearest Neighbors and Decision Trees
- [Hands-on] Introduction to Jupyter notebooks
- [Hands-on] Creating and interpreting Decision Trees with BigML (ML-as-a-Service tool) and scikit-learn (open source ML library)
- 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 BigML and scikit-learn
- [Hands-on] Improving prediction accuracy with ensembles of Decision Trees: Random Forests
- [Hands-on] Demo of cloud ML APIs: Indico and BigML
- [Hands-on] Deploying your own Python models as APIs with Microsoft Azure ML or Flask (open source library)
- Critical overview of open source and cloud ML products and deployment solutions
- Key take-aways
- Resources to go further
- Programming 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.
Louis Dorard © 2017