A practical introduction on how to create online Machine Learning models able to train one data point at the time processing streaming data

Photo by on

Online Learning

Online Learning, is a subset of Machine Learning which emphasizes the fact that data generated from environments can change over time.

In fact, traditional Machine Learning models are instead considered to be static: once a model is trained on a set of data it’s parameters don’t change any more. Although, an environment and it’s generated data might change over time making, therefore, our pre-trained model not reliable anymore.

One simple solution which is commonly used by companies in order to solve these problems is to retrain and deploy an updated version of the Machine Learning model automatically once the performance…

A practical introduction to creating and optimizing Reinforcement Learning agents using Open AI Gym and Ray Python libraries

(Image Reproduced from )


is an open-source interface for typical Reinforcement Learning (RL) tasks. Using Open AI Gym can, therefore, become really easy to get started with Reinforcement Learning since we are already provided with a wide variety of different environments and agents. All we have been left to do is to code up different algorithms and test them in order to make our agent learn how to accomplish in the best possible way different tasks (as we will see later, this can easily be done using ). …

Demystifying some of the main concepts and terminologies associated with Reinforcement Learning and their association with other fields of AI

Reinforcement Learning Application Example
Reinforcement Learning Application Example
Photo by on


Today, Artificial Intelligence (AI) has undergone impressive advancements. AI can be subdivided into three different levels according to the ability of machines to perform intellectual tasks logically and independently:

  • Narrow AI: machines are more efficient than humans in performing very specific tasks (but not trying to perform other types of tasks).
  • General AI: machines are as intelligent as human beings.
  • Strong AI: machines perform better than humans in different ambit (in tasks that we might or not be able to perform at all).

Right now, thanks to Machine Learning, we have been able to achieve good competency at the Narrow…

Using Reveal.js and D3.js in order to create interactive online data science presentations

Photo by on


Being able to summarise data science projects and show their potential business benefits can play a really important role in securing new customers and make it easier for non-technical audiences to understand some key design concepts.

In this article, I am going to introduce you to two free programming frameworks which can be used in order to create interactive online presentations and data-based storytelling reports.


is an open-source presentation framework completely built on open web technologies. Using Reveal.js, can then be possible to easily create web-based presentations and to export them in other formats such as PDF.

Some of…

Hands-on Tutorials

Using Data Science and Machine Learning even when there is no data available.

Photo by on


One of the main limitations of the current state of Machine Learning and Deep Learning, is the constant need for new data. Although, how it can be possible then to make estimates and predictions for situations in which we don’t have any data available? This can in fact be more common than we would normally think.

As an example, let’s consider a thought experiment: we are working as a Data Scientist for a local authority and we are asked to find a way in order to optimise how the evacuation plan should work in case of a natural disaster (e.g…


Introduction to some of the most promising programming languages for Data Science and Cloud Development

Photo by on


As of 2020, there are about 700 programming languages available [1]. Some of these tend to be applied just for specific domains while others are widely appreciated for their ability to be able to work in a wide range of applications. During the past decade, there has been an almost steady growth in the application of software and new languages have been developed in order to meet the demand. In this article, we are going to explore some of the most currently used programming languages and potential new stars in the ambit of Data Science and Cloud Development.

Deciding to…

A guide through the foundations of cloud technology and its applications in Data Science

Photo by on


Nowadays, more and more companies are moving to developing and deploying applications in cloud-based environments. One of the main motivations for cloud computing is that it gets rid of all the problematics associated with setting up and managing the used hardware and software. This is accomplished by remotely renting computer resources available in data centres maintained by a Cloud provider.

In this way, companies and individuals can make use remotely of the hardware and software setups and workflows provided by different cloud providers without having to worry about buying the equipment, set up different environments and maintain them over time…

Getting Started

A collection of a few interesting techniques which can be used in order to visualise different aspects of the Machine Learning pipeline.


As part of any Data Science project, plays an important part in order to learn more about the available data and to identify any main pattern.

Wouldn’t be great if it could be possible to make as visually intuitive as possible also the Machine Learning part of the analysis?

In this article, we are going to explore some techniques which could help us to face this challenge such as: Parallel Coordinates Plots, Summary Data Tables, drawing ANNs graphs and many more.

All the code used in this article is freely available on my and .


Hyperparameters Optimization

Introducing Gradio, an open-source Python package for creating Machine Learning models user interfaces.


Creating Machine Learning models is nowadays becoming increasingly easy thanks to many open-source and proprietary based services (e.g. Python, R, SAS). Although, practitioners might always find it difficult to efficiently create interfaces to test and share their completed model to colleagues or stakeholders.

One possible solution to this problem is , a free open-source Python package which helps you to create models user interfaces which you can effortlessly share with a link to colleagues and friends.

Gradio can be easily installed by using the following command:

!pip install gradio

Gradio is perfectly compatible with many Machine Learning frameworks (e.g…

A practical walkthrough on ONNX (Open Neural Network Exchange Format) and its potential applications

Photo by on


is a format designed to represent any type of Machine Learning and Deep Learning model.

Some example of supported frameworks are: PyTorch, TensorFlow, Keras, SAS, Matlab, and many more. In this way, ONNX can make it easier to convert models from one framework to another. Additionally, using ONNX.js we can then easily deploy online any model which has been saved in an ONNX format.

In Figure 1, is available a simple example of a Variational Autoencoder PyTorch model deployed online using ONNX.js in order to make inference on demand. …

Pier Paolo Ippolito

Data Scientist at SAS, TDS Associate Editor and Freelancer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store