Machine Learning Overview

Course Overview

This course provides advanced-level training on Machine Learning applications developed with Python. Delegates will learn best practices for building and deploying Machine Learning products using Python and its rich ecosystem for scientific computing.

The course is intensive and intended for software developers and software engineers with a working knowledge of Python, who want to improve their proficiency in building data products.

The course should be appealing also to Data Scientists and Data Analysts with a basic knowledge of Python. With practical exercises and interactive discussions, the attendees have the opportunity to apply the proposed concepts on real Data Science applications, building predictive analytics software.


Data Scientists, Mathematicians, Quants or Data Analysts with a basic knowledge of Python.

Machine Learning Audience

Machine Learning and Predictive Analytics

Machine Learning is a field of computer science that gives computers the ability to learn without being explicitly programmed. Machine Learning algorithms can learn from, and make predictions on data.

With the wealth of data available today, companies can take advantage of Machine Learning techniques to gain actionable insights and ultimately improve their business.

Using scikit-learn, the core Machine Learning library for Python, attendees will learn how to implement Machine Learning systems to perform predictions on their data. We will also examine and use tools and frameworks such as the Open Source TensorFlow.

Data Exploration and Preprocessing

Data sets come in all sorts of formats and flavours. The first part of a Machine Learning project is understanding the data and the problem at hand.

Data cleaning, data transformation, and in general data pre-processing are the steps to perform in order to get the data sets in the right shape, so Machine Learning algorithms can learn from them. Python makes data exploration and preprocessing relatively easy.

Feature Engineering

By injecting domain knowledge in the process, attendees will learn how to extract attributes from the data and how to encode them into features that make Machine Learning algorithms work.

One of the core aspects of applied Machine Learning, feature engineering is difficult and timeconsuming. The quality and quantity of features can have a great impact on how Machine Learning algorithms can work.

Supervised Learning

In supervised learning, the training data consist of a set of training samples associated with a desired output label. Supervised learning algorithms can learn the desired output from the training data, and make a prediction on new, unseen data.

We'll approach supervised learning from two different directions: classification, the task of predicting a category, and regression, the task of predicting a quantity. Examples of applications include price prediction, spam detection and sentiment analysis.

Unsupervised Learning

In unsupervised learning, the training data is not labelled. Unsupervised learning algorithms analyse the data and find hidden structures within the data.

We'll approach unsupervised learning in particular from the point of view of a clustering application.

Examples of applications include social network analysis, customer segmentation or product recommendation.

Machine Learning Evaluation

Using the proper evaluation metrics, we can understand how well our algorithms are performing and we can compare the performances of different algorithms.

Attendees will learn about error analysis and model introspection, in order to “debug” and improve Machine Learning algorithms

Neural Networks and Deep Learning

Introduction to Artificial Neural Networks, a family of algorithms applicable to many Machine Learning problems, and relevant mathematical concepts. Discussion on Neural Network concepts like gradient descend, activation functions, loss functions and hyper-parameters.