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.
- 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.
- 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 |
- 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)
- Exercicis pràctics
Exercici 1: Normalització
Dades: [10, 20, 30, 40, 50]
Tasques:
- Normalitza les dades utilitzant la fórmula de normalització.
- 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:
- Estandarditza les dades utilitzant la fórmula d'estandardització.
- 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)
- Errors comuns i consells
Errors comuns
- No aplicar la normalització o estandardització: Això pot causar que algunes característiques dominin el model, especialment si tenen escales molt diferents.
- 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.
- 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
- Què és el Machine Learning?
- Història i evolució del Machine Learning
- Tipus de Machine Learning
- Aplicacions del Machine Learning
Mòdul 2: Fonaments d'Estadística i Probabilitat
- Conceptes bàsics d'estadística
- Distribucions de probabilitat
- Inferència estadística
- Teorema de Bayes
Mòdul 3: Preprocessament de Dades
Mòdul 4: Algoritmes de Machine Learning Supervisat
- Regressió lineal
- Regressió logística
- Arbres de decisió
- Màquines de suport vectorial (SVM)
- K-Veïns més propers (K-NN)
- Xarxes neuronals
Mòdul 5: Algoritmes de Machine Learning No Supervisat
- Clustering: K-means
- Clustering jeràrquic
- Anàlisi de components principals (PCA)
- Anàlisi d'agrupament DBSCAN
Mòdul 6: Avaluació i Validació de Models
Mòdul 7: Tècniques Avançades i Optimització
- Ensemble Learning
- Gradient Boosting
- Xarxes neuronals profundes (Deep Learning)
- Optimització d'hiperparàmetres
Mòdul 8: Implementació i Desplegament de Models
- Frameworks i biblioteques populars
- Implementació de models en producció
- Manteniment i monitoratge de models
- Consideracions ètiques i de privacitat
Mòdul 9: Projectes Pràctics
- Projecte 1: Predicció de preus d'habitatges
- Projecte 2: Classificació d'imatges
- Projecte 3: Anàlisi de sentiments a xarxes socials
- Projecte 4: Detecció de fraus