L'aprenentatge no supervisat és una branca de l'aprenentatge automàtic que s'utilitza per trobar patrons ocults en dades sense etiquetar. A diferència de l'aprenentatge supervisat, on els models es construeixen a partir de dades etiquetades, l'aprenentatge no supervisat treballa amb dades que no tenen una resposta coneguda.
Objectius del Mòdul
- Entendre els conceptes bàsics de l'aprenentatge no supervisat.
- Aprendre a utilitzar algorismes d'aprenentatge no supervisat en R.
- Aplicar tècniques d'agrupament (clustering) i reducció de dimensionalitat.
Contingut
Conceptes Bàsics de l'Aprenentatge No Supervisat
L'aprenentatge no supervisat es centra en identificar estructures ocultes en les dades. Els dos tipus principals d'algorismes són:
- Agrupament (Clustering): Agrupa les dades en clústers o grups basats en la similitud.
- Reducció de Dimensionalitat: Redueix el nombre de variables en les dades mantenint la informació més rellevant.
Algorismes d'Agrupament (Clustering)
K-means Clustering
L'algorisme K-means és un dels més utilitzats per a l'agrupament. Divideix les dades en K clústers, on cada punt de dades pertany al clúster amb el centreide més proper.
Exemple de K-means en R
# Instal·lar i carregar el paquet necessari install.packages("ggplot2") library(ggplot2) # Generar dades d'exemple set.seed(123) data <- data.frame(x = rnorm(100), y = rnorm(100)) # Aplicar K-means set.seed(123) kmeans_result <- kmeans(data, centers = 3) # Afegir els resultats de l'agrupament a les dades data$cluster <- as.factor(kmeans_result$cluster) # Visualitzar els clústers ggplot(data, aes(x = x, y = y, color = cluster)) + geom_point() + labs(title = "K-means Clustering", x = "X", y = "Y")
Algorisme de Clúster Jeràrquic
L'agrupament jeràrquic crea una jerarquia de clústers. Hi ha dos tipus principals: aglomeratiu (de baix a dalt) i divisió (de dalt a baix).
Exemple de Clúster Jeràrquic en R
# Generar dades d'exemple set.seed(123) data <- data.frame(x = rnorm(100), y = rnorm(100)) # Calcular la distància dist_matrix <- dist(data) # Aplicar l'agrupament jeràrquic hclust_result <- hclust(dist_matrix, method = "complete") # Dibuixar el dendrograma plot(hclust_result, main = "Dendrograma de Clúster Jeràrquic", xlab = "", sub = "")
Reducció de Dimensionalitat
Anàlisi de Components Principals (PCA)
PCA és una tècnica que transforma les dades a un nou espai de menor dimensió, mantenint la major part de la variabilitat de les dades.
Exemple de PCA en R
# Generar dades d'exemple set.seed(123) data <- data.frame(x = rnorm(100), y = rnorm(100), z = rnorm(100)) # Aplicar PCA pca_result <- prcomp(data, scale. = TRUE) # Visualitzar els resultats summary(pca_result) biplot(pca_result, main = "Biplot de PCA")
Exercicis Pràctics
Exercici 1: Aplicar K-means a un Conjunt de Dades
- Carrega el conjunt de dades
iris
disponible en R. - Aplica l'algorisme K-means per agrupar les flors en 3 clústers.
- Visualitza els resultats utilitzant
ggplot2
.
Solució
# Carregar el conjunt de dades iris data(iris) iris_data <- iris[, -5] # Aplicar K-means set.seed(123) kmeans_result <- kmeans(iris_data, centers = 3) # Afegir els resultats de l'agrupament a les dades iris$cluster <- as.factor(kmeans_result$cluster) # Visualitzar els clústers ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = cluster)) + geom_point() + labs(title = "K-means Clustering de Iris", x = "Longitud del Sèpal", y = "Amplada del Sèpal")
Exercici 2: Aplicar PCA a un Conjunt de Dades
- Carrega el conjunt de dades
mtcars
disponible en R. - Aplica PCA per reduir les dades a 2 components principals.
- Visualitza els resultats utilitzant un biplot.
Solució
# Carregar el conjunt de dades mtcars data(mtcars) # Aplicar PCA pca_result <- prcomp(mtcars, scale. = TRUE) # Visualitzar els resultats summary(pca_result) biplot(pca_result, main = "Biplot de PCA de mtcars")
Resum
En aquest mòdul, hem explorat els conceptes bàsics de l'aprenentatge no supervisat, incloent-hi els algorismes d'agrupament com K-means i l'agrupament jeràrquic, així com la reducció de dimensionalitat amb PCA. Hem vist exemples pràctics de com aplicar aquests algorismes en R i hem realitzat exercicis per reforçar els conceptes apresos. Amb aquestes eines, estàs preparat per descobrir patrons ocults en les teves dades sense etiquetar.
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