# What is a recursion?

According to wikipedia a recursion is defined as:

“…a method of solving a problem where the solution depends on solutions to smaller instances of the same problem”

Let’s try to understand this statement using an example and then draw some conclusions.

# The philosophy behind recursion:

Let’s look at a problem like calculating 5! (factorial). In order to find out the result of 5! we need to calculate:

` 5! = 5 *4 *3 *2 *1`

Equally we can say that:

`5! = 5 *4! = 5 *4 *3 *2 *1`

It seems that our factorial problem boils down to a “problem where the solution depends…

# Python Closures explained like for a 4 year old

The aim of this article is to give you an intuition and understanding of closures. We will be looking at what closures are, how they work, look the prequisite knowledge in order to understand closures and a practical example.

Before we get into any of it I want you to think about a question.

How can we write a function that outputs:

1. An addition between two numbers a & b

2. A count of how many times the function has run

# What is a Closure?

Explained in a very non philosophical way:

“A closure is a function plus an extended scope that contains…

# Confusion Matrix Clearly Explained

The aim of this article is to help you build an intuition about what a confusion matrix is, how it works and why is important.

## What is confusion matrix?

It is a matrix containing information about the accuracy of predictions for a model and it is widely used in Machine Learning classification problems.

## Why do we need a confusion matrix in the first place?

The reason we look at confusion matrices in order to asses accuracy is due to class imbalances. What is that you ask ? … ## Cristian Badoiu

Passionate about DataScience