Introducció a la Regressió Lineal

La regressió lineal és un dels algorismes més senzills i utilitzats en el camp del machine learning. Es tracta d'un mètode estadístic que permet modelar la relació entre una variable dependent (també anomenada variable resposta) i una o més variables independents (també conegudes com a predictors o característiques).

Conceptes Clau

  1. Variable Dependent (Y): És la variable que volem predir o explicar.
  2. Variable Independent (X): És la variable que utilitzem per fer la predicció.
  3. Coeficients (β0, β1): Són els paràmetres que el model aprèn durant l'entrenament. β0 és l'intercept, i β1 és la pendent de la recta.
  4. Error (ε): És la diferència entre el valor observat i el valor predit pel model.

Fórmula de la Regressió Lineal

La fórmula de la regressió lineal simple és:

\[ Y = β0 + β1X + ε \]

On:

  • \( Y \) és la variable dependent.
  • \( X \) és la variable independent.
  • \( β0 \) és l'intercept.
  • \( β1 \) és la pendent.
  • \( ε \) és l'error.

Exemple Pràctic

Dataset d'Exemple

Suposem que tenim un dataset amb les següents dades sobre l'alçada i el pes de diverses persones:

Alçada (cm) Pes (kg)
150 50
160 55
170 65
180 70
190 80

Implementació en Python

A continuació, implementarem un model de regressió lineal utilitzant la llibreria scikit-learn en Python.

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Dades d'exemple
X = np.array([150, 160, 170, 180, 190]).reshape(-1, 1)
y = np.array([50, 55, 65, 70, 80])

# Crear el model de regressió lineal
model = LinearRegression()

# Entrenar el model
model.fit(X, y)

# Predir els valors
y_pred = model.predict(X)

# Visualitzar els resultats
plt.scatter(X, y, color='blue', label='Dades Reals')
plt.plot(X, y_pred, color='red', label='Línia de Regressió')
plt.xlabel('Alçada (cm)')
plt.ylabel('Pes (kg)')
plt.legend()
plt.show()

# Coeficients del model
print(f'Intercept: {model.intercept_}')
print(f'Coeficient: {model.coef_[0]}')

Explicació del Codi

  1. Importació de Llibreries: Importem numpy per a la manipulació de matrius, matplotlib per a la visualització i LinearRegression de scikit-learn per crear el model de regressió lineal.
  2. Dades d'Exemple: Creem les matrius X i y amb les dades d'alçada i pes.
  3. Creació del Model: Instanciem l'objecte LinearRegression.
  4. Entrenament del Model: Utilitzem el mètode fit per entrenar el model amb les dades.
  5. Predicció: Utilitzem el mètode predict per obtenir les prediccions del model.
  6. Visualització: Utilitzem matplotlib per crear un gràfic de dispersió de les dades reals i la línia de regressió.
  7. Coeficients del Model: Imprimim els coeficients del model (intercept i pendent).

Exercicis Pràctics

Exercici 1: Implementació Bàsica

Utilitza el mateix dataset d'exemple per implementar una regressió lineal en un altre llenguatge de programació, com R o MATLAB.

Exercici 2: Dataset Diferent

Utilitza un dataset diferent (per exemple, dades de temperatura i consum d'energia) per entrenar un model de regressió lineal i visualitzar els resultats.

Solucions

Exercici 1: Implementació en R

# Dades d'exemple
alçada <- c(150, 160, 170, 180, 190)
pes <- c(50, 55, 65, 70, 80)

# Crear el model de regressió lineal
model <- lm(pes ~ alçada)

# Resum del model
summary(model)

# Predir els valors
prediccions <- predict(model)

# Visualitzar els resultats
plot(alçada, pes, col='blue', pch=16, xlab='Alçada (cm)', ylab='Pes (kg)')
abline(model, col='red')

Exercici 2: Dataset Diferent

Busca un dataset públic, com el Boston Housing Dataset, i segueix els mateixos passos per entrenar i visualitzar un model de regressió lineal.

Errors Comuns i Consells

  1. No Normalitzar les Dades: Si les variables tenen escales molt diferents, pot ser necessari normalitzar-les.
  2. Assumir Linealitat: La regressió lineal assumeix una relació lineal entre les variables. Si aquesta relació no és lineal, el model no serà adequat.
  3. Sobreajustament: Si el model té massa paràmetres, pot ajustar-se massa a les dades d'entrenament i no generalitzar bé a noves dades.

Resum

En aquesta secció, hem après què és la regressió lineal, com funciona i com implementar-la utilitzant Python. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. La regressió lineal és una eina poderosa i senzilla que serveix com a base per a molts altres algorismes de machine learning.

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