---
title: Normalization, Standardization and Scalers
date: 2024-10-08T14:00:28Z
modified: 2026-07-04T08:41:13Z
permalink: "https://www.micheledpierri.com/data-analysis/normalization-standardization-and-scalers/"
type: page
status: publish
excerpt: ""
wpid: 565
featured_image: "https://www.micheledpierri.com/wp-content/uploads/2026/07/d_a_normalization_.png"
featured_image_alt: A line of somber adults and a child walks through a weathered early 20th-century infirmary courtyard, flanked by iron hospital beds and faded institutional walls.
timestamp: 2026-07-04T08:41:13Z
tags: []
---

These are essential operations in the data cleaning process, aimed at preparing data for subsequent analysis or machine learning steps.

## Normalization

Normalization transforms data to fit within a range of 0 to 1. This ensures that extreme values don’t have a disproportionate impact.

Normalization is achieved using the following formula:

![X_{norm} = \frac{X_{origin} - X_{min}}{X_{max} - X_{min}}](https://www.micheledpierri.com/wp-content/ql-cache/quicklatex.com-90b675e11ddbea0632cdec251353328f_l3.svg "Rendered by QuickLaTeX.com")

X\_norm = normalized value; X\_origin = original value ; X\_min = minimum value and X\_max = maximum values in the dataset.

## Standardization

Standardization transforms data to have a mean of 0 and a standard deviation of 1.

The formula is:

![X_{stand} = \frac{x - \mu}{\sigma}](https://www.micheledpierri.com/wp-content/ql-cache/quicklatex.com-0a52266ca04d1eb79af2fe3701316abc_l3.svg "Rendered by QuickLaTeX.com")

X\_stand = the standardized value; x = original value; μ = mean of the distribution; σ = standard deviation of the distribution

Normalization is typically used for data with an arbitrary or non-normal distribution, whereas standardization is more suitable for data that follows a normal or near-normal distribution.

Outliers significantly influence normalization by modifying the minimum and maximum values used for transformation. In contrast, standardization is less directly affected by outliers. However, they can still impact the mean and standard deviation in standardization, albeit to a lesser degree than normalization.

Normalization is useful when comparing measurements with different scales (for example, weight and height), making them compatible with each other.

Standardization is useful in algorithms like logistic regression or PCA (Principal Component Analysis) because the scale of the data affects the results in these cases.

In many machine learning applications, these processes are called “scaling.” This term refers to modifying the scale or range of data using a specific mathematical operation.

Data scaling can occur in two main ways:

1. **Relative scaling:** In normalization, data is modified to fit within a specific range (typically between 0 and 1). This process effectively “compresses” or “expands” the data to fit within the desired range.
2. **Statistical scaling:** In standardization, the distribution of the data is modified to have specific statistical properties, such as a mean of 0 and a standard deviation of 1.

The Python library scikit-learn offers various Scalers that can be applied during the data preprocessing stage.

**MinMaxScaler (Normalization)**: Transforms data to fit within a specific range, typically 0 to 1.

**StandardScaler (Standardization)**: Modifies data to have a distribution with a mean of 0 and a standard deviation of 1.

**MaxAbsScaler**: Scales data so that the maximum absolute value is 1. Useful for preserving the sign of values and their ratios, especially with negative numbers.

**RobustScaler**: Uses median and interquartile range (IQR) for scaling, making it less sensitive to outliers than other scalers.

**QuantileTransformer**: Transforms data to have a uniform or Gaussian distribution.

**PowerTransformer**: Applies a transformation to make data more closely resemble a normal distribution.

**Normalizer**: Unlike column-based scalers, this applies to dataset rows. It transforms each row to have a norm of 1, preserving the direction of data vectors—crucial in NLP and neural networks.

---

To illustrate the processes of normalization and standardization in Python, let’s create three variables (features) for an imaginary dataset:

1. One containing values between 100 and 1,000
2. Another with values between 1,000 and 10,000
3. A third with a normal distribution (mean of 50, standard deviation of 10)

We’ll create graphs after applying normalization (using MinMaxScaler) and standardization (using StandardScaler) to these variables.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler, StandardScaler

# Create a sample dataset
np.random.seed(42)
data = {
    'Feature_1': np.random.randint(100, 1000, 100),
    'Feature_2': np.random.randint(1000, 10000, 100),
    'Feature_3': np.random.normal(50, 10, 100)  # Normally distributed
}

df = pd.DataFrame(data)

# Create pre-processing data visualizations
fig, ax = plt.subplots(1, 2, figsize=(14, 5))

ax[0].hist(df['Feature_1'], bins=20, color='b', alpha=0.7, label='Feature 1')
ax[0].hist(df['Feature_2'], bins=20, color='g', alpha=0.7, label='Feature 2')
ax[0].hist(df['Feature_3'], bins=20, color='r', alpha=0.7, label='Feature 3')
ax[0].set_title('Pre-Processing Histogram')
ax[0].legend()

# Normalization (Min-Max Scaling)
scaler = MinMaxScaler()
normalized_data = scaler.fit_transform(df)

# Standardization (Z-score)
std_scaler = StandardScaler()
standardized_data = std_scaler.fit_transform(df)

# Post Normalization Visualization
ax[1].hist(normalized_data[:, 0], bins=20, color='b', alpha=0.7, label='Feature 1 (Normalized)')
ax[1].hist(normalized_data[:, 1], bins=20, color='g', alpha=0.7, label='Feature 2 (Normalized)')
ax[1].hist(normalized_data[:, 2], bins=20, color='r', alpha=0.7, label='Feature 3 (Normalized)')
ax[1].set_title('Post Normalization Histogram')
ax[1].legend()

plt.tight_layout()
plt.show()

# Create plots for Standardization
fig, ax = plt.subplots(1, 2, figsize=(14, 5))

# Pre-processing visualization again for comparison
ax[0].hist(df['Feature_1'], bins=20, color='b', alpha=0.7, label='Feature 1')
ax[0].hist(df['Feature_2'], bins=20, color='g', alpha=0.7, label='Feature 2')
ax[0].hist(df['Feature_3'], bins=20, color='r', alpha=0.7, label='Feature 3')
ax[0].set_title('Pre-Processing Histogram (for comparison)')
ax[0].legend()

# Post Standardization Visualization
ax[1].hist(standardized_data[:, 0], bins=20, color='b', alpha=0.7, label='Feature 1 (Standardized)')
ax[1].hist(standardized_data[:, 1], bins=20, color='g', alpha=0.7, label='Feature 2 (Standardized)')
ax[1].hist(standardized_data[:, 2], bins=20, color='r', alpha=0.7, label='Feature 3 (Standardized)')
ax[1].set_title('Post Standardization Histogram')
ax[1].legend()

plt.tight_layout()
plt.show()```
<span class="line"><span style="color: #FF79C6">import</span><span style="color: #F8F8F2"> numpy </span><span style="color: #FF79C6">as</span><span style="color: #F8F8F2"> np</span></span>
<span class="line"><span style="color: #FF79C6">import</span><span style="color: #F8F8F2"> pandas </span><span style="color: #FF79C6">as</span><span style="color: #F8F8F2"> pd</span></span>
<span class="line"><span style="color: #FF79C6">import</span><span style="color: #F8F8F2"> matplotlib.pyplot </span><span style="color: #FF79C6">as</span><span style="color: #F8F8F2"> plt</span></span>
<span class="line"><span style="color: #FF79C6">from</span><span style="color: #F8F8F2"> sklearn.preprocessing </span><span style="color: #FF79C6">import</span><span style="color: #F8F8F2"> MinMaxScaler, StandardScaler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Create a sample dataset</span></span>
<span class="line"><span style="color: #F8F8F2">np.random.seed(</span><span style="color: #BD93F9">42</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">data </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_1</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">: np.random.randint(</span><span style="color: #BD93F9">100</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">1000</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">100</span><span style="color: #F8F8F2">),</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_2</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">: np.random.randint(</span><span style="color: #BD93F9">1000</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">10000</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">100</span><span style="color: #F8F8F2">),</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_3</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">: np.random.normal(</span><span style="color: #BD93F9">50</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">10</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">100</span><span style="color: #F8F8F2">)  </span><span style="color: #6272A4"># Normally distributed</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">df </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> pd.DataFrame(data)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Create pre-processing data visualizations</span></span>
<span class="line"><span style="color: #F8F8F2">fig, ax </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> plt.subplots(</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">2</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">figsize</span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2">(</span><span style="color: #BD93F9">14</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">5</span><span style="color: #F8F8F2">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].hist(df[</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_1</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">b</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 1</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].hist(df[</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_2</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">g</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 2</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].hist(df[</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_3</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">r</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 3</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].set_title(</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Pre-Processing Histogram</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].legend()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Normalization (Min-Max Scaling)</span></span>
<span class="line"><span style="color: #F8F8F2">scaler </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> MinMaxScaler()</span></span>
<span class="line"><span style="color: #F8F8F2">normalized_data </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> scaler.fit_transform(df)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Standardization (Z-score)</span></span>
<span class="line"><span style="color: #F8F8F2">std_scaler </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> StandardScaler()</span></span>
<span class="line"><span style="color: #F8F8F2">standardized_data </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> std_scaler.fit_transform(df)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Post Normalization Visualization</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].hist(normalized_data[</span><span style="color: #FF79C6">:</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">b</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 1 (Normalized)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].hist(normalized_data[</span><span style="color: #FF79C6">:</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">g</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 2 (Normalized)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].hist(normalized_data[</span><span style="color: #FF79C6">:</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">2</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">r</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 3 (Normalized)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].set_title(</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Post Normalization Histogram</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].legend()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">plt.tight_layout()</span></span>
<span class="line"><span style="color: #F8F8F2">plt.show()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Create plots for Standardization</span></span>
<span class="line"><span style="color: #F8F8F2">fig, ax </span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2"> plt.subplots(</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">2</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">figsize</span><span style="color: #FF79C6">=</span><span style="color: #F8F8F2">(</span><span style="color: #BD93F9">14</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">5</span><span style="color: #F8F8F2">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Pre-processing visualization again for comparison</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].hist(df[</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_1</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">b</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 1</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].hist(df[</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_2</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">g</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 2</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].hist(df[</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature_3</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">r</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 3</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].set_title(</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Pre-Processing Histogram (for comparison)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">].legend()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Post Standardization Visualization</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].hist(standardized_data[</span><span style="color: #FF79C6">:</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">0</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">b</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 1 (Standardized)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].hist(standardized_data[</span><span style="color: #FF79C6">:</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">g</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 2 (Standardized)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].hist(standardized_data[</span><span style="color: #FF79C6">:</span><span style="color: #F8F8F2">, </span><span style="color: #BD93F9">2</span><span style="color: #F8F8F2">], </span><span style="color: #FFB86C; font-style: italic">bins</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">20</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">color</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">r</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">alpha</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">0.7</span><span style="color: #F8F8F2">, </span><span style="color: #FFB86C; font-style: italic">label</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Feature 3 (Standardized)</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].set_title(</span><span style="color: #E9F284">'</span><span style="color: #F1FA8C">Post Standardization Histogram</span><span style="color: #E9F284">'</span><span style="color: #F8F8F2">)</span></span>
<span class="line"><span style="color: #F8F8F2">ax[</span><span style="color: #BD93F9">1</span><span style="color: #F8F8F2">].legend()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F8F8F2">plt.tight_layout()</span></span>
<span class="line"><span style="color: #F8F8F2">plt.show()</span></span>
```

The graphs generated by the code visually demonstrate the outcomes of normalization and standardization:

![Pre and post normalization histogram](https://www.micheledpierri.com/wp-content/uploads/2024/10/Normalization-and-standardization1-1024x366.png)

![Pre and post standardization histogram](https://www.micheledpierri.com/wp-content/uploads/2024/10/Normalization-and-standardization2-1024x366.png)