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
numpyper a la manipulació de matrius,matplotlibper a la visualització iLinearRegressiondescikit-learnper crear el model de regressió lineal. - Dades d'Exemple: Creem les matrius
Xiyamb les dades d'alçada i pes. - Creació del Model: Instanciem l'objecte
LinearRegression. - Entrenament del Model: Utilitzem el mètode
fitper entrenar el model amb les dades. - Predicció: Utilitzem el mètode
predictper obtenir les prediccions del model. - Visualització: Utilitzem
matplotlibper 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
