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
- Variable Dependent (Y): És la variable que volem predir o explicar.
- Variable Independent (X): És la variable que utilitzem per fer la predicció.
- 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.
- 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
- Importació de Llibreries: Importem
numpy
per a la manipulació de matrius,matplotlib
per a la visualització iLinearRegression
descikit-learn
per crear el model de regressió lineal. - Dades d'Exemple: Creem les matrius
X
iy
amb les dades d'alçada i pes. - Creació del Model: Instanciem l'objecte
LinearRegression
. - Entrenament del Model: Utilitzem el mètode
fit
per entrenar el model amb les dades. - Predicció: Utilitzem el mètode
predict
per obtenir les prediccions del model. - Visualització: Utilitzem
matplotlib
per crear un gràfic de dispersió de les dades reals i la línia de regressió. - 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
- No Normalitzar les Dades: Si les variables tenen escales molt diferents, pot ser necessari normalitzar-les.
- Assumir Linealitat: La regressió lineal assumeix una relació lineal entre les variables. Si aquesta relació no és lineal, el model no serà adequat.
- 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
- 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