This is the page for a workshop I gave in 2018 introducing Machine Learning. I’m just keeping this around for archival purposes.


Welcome to Bootstrap ML, a two three hour introductory session to help you take your first steps in Machine Learning (ML), one of the most popular fields of our time. Your daily life is filled with applications and use cases which can be leveraged with ML and in this session we’ll learn how to identify them and map them to the ML domain.

The session is meant to be two-fold: the first part will provide you with a broad introduction to the field, a breakdown of the ML lingo, cover the most popular families of algorithms and typical scenarios in which they shine; during the second part we’ll hack through some of the problems which today can be solved very quickly with publicly available open source tools.


I expect everyone to have some notions of Linear Algebra, Statistics, Optimization and of course Programming. The course material doesn’t aim to go in-depth into the topics covered, but the it will always try to point out additional references so that everyone can further explore the topics of his/her preference.

Workshop Material

I’ve created a GitHub repository to host all material that will be developed for and during the workshop. The repository will be kept permanently online, even after the session takes place. Make use of GitHub’s watch feature in case you want to be notified of all updates the moment they’re out. I’ll (very) occasionally also update the blog with news pertaining this session (among other things) but tracking the repository will provide you with the same up-to-date information, with even more granularity.


As stated in the introduction, the second part of the session is of practical nature. It will involve a live walk-through on how to address and solve some interesting toy problems. We will be using Python 3.5+ and a small group of open source packages. To setup your environment for the practical session please check the instruction published here. In order to actively engage in this second part, I encourage everyone to complete the tutorial and test your development environment in advance so that you don’t risk getting blocked during the session.

Even thought the session has a practical component, you’re not required to actively take part in it. It is totally optional and it is perfectly OK to simply follow the session passively. All material will be publicly available after and I encourage you to try some of the problems yourself in your preferred work environment.


Information and knowledge are continuously evolving and this workshop is no different. I’m a strong open source endorser and I’ve experienced first-hand the benefits of opening things to public scrutiny. In the same spirit, I advise you to go through the course material and hack through it it.

Whether you think something is wrong, have a question or simply want to provide some feedback, open an issue on the issue tracker. Do want to submit a correction or extend the current material with other interesting things you’ve tried and experienced yourself? Open a new pull request.

I hope to evangelize some of you to the wonders of collaborative driven development which is the nature of most open source projects you know and use everyday.

Past Sessions