Sign in

Machine Learning Engineer explaining things easily.

Source code inside


During live broadcasting on Twitch, many streamers and esports organizations struggle to extract interesting moments from the massive stream data. Maintaining staff to find the highlights during live broadcasts is expensive for large esports organizations as well. In addition to this problem, another one arises, live broadcasts usually go on for quite a long time, sometimes the streamer needs to take a break, at these moments there is an outflow of the audience from the stream. Showing interesting highlights during this time might be a potential solution to keep the audience watching the stream.
In the field of highlights detection, active…

Increase your coding speed with these 5 must-have libraries

I have always noticed that top experts in any field are able to create awesome things much faster than usual people, not because they are smarter, but because they can iterate over their ideas much quicker. One essential thing to iterate fast is to have some code snippets and libraries which help to build complex models easier. In this post, I would like to share my must-have collection of Machine Learning libraries, which you might have not heard about yet.

PyTorch Forecasting

The number one guest on my list today is an awesome PyTorch Forecasting Python library. With the help of this…

It turned out to be quite random


During the OSIC Pulmonary Fibrosis Progression competition, the competitors were asked to predict a patient’s severity of the decline in lung function based on a CT scan of their lungs and some additional tabular data fields. The challenge was to use machine learning techniques to make a prediction with the image, metadata, and baseline FVC as input. The task wasn’t simple. Due to the rather low amount of data available, it was not easy to use traditional Computer Vision approaches to model the dependency between CT scans and patient FVC values. …

Master the intuition of the chain rule for your future job interviews in just 5 minutes!


Today we’re going to talk about the chain rule and I hope that my visual explanations of this concept will help you a lot! Note that this article assumes that you are already familiar with the basic idea of a derivative and just want a deeper understanding of the chain rule itself.

Quick derivative recap

That said let’s do a super quick review of the derivative first.

Imagine we collected these measurements from a bunch of people. On the x-axis, we measured how much they worked as a Data Scientist, and on the y-axis, we measured their salary.

We can now fit this…

Great chance to add a new function to your training pipeline!


The MixUp idea was introduced back in 2018 in this paper and was immediately taken into pipelines by many ML researchers. The implementation of MixUp is really simple, but still it can bring a huge benefit to your model performance.

MixUp can be represented with this simple equation:

newImage = alpha * image1 + (1-alpha) * image2

This newImage is simply a blend of 2 images from your training set, it is that simple! So, what will be the target value for the newImage?

newTarget = alpha * target1 + (1-alpha) * target2

The important thing here, is that you…

Can you teach a machine on how to read crossword puzzles?


Recently I was given the task of creating an algorithm, to extract all possible metadata from the crossword photo. This seemed like an interesting task for me, so I decided to give it a try. These are the topics that will be covered in this blogpost:

  • Crossword cells detection and extraction with OpenCV
  • Crossword cell classification with Pytorch CNN
  • Cell metadata extraction

You can find the full code implementation on my website and my Github.

Crossword cells detection

First things first, to extract the metadata, you have to understand where it is located. For this purpose, I used simple…

Is it possible to code a simple version of SVM in just 2 minutes?

In this article I will be using Python to implement the Support Vector Machine Classifier, which is considered as one of the most complex basic machine learning algorithms. Though, the only thing which really differs from Linear Regression implementation in my code is the loss function used. In order to build a solid understanding of the Loss function used in SVM I would also recommend to have a look at this great video with an explanation.

As you could understand from the video, the heart of SVM loss function — is this formula, which describes the distance from the…

Have you ever run Nearest Neighbors on the GPU card! No? Why are you still not reading then?

When using simple Machine Learning algorithms, like Nearest Neighbours, on huge datasets, it often becomes pain to find good model hyperparameters or even to build a strong crossvalidation framework, because it takes model ages to finish training even if using simple train test split! One way to overcome this would be to use some way to distribute over CPUs using Dask or PySpark. But today I want to show you another way out — fitting the model using your GPU power. Previously there was no good way of doing this with models from Sklearn library, but now you can fit…

I had no idea it was so easy!


In this article, I will provide a really short and intuitive implementation of the famous Naive Bayes algorithm. In order to understand this simple concept, understanding the meaning of the picture below is all you need :) Meet the Bayes theorem!

[WARNING] Super easy!

Image source

PCA or Principal Component Analysis is one of the best-known dimensionality reduction algorithms. Its’ main purpose is to reduce the size of the given data, keeping as much information as needed. In this article, I will shortly explain the PCA algorithm and implement it. Let’s go!

  1. As a first step, let’s prepare the data. I will use Iris dataset as a toy example.

Artyom Kulakov

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