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

  1. Carrega el conjunt de dades iris disponible en R.
  2. Aplica l'algorisme K-means per agrupar les flors en 3 clústers.
  3. 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

  1. Carrega el conjunt de dades mtcars disponible en R.
  2. Aplica PCA per reduir les dades a 2 components principals.
  3. 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

Mòdul 2: Manipulació de Dades

Mòdul 3: Visualització de Dades

Mòdul 4: Anàlisi Estadística

Mòdul 5: Gestió Avançada de Dades

Mòdul 6: Conceptes Avançats de Programació

Mòdul 7: Aprenentatge Automàtic amb R

Mòdul 8: Temes Especialitzats

Mòdul 9: Projecte i Estudis de Cas

© Copyright 2024. Tots els drets reservats