En aquest tema, explorarem dos processos fonamentals en el preprocessament de dades: la normalització i l'estandardització. Aquests processos són essencials per assegurar que els nostres models de Machine Learning funcionin correctament i de manera eficient.

  1. Introducció

Què és la normalització?

La normalització és el procés d'ajustar els valors de les dades perquè caiguin dins d'un rang específic, normalment entre 0 i 1. Això és especialment útil quan les dades tenen diferents escales i volem assegurar-nos que cada característica contribueixi de manera equitativa al model.

Què és l'estandardització?

L'estandardització és el procés de transformar les dades perquè tinguin una mitjana de 0 i una desviació estàndard d'1. Això és útil quan les dades segueixen una distribució normal i volem eliminar les unitats de mesura per comparar diferents característiques.

  1. Diferències clau entre normalització i estandardització

Característica Normalització Estandardització
Objectiu Ajustar dades a un rang específic (0 a 1) Ajustar dades a una distribució normal
Fórmula (x - min) / (max - min) (x - mitjana) / desviació estàndard
Ús comú Quan les dades no segueixen una distribució normal Quan les dades segueixen una distribució normal
Sensibilitat als outliers Alta Moderada

  1. Implementació pràctica

Normalització

Fórmula

La fórmula per normalitzar una característica \( x \) és: \[ x' = \frac{x - \min(x)}{\max(x) - \min(x)} \]

Exemple en Python

import numpy as np

# Exemple de dades
dades = np.array([1, 2, 3, 4, 5])

# Normalització
dades_normalitzades = (dades - np.min(dades)) / (np.max(dades) - np.min(dades))
print("Dades normalitzades:", dades_normalitzades)

Estandardització

Fórmula

La fórmula per estandarditzar una característica \( x \) és: \[ x' = \frac{x - \mu}{\sigma} \] on \( \mu \) és la mitjana i \( \sigma \) és la desviació estàndard.

Exemple en Python

import numpy as np

# Exemple de dades
dades = np.array([1, 2, 3, 4, 5])

# Estandardització
mitjana = np.mean(dades)
desviacio_estandard = np.std(dades)
dades_estandarditzades = (dades - mitjana) / desviacio_estandard
print("Dades estandarditzades:", dades_estandarditzades)

  1. Exercicis pràctics

Exercici 1: Normalització

Dades: [10, 20, 30, 40, 50]

Tasques:

  1. Normalitza les dades utilitzant la fórmula de normalització.
  2. Implementa el codi en Python per verificar els resultats.

Solució

import numpy as np

# Dades
dades = np.array([10, 20, 30, 40, 50])

# Normalització
dades_normalitzades = (dades - np.min(dades)) / (np.max(dades) - np.min(dades))
print("Dades normalitzades:", dades_normalitzades)

Exercici 2: Estandardització

Dades: [10, 20, 30, 40, 50]

Tasques:

  1. Estandarditza les dades utilitzant la fórmula d'estandardització.
  2. Implementa el codi en Python per verificar els resultats.

Solució

import numpy as np

# Dades
dades = np.array([10, 20, 30, 40, 50])

# Estandardització
mitjana = np.mean(dades)
desviacio_estandard = np.std(dades)
dades_estandarditzades = (dades - mitjana) / desviacio_estandard
print("Dades estandarditzades:", dades_estandarditzades)

  1. Errors comuns i consells

Errors comuns

  1. No aplicar la normalització o estandardització: Això pot causar que algunes característiques dominin el model, especialment si tenen escales molt diferents.
  2. Aplicar la normalització o estandardització a les dades de test: Això pot introduir biaix. Sempre s'ha de calcular els paràmetres (mínim, màxim, mitjana, desviació estàndard) utilitzant només les dades d'entrenament i després aplicar-los a les dades de test.

Consells

  • Escollir la tècnica adequada: Utilitza la normalització quan les dades no segueixen una distribució normal i l'estandardització quan sí que ho fan.
  • Utilitzar biblioteques: Utilitza biblioteques com scikit-learn que proporcionen funcions per normalitzar i estandarditzar dades de manera fàcil i eficient.

  1. Resum

En aquesta secció, hem après sobre la normalització i l'estandardització, dues tècniques essencials per preprocessar dades en Machine Learning. Hem vist les diferències clau entre elles, com implementar-les en Python i hem practicat amb exercicis. Aquests processos asseguren que les nostres dades estiguin en la forma adequada per ser utilitzades pels models de Machine Learning, millorant així el rendiment i l'eficiència dels nostres algorismes.

Curs de Machine Learning

Mòdul 1: Introducció al Machine Learning

Mòdul 2: Fonaments d'Estadística i Probabilitat

Mòdul 3: Preprocessament de Dades

Mòdul 4: Algoritmes de Machine Learning Supervisat

Mòdul 5: Algoritmes de Machine Learning No Supervisat

Mòdul 6: Avaluació i Validació de Models

Mòdul 7: Tècniques Avançades i Optimització

Mòdul 8: Implementació i Desplegament de Models

Mòdul 9: Projectes Pràctics

Mòdul 10: Recursos Addicionals

© Copyright 2024. Tots els drets reservats