jueves, 9 de octubre de 2014

Ejemplo Graficar Kmeans usando ACP

Si se tiene una segmentacion usando k-means con 3 o mas variables, y se quiere representar en un gráfico de dispersión, una forma sería usar la técnica de "Análisis de Componentes Principales (ACP)" para resumir todas las variables en solo 2, que representaran el eje X y el eje Y.

El ACP es una tecnica de "reducción de la dimensionalidad", y conceptualmente el proceso para aplicarlo y graficar k-means sería así:






























El script en R sería el siguiente:


# ----------------------------------------------------------------------
# PASO 1:  Cargar datos de ejemplo usando package C50
library(C50); data(churn);
Datos<-churnTrain[c(7,16,19,17)]
 
# ----------------------------------------------------------------
# PASO 2:  Crear modelo kmeans
ModeloKmeans<-kmeans(Datos,3)
 
# ----------------------------------------------------------------
# PASO 3:  Crear Analisis Componentes Principales
ACP<-prcomp(Datos)
 
# ----------------------------------------------------------------
# PASO 4:  Crear una tabla para graficar 
#  donde el campo Grupos se usara para el color
DatosGrafico<-data.frame(Componente_1=ACP$x[,1],
                         Componente_2=ACP$x[,2],
                         Grupos=ModeloKmeans$cluster)
 
# ----------------------------------------------------------------
# PASO 5: Crear grafico
plot(DatosGrafico[,1:2],col=DatosGrafico[,3])






1 comentario:

  1. Muchas Gracias, me he podido introducir bien al tema y utilizar R, pero tengo un dataset un poco mas complicado y quisiera ver si puedes orientarme a saber como "leerlo" con R , gracias.

    ResponderEliminar