0% found this document useful (0 votes)
77 views24 pages

Handling Imbalanced Datasets in Machine Learning - by Baptiste Rocca - Towards Data Science

Uploaded by

itsjustlib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views24 pages

Handling Imbalanced Datasets in Machine Learning - by Baptiste Rocca - Towards Data Science

Uploaded by

itsjustlib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

GETTING STARTED

Handling imbalanced datasets in machine


learning
What should and should not be done when facing an imbalanced classes problem?

Baptiste Rocca · Follow


Published in Towards Data Science
15 min read · Jan 27, 2019

Listen Share

This post was co-written with Joseph Rocca.

Introduction
Suppose that you are working in a given company and you are asked to create a
model that, based on various measurements at your disposal, predicts whether a
product is defective or not. You decide to use your favourite classifier, train it on the
data and voila : you get a 96.2% accuracy !
Your boss is astonished and decides to use your model without any further tests. A
few weeks later he enters your office and underlines the uselessness of your model.

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 1/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Indeed, the model you created has not found any defective product from the time it
has been used in production.
After some investigations, you find out that there is only around 3.8% of the product
made by your company that are defective and your model just always answers “not
defective”, leading to a 96.2% accuracy. The kind of “naive” results you obtained is
due to the imbalanced dataset you are working with. The goal of this article is to
review the different methods that can be used to tackle classification problems with
imbalanced classes.
Outline
First we will give an overview of different evaluation metrics that can help to detect
“naive behaviours”. We will then discuss a whole bunch of methods consisting in
reworking the dataset and show that these methods can be misleading. Finally, we
will show that reworking the problem is, most of the time, the best way to proceed.

Some subsections indicated by a (∞) symbol contains more mathematical details


and can be skipped without impacting the overall comprehension of this post.
Notice also that in most of what follows, we will consider two classes classification
problems but reasoning can easily be extended to multi-classes cases.

Detect a “naive behaviour”


In this first section, we would like to remind different ways to evaluate a trained
classifier in order to be sure to detect any kind of “naive behaviour”. As we saw in
the introduction’s example, accuracy, while being an important and unavoidable
metric, can be misleading and therefore should be used cautiously and alongside
other metrics. Let’s see what other tools can then be used.

Confusion matrix, precision, recall and F1


A good and yet simple metric that should always be used when dealing with
classification problem is the confusion matrix. This metric gives an interesting
overview of how well a model is doing. Thus, it is a great starting point for any
classification model evaluation. We summarise most of the metrics that can be
derived from the confusion matrix in the following graphic

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 2/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

The confusion matrix and the metrics that can be derived from it.

Let us give a short description of these metrics. The accuracy of the model is
basically the total number of correct predictions divided by total number of
predictions. The precision of a class define how trustable is the result when the
model answer that a point belongs to that class. The recall of a class expresses how
well the model is able to detect that class. The F1 score of a class is given by the
harmonic mean of precision and recall (2×precision×recall / (precision + recall)), it
combines precision and recall of a class in one metric.

For a given class, the different combinations of recall and precision have the
following meanings :

high recall + high precision : the class is perfectly handled by the model

low recall + high precision : the model can’t detect the class well but is highly
trustable when it does

high recall + low precision : the class is well detected but the model also include
points of other classes in it

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 3/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

low recall + low precision : the class is poorly handled by the model

In our introductory example, we have the following confusion matrix for 10000
products.

The confusion matrix of our introductory example. Notice that the “defective” precision can’t be computed.

The accuracy is 96.2% as said earlier. The non defective class precision is 96.2% and
the defective class precision is not computable. The recall of the non defective class
is 1.0 which is perfect (all the non defective products have been labelled as such).
But the recall of the defective class is 0.0 which is the worse case (no defective
products were detected). Thus, we can conclude our model is not doing well for this
class. The F1 score is not computable for the defective products and is 0.981 for the
non defective products. In this example, looking at the confusion matrix could have
led to re-think our model or our goal (as we will see in the following sections). It
could have prevented using a useless model.

ROC and AUROC

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 4/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Another interesting metric is the ROC curve (standing for Receiver Operating
Characteristic), defined with respect to a given class (that we will denote C in the
following).

Suppose that for a given point x, we have a model that outputs the probability that
this point belongs to C: P(C | x). Based on this probability, we can define a decision
rule that consists in saying that x belongs to class C if and only if P(C | x)≥T, where T
is a given threshold defining our decision rule. If T=1, a point is labelled as
belonging to C only if the model is 100% confident it does. If T=0, every points are
labelled as belonging to C.

Each value of the threshold T generates a point (false positive, true positive) and,
then, the ROC curve is the curve described by the ensemble of points generated
when T varies from 1 to 0. This curve starts at point (0,0), ends at point (1,1) and is
increasing. A good model will have a curve that increases quickly from 0 to 1
(meaning that only a little precision has to be sacrificed to get a high recall).

Illustration of possible ROC curves depending on the effectiveness of the model. On the left, the model has to
sacrifice a lot of precision to get a high recall. On the right, the model is highly effective: it can reach a high recall
while keeping a high precision.

Based on the ROC curve, we can build another metric, easier to use, to evaluate the
model: the AUROC which is the Area Under the ROC curve. AUROC acts a little bit as
a scalar value that summarises the entire ROC curve. As it can be seen, the AUROC
tend towards 1.0 for the best case and towards 0.5 for the worst case.
Here again, a good AUROC score means that the model we are evaluating does not
sacrifice a lot of precision to get a good recall on the observed class (often the
minority class).

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 5/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

What really is the problem?


Before trying to tackle the problem, let’s try to better understand it. For this, we are
going to consider a very simple example that will allow us both to review quickly
some basic aspects of a two classes classification and to better grasp the
fundamental problem of imbalanced dataset. This example will also be used in the
following sections.
An imbalanced example
Let’s suppose that we have two classes: C0 and C1. Points from the class C0 follow a
one dimensional Gaussian distribution of mean 0 and variance 4. Points from the
class C1 follow a one dimensional Gaussian distribution of mean 2 and variance 1.
Suppose also that in our problem the class C0 represent 90% of the dataset (and, so,
the class C1 represent the remaining 10%). In the following picture, we have
depicted a representative dataset containing 50 points along with the theoretical
distributions of both classes in the right proportions

Illustration of our imbalanced example. Dotted lines represent the probability densities of each class independently.
Solid lines also take into account the proportions.

In this example we can see that the curve of the C0 class is always above the curve of
the C1 class and, so, for any given point the probability that this point was drawn
from class C0 is always greater than the probability it was drawn from class C1.
Mathematically, using basic Bayes rule, we can write

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 6/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

where we can clearly see the effect of the priors and how it can lead to a situation
where a class is always more likely than the other.

All this implies that even from a perfect theoretical point of view we know that if we
had to train a classifier on these data, the accuracy of the classifier would be
maximal when always answering C0. So, if the goal is to train a classifier to get the
best possible accuracy then it should not be seen as a problem but just as a fact: with
these features, the best we can do (in terms of accuracy) is to always answer C0. We
have to accept it.
About the separability
In the given example, we can observe that the two classes are not well separable
(they are not far apart from each other). However, we can notice that facing an
imbalanced dataset doesn’t necessarily mean that the two classes are not well
separable and, so, that the classifier can’t do a pretty good job on the minority class.
For example, consider that we still have two classes C0 (90%) and C1 (10%). Data in
C0 follow a one dimensional Gaussian distribution of mean 0 and variance 4
whereas data in C1 follow a one dimensional Gaussian distribution of mean 10 and
variance 1. If we plot the data as before, we then have

In our Gaussian example, if the means are different enough with respect to the variances, even imbalanced classes
can be well separable.

Here we see that contrarily to the previous case the C0 curve is not always above the
C1 curve and, so, there are points that are more likely to be drawn from class C1
https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 7/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

than from class C0. In this case, the two classes are separated enough to compensate
the imbalance: a classifier will not necessarily answer C0 all the time.

Theoretical minimal error probability (∞)


Finally, we should keep in mind that a classifier has a theoretical minimal error
probability. For a classifier of this kind (one feature, two classes), we can mention
that, graphically, the theoretical minimal error probability is given by the area
under the minimum of the two curves.

Illustration of the theoretical minimal error for different degree of separability of two classes.

We can recover this intuition mathematically. Indeed, from a theoretical point of


view, the best possible classifier will choose for each point x the most likely of the
two classes. It naturally implies that for a given point x, the best theoretical error
probability is given by the less likely of these two classes

Then we can express the overall error probability

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 8/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Which is the area under the min of the two curves represented above.

Reworking the dataset is not always a solution


To begin, the very first possible reaction when facing an imbalanced dataset is to
consider that data are not representative of the reality: if so, we assume that real
data are almost balanced but that there is a proportions bias (due to the gathering
method, for example) in the collected data. In this case, it is almost mandatory to try
collecting more representative data.
Let’s see, now, what can be done when the dataset is imbalanced because reality is
so. In the the next two subsections we present some methods that are often
mentioned to tackle imbalanced classes and that deal with the dataset itself. In
particular, we discuss the risks related to undersampling, oversampling and
generating synthetic data as well as the benefits of getting more features.

Undersampling, oversampling and generating synthetic data


These methods are often presented as great ways to balance the dataset before
fitting a classifier on it. In a few words, these methods act on the dataset as follows:

undersampling consists in sampling from the majority class in order to keep


only a part of these points

oversampling consists in replicating some points from the minority class in


order to increase its cardinality

generating synthetic data consists in creating new synthetic points from the
minority class (see SMOTE method for example) to increase its cardinality

All these approaches aim at rebalancing (partially or fully) the dataset. But should
we rebalance the dataset to have as much data of both classes ? Or should the
majority class stay the most represented ? If so, in what proportions should we
rebalance ?

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 9/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Illustration of the effect that different degrees of majority class undersampling have on the model decisions.

When using a resampling method (for example to get as much data from C0 than
from C1), we show the wrong proportions of the two classes to the classifier during
the training. The classifier learned this way will then have a lower accuracy on the
future real test data than the classifier trained on the unchanged dataset. Indeed,
the true proportions of classes are important to know for classifying a new point
and that information has been lost when resampling the dataset.

So, if these methods have not to be completely rejected, they should be used
cautiously: it can lead to a relevant approach if new proportions are chosen with
purpose (we will see that in the next section), but it can also be a nonsense to just
rebalance the classes without any further thoughts about the problem. To conclude
this subsection, let’s say that modifying the dataset with resampling-like methods is

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 10/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

changing the reality, so it requires to be careful and to have in mind what it means
for the outputted results of our classifier.

Getting additional features


We discussed in the previous subsection the fact that resampling the training
dataset (modifying the classes proportions) can be or not a good idea depending on
the real purpose of the classifier. We saw in particular that if the two classes are
imbalanced, not well separable and that we target a classifier with the best possible
accuracy, then getting a classifier that always answer the same class is not
necessarily a problem but just a fact: there is nothing better to do with these
variables.

However, it remains possible to obtain better results in terms of accuracy by


enriching the dataset with an additional feature (or more). Let’s go back to our first
example where classes were not well separable: maybe can we find a new additional
feature that can help distinguish between the two classes and, so, improve the
classifier accuracy.

Looking for additional features can help separate two classes that were not initially separable.

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 11/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Compared to the approaches mentioned in the previous subsection that suggest to


change the reality of data, this approach that consists in enriching data with more
information from the reality is a far better idea when it is possible.

Reworking the problem is better


Up to now the conclusion is pretty disappointing: if the dataset is representative of
the true data, if we can’t get any additional feature and if we target a classifier with
the best possible accuracy, then a “naive behaviour” (answering always the same
class) is not necessarily a problem and should just be accepted as a fact (if the naive
behaviour is not due to the limited capacity of the chosen classifier, of course).

So what if we are still unhappy with these results? In this case, it means that, in one
way or another, our problem is not well stated (otherwise we should accept results
as they are) and that we should rework it in order to get more satisfying results. Let’s
see an example.

Cost-based classification
The feeling that obtained results are not good can come from the fact that the
objective function was not well defined. Up to now, we have assumed that we target
a classifier with high accuracy, assuming at the same time that both kinds of errors
(“false positive” and “false negative”) have the same cost. In our example it means
we assumed that predicting C0 when true label is C1 is as bad as predicting C1 when
true label is C0. Errors are then symmetric.

Let’s consider our introductory example with defective (C1) and not defective (C0)
products. In this case, we can imagine that not detecting a defective product will
cost more to the company (customer service costs, possible juridical costs if
dangerous defects, …) than wrongly labelling a not defective product as defective
(production cost lost). Now, predicting C0 when true label is C1 is far worse than
predicting C1 when true label is C0. Errors are no longer symmetric.

Consider then more particularly that we have the following costs:

predicting C0 when true label is C1 costs P01

predicting C1 when true label is C0 costs P10 (with 0 < P10 << P01)

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 12/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Then, we can redefine our objective function: we don’t target the best accuracy
anymore but we look for the lower prediction cost instead.
Theoretical minimal cost (∞)
From a theoretical point of view, we don’t want to minimise the error probability
defined above but the expected prediction cost given by

where C(.) defines the classifier function. So, if we want to minimise the expected
prediction cost, the theoretical best classifier C(.) minimises

or equivalently, dividing by the density of x, C(.) minimises

So, with this objective function, the best classifier from a theoretical point of view
will then be such that:

Notice that we recover the expression of the “classic” classifier (focus on accuracy)
when costs are equal.

Probability threshold
One first possible way to take into account the cost in our classifier is to do it after
the training. The idea is, first, to train a classifier the basic way to output the
following probabilities

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 13/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

without assuming any costs. Then, the predicted class will be C0 if

and C1 otherwise.

Here, it doesn’t matter which classifier we are using as long as it outputs the
probability of each class for a given point. In our main example, we can fit a Bayes
classifier on our data and we can then reweight the obtained probabilities to adjust
the classifier with the costs errors as described.

Illustration of the probability threshold approach: the outputted probabilities are reweighted such that costs are
taken into account in the final decision rule.

Classes reweight
The idea of class reweight is to take into account the asymmetry of cost errors
directly during the classifier training. Doing so, the outputted probabilities for each
class will already embed the cost error information and could then be used to define
a classification rule with a simple 0.5 threshold.

For some models (for example Neural Network classifiers), taking the cost into
account during the training can consist in adjusting the objective function. We still
want our classifier to output

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 14/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

but this time it is trained such as to minimise the following cost function

For some other models (for example Bayes classifier), resampling methods can be
used to bias the classes proportions such that to enter the cost error information
inside the classes proportions. If we consider the costs P01 and P10 (such that P01 >
P10), we can either:

oversample the minority class by a factor P01/P10 (cardinality of the minority


class should be multiplied by P01/P10)

undersample the majority class by a factor P10/P01 (cardinality of the majority


class should be multiplied by P10/P01)

Illustration of the class reweight approach: the majority class is undersampled with a proportion that is chosen
carefully to introduce the cost information directly inside the class proportions.

Takeaways
The main takeaways of this article are:

whenever using a machine learning algorithm, evaluation metrics for the model
have to be chosen cautiously: we must use the metrics that gives us the best
overview of how well our model is doing with regards to our goals

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 15/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

when dealing with an imbalanced dataset, if classes are not well separable with
the given variables and if our goal is to get the best possible accuracy, the best
classifier can be a “naive” one that always answer the majority class

resampling methods can be used but have to be thought carefully: they should
not be used as stand alone solutions but have to be coupled with a rework of the
problem to serve a specific goal

reworking the problem itself is often the best way to tackle an imbalanced
classes problem: the classifier and the decision rule have to be set with respect
to a well chosen goal that can be, for example, minimising a cost

We should notice that we have not discussed at all techniques like “stratified
sampling” that can be useful when batch training a classifier. When facing an
imbalanced classes problem, such techniques ensure more stability during the
training (by removing the proportions variance inside batches).

Finally, let’s say that the main keyword of this article is “goal”. Knowing exactly what
you want to obtain will help overcome imbalanced dataset problems and will ensure
having the best possible results. Defining the goal perfectly should always be the
first thing to do and is the starting point of any choice that have to be done in order
to create a machine learning model.

Thanks for reading!

Last article written with Joseph Rocca:

Understanding Generative Adversarial Networks (GANs)


Building, step by step, the reasoning that leads to GANs.
towardsdatascience.com

Machine Learning Data Science Artificial Intelligence Data Getting Started

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 16/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Follow

Written by Baptiste Rocca


1.5K Followers · Writer for Towards Data Science

Data scientist at ManoMano

More from Baptiste Rocca and Towards Data Science

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 17/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Baptiste Rocca in Towards Data Science

Introduction to recommender systems


Overview of some major recommendation algorithms.

22 min read · Jun 3, 2019

5.9K 18

Cristian Leo in Towards Data Science

The Math Behind Neural Networks

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 18/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Dive into Neural Networks, the backbone of modern AI, understand its mathematics,
implement it from scratch, and explore its applications

· 28 min read · Mar 29, 2024

3K 20

Tim Sumner in Towards Data Science


Open in app Sign up Sign in
A New Coefficient of Correlation
What if you were told there exists a new way to measure the relationship between two variables
Search
just like correlation except possibly…

10 min read · Mar 31, 2024

2.8K 35

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 19/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Alex Honchar in Towards Data Science

Intro to LLM Agents with Langchain: When RAG is Not Enough


First-order principles of brain structure for AI assistants

7 min read · Mar 15, 2024

2K 11

See all from Baptiste Rocca

See all from Towards Data Science

Recommended from Medium

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 20/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Tim Sumner in Towards Data Science

A New Coefficient of Correlation


What if you were told there exists a new way to measure the relationship between two variables
just like correlation except possibly…

10 min read · Mar 31, 2024

2.8K 35

Rosaria Silipo in Low Code for Data Science

Is Data Science dead?


https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 21/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

In the last six months I have heard this question thousands of time: “Is data science dead?”

6 min read · Mar 11, 2024

1.7K 36

Lists

Predictive Modeling w/ Python


20 stories · 1113 saves

Practical Guides to Machine Learning


10 stories · 1334 saves

Natural Language Processing


1386 stories · 883 saves

data science and AI


40 stories · 131 saves

Shivanipickl

What is Feature Scaling and Why Does Machine Learning Need It?
Introduction: Discover the significance of feature scaling in machine learning. Understand how
normalizing data can accelerate model…

5 min read · Nov 16, 2023

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 22/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Benedict Neo in bitgrit Data Science Publication

Roadmap to Learn AI in 2024


A free curriculum for hackers and programmers to learn AI

11 min read · Mar 11, 2024

10.3K 111

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 23/24
4/22/24, 8:56 AM Handling imbalanced datasets in machine learning | by Baptiste Rocca | Towards Data Science

Manjinder Singh

Sampling Methods For Imbalanced Dataset Classification along with


Python Code
In machine learning, dealing with imbalanced data is crucial. This occurs when there are
unequal observations for different classes in a…

8 min read · Nov 16, 2023

30

Anmol Tomar in CodeX

Say Goodbye to Loops in Python, and Welcome Vectorization!


Use Vectorization — a super-fast alternative to loops in Python

· 5 min read · Dec 28, 2023

5K 61

See more recommendations

https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 24/24

You might also like