5 votos

Cómo interpretar el clusplot en R

He trazado el gráfico de conglomerados bivariantes (de un objeto de partición) utilizando la función clusplot del cluster paquete. A continuación se muestra el código para ello:

k.means.fit <- kmeans(pima_diabetes_kmean[, c(input$first_model, input$second_model)], 2)
  output$kmeanPlot <- renderPlot({
    # K-Means
    clusplot(
      pima_diabetes_kmean[, c(input$first_model, input$second_model)],
      k.means.fit$cluster,
      main = '2D representation of the Cluster solution',
      color = TRUE,
      shade = TRUE,
      labels = 5,
      lines = 0
    )
  })

El gráfico muestra el componente 1 en el eje de abscisas y el componente 2 en el eje de ordenadas. Adjunto el siguiente gráfico. ¿El componente 1 se refiere al embarazo y el componente 2 a la glucosa, como en un simple gráfico de puntos? No lo entiendo.

Además, dice que los dos componentes explican el 100% de la variabilidad puntual, ¿qué significa eso exactamente?

Además, ¿por qué los puntos verdes del gráfico de conglomerados son diferentes de los puntos rojos/negros del gráfico de puntos, aunque ambos representen los mismos datos? A continuación se muestra el código para trazar los puntos:

plot(
      pima_diabetes_kmean[, c(input$first_model, input$second_model)],
      col = alpha(k.means.fit$cluster, 0.2),
      pch = 20,
      cex = 3
    )
points(
  k.means.fit$centers,
  pch = 4,
  cex = 4,
  lwd = 4,
  col = "blue"
)

enter image description here

6voto

Romain Puntos 3062

El clusplot utiliza PCA para dibujar los datos. Utiliza los dos primeros componentes principales para explicar los datos.

Puede obtener más información aquí Análisis de componentes principales, vectores y valores propios .

Los componentes principales son los ejes (ortogonales) a lo largo de los cuales los datos tienen la mayor variabilidad, si sus datos son 2d, entonces el uso de dos componentes principales puede explicar toda la variabilidad de los datos, de ahí la razón por la que ve el 100% explicado. Si sus datos son de una dimensión superior pero tienen muchas correlaciones, puede utilizar un espacio de dimensión inferior para explicarlos.

La diferencia que se ve entre los gráficos es que se trazan a lo largo de los componentes PCA.

x <- mvrnorm(200, c(-2,2), diag(2))
y <- mvrnorm(200, c(2,-2), diag(2))
tot <- rbind(x,y)

par(mfrow = c(2,2))
## Original 
plot(x, ylim = c(-5,5), xlim = c(-5,5), col = 'green', main = 'Original Data')
points(y, col = 'red')

## Cusplot 
kmean.fit <- kmeans(tot, 2)
clusplot(tot, kmean.fit$cluster, main = 'Cusplot')

## PCA plot 
pca.tot <- princomp(tot)
plot(tot[1:200,] %*% pca.tot$loading, ylim = c(-3,3), xlim = c(-6,6), col = 'red', main = 'PCA')
points(tot[201:400, ]%*% pca.tot$loading ,col = 'green')

Simulated Plots

Puedes jugar, añadir dimensiones y cambiar la estructura de correlación y ver cómo obtienes resultados diferentes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X