L'aprenentatge supervisat és una tècnica d'aprenentatge automàtic on un model és entrenat utilitzant un conjunt de dades etiquetades. Això significa que cada exemple d'entrenament està associat amb una etiqueta o resultat desitjat. L'objectiu és que el model aprengui a predir l'etiqueta per a noves dades no etiquetades.
Continguts
Introducció a l'Aprenentatge Supervisat
L'aprenentatge supervisat es basa en la idea de construir un model que pugui predir una sortida a partir d'una entrada. Aquest procés implica els següents passos:
- Recollida de Dades: Obtenir un conjunt de dades etiquetades.
- Preprocessament de Dades: Netejar i preparar les dades per a l'entrenament.
- Divisió de Dades: Dividir les dades en conjunts d'entrenament i prova.
- Entrenament del Model: Utilitzar el conjunt d'entrenament per ajustar el model.
- Avaluació del Model: Mesurar el rendiment del model utilitzant el conjunt de prova.
- Predicció: Utilitzar el model entrenat per fer prediccions sobre noves dades.
Tipus de Problemes Supervisats
Els problemes d'aprenentatge supervisat es poden dividir en dues categories principals:
- Regressió: Predir un valor numèric continu.
- Exemple: Predir el preu d'una casa basant-se en les seves característiques.
- Classificació: Assignar una etiqueta a una entrada.
- Exemple: Classificar correus electrònics com a "spam" o "no spam".
Algorismes d'Aprenentatge Supervisat
Hi ha diversos algorismes utilitzats en l'aprenentatge supervisat. Alguns dels més comuns són:
- Regressió Lineal: Utilitzat per a problemes de regressió.
- Regressió Logística: Utilitzat per a problemes de classificació binària.
- K-Nearest Neighbors (KNN): Utilitzat tant per a regressió com per a classificació.
- Àrbre de Decisió: Utilitzat tant per a regressió com per a classificació.
- Random Forest: Una combinació d'arbres de decisió per millorar la precisió.
- Support Vector Machines (SVM): Utilitzat principalment per a classificació.
- Naive Bayes: Utilitzat per a classificació basada en probabilitats.
Exemple Pràctic: Regressió Lineal
A continuació, veurem un exemple pràctic de com implementar una regressió lineal en R.
Pas 1: Carregar les Llibreries Necessàries
Pas 2: Carregar i Visualitzar les Dades
# Carregar el conjunt de dades data <- read.csv("house_prices.csv") # Visualitzar les primeres files del conjunt de dades head(data)
Pas 3: Dividir les Dades en Entrenament i Prova
# Dividir les dades en entrenament i prova set.seed(123) # Per a la reproduïbilitat split <- sample.split(data$Price, SplitRatio = 0.7) train_data <- subset(data, split == TRUE) test_data <- subset(data, split == FALSE)
Pas 4: Entrenar el Model de Regressió Lineal
# Entrenar el model de regressió lineal model <- lm(Price ~ ., data = train_data) # Resum del model summary(model)
Pas 5: Avaluar el Model
# Predir els valors del conjunt de prova predictions <- predict(model, newdata = test_data) # Calcular l'error quadràtic mitjà (MSE) mse <- mean((test_data$Price - predictions)^2) print(paste("Mean Squared Error:", mse))
Pas 6: Visualitzar els Resultats
# Visualitzar les prediccions vs els valors reals ggplot(test_data, aes(x = Price, y = predictions)) + geom_point() + geom_abline(slope = 1, intercept = 0, color = "red") + labs(title = "Prediccions vs Valors Reals", x = "Valors Reals", y = "Prediccions")
Exercicis Pràctics
Exercici 1: Regressió Logística
- Carrega un conjunt de dades de classificació (per exemple, el conjunt de dades
iris
). - Divideix les dades en conjunts d'entrenament i prova.
- Entrena un model de regressió logística per predir l'espècie de les flors.
- Avalua el model utilitzant una matriu de confusió.
Exercici 2: Àrbre de Decisió
- Carrega un conjunt de dades de classificació (per exemple, el conjunt de dades
iris
). - Divideix les dades en conjunts d'entrenament i prova.
- Entrena un model d'arbre de decisió per predir l'espècie de les flors.
- Visualitza l'arbre de decisió i interpreta els resultats.
Solucions
Solució a l'Exercici 1
# Carregar les llibreries necessàries library(caTools) library(caret) # Carregar el conjunt de dades data(iris) # Dividir les dades en entrenament i prova set.seed(123) split <- sample.split(iris$Species, SplitRatio = 0.7) train_data <- subset(iris, split == TRUE) test_data <- subset(iris, split == FALSE) # Entrenar el model de regressió logística model <- train(Species ~ ., data = train_data, method = "glm", family = "binomial") # Predir els valors del conjunt de prova predictions <- predict(model, newdata = test_data) # Matriu de confusió confusionMatrix(predictions, test_data$Species)
Solució a l'Exercici 2
# Carregar les llibreries necessàries library(caTools) library(rpart) library(rpart.plot) # Carregar el conjunt de dades data(iris) # Dividir les dades en entrenament i prova set.seed(123) split <- sample.split(iris$Species, SplitRatio = 0.7) train_data <- subset(iris, split == TRUE) test_data <- subset(iris, split == FALSE) # Entrenar el model d'arbre de decisió model <- rpart(Species ~ ., data = train_data, method = "class") # Visualitzar l'arbre de decisió rpart.plot(model) # Predir els valors del conjunt de prova predictions <- predict(model, newdata = test_data, type = "class") # Matriu de confusió confusionMatrix(predictions, test_data$Species)
Conclusió
En aquesta secció, hem après els conceptes bàsics de l'aprenentatge supervisat, incloent-hi els tipus de problemes i els algorismes més comuns. També hem vist un exemple pràctic de com implementar una regressió lineal en R i hem proporcionat exercicis pràctics per reforçar els conceptes apresos. En la següent secció, explorarem l'aprenentatge no supervisat, que és una altra tècnica important en l'aprenentatge automàtic.
Programació en R: De Principiant a Avançat
Mòdul 1: Introducció a R
- Introducció a R i RStudio
- Sintaxi Bàsica de R
- Tipus de Dades i Estructures
- Operacions i Funcions Bàsiques
- Importació i Exportació de Dades
Mòdul 2: Manipulació de Dades
- Vectors i Llistes
- Matrius i Arrays
- Data Frames
- Factors
- Manipulació de Dades amb dplyr
- Manipulació de Cadenes
Mòdul 3: Visualització de Dades
- Introducció a la Visualització de Dades
- Gràfics Base de R
- Conceptes Bàsics de ggplot2
- ggplot2 Avançat
- Visualitzacions Interactives amb plotly
Mòdul 4: Anàlisi Estadística
- Estadístiques Descriptives
- Distribucions de Probabilitat
- Proves d'Hipòtesi
- Correlació i Regressió
- ANOVA i Proves de Chi-Cuadrat
Mòdul 5: Gestió Avançada de Dades
- Gestió de Dates i Hores
- Reestructuració de Dades
- Treballant amb Grans Conjunts de Dades
- Web Scraping
- APIs i JSON
Mòdul 6: Conceptes Avançats de Programació
- Escriure Funcions
- Depuració i Gestió d'Errors
- Programació Orientada a Objectes en R
- Programació Funcional
- Computació Paral·lela
Mòdul 7: Aprenentatge Automàtic amb R
- Introducció a l'Aprenentatge Automàtic
- Preprocessament de Dades
- Aprenentatge Supervisat
- Aprenentatge No Supervisat
- Avaluació i Ajust de Models
Mòdul 8: Temes Especialitzats
- Anàlisi de Sèries Temporals
- Anàlisi de Dades Espacials
- Mineria de Text i Processament del Llenguatge Natural
- Bioinformàtica amb R
- Anàlisi de Dades Financeres