K-means: análisis del codo
En los ejercicios anteriores usaste el dendrograma para proponer una agrupación que generaba 3 grupos. En este ejercicio vas a aprovechar el gráfico del codo de k-means para proponer el "mejor" número de clústeres.
Este ejercicio forma parte del curso
Análisis de clústeres en R
Instrucciones del ejercicio
- Usa
map_dbl()para ejecutarkmeans()con los datosoespara valores de k del 1 al 10 y extrae el valor de la suma total de cuadrados dentro de los clústeres de cada modelo:model$tot.withinss. Guarda el vector resultante comotot_withinss. - Crea un nuevo data frame
elbow_dfque contenga los valores de k y el vector de suma total de cuadrados dentro de los clústeres. - Usa los valores de
elbow_dfpara trazar un gráfico de líneas que muestre la relación entre k y la suma total de cuadrados dentro de los clústeres.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10, function(k){
model <- kmeans(x = ___, centers = ___)
model$tot.withinss
})
# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
k = ___,
tot_withinss = ___
)
# Plot the elbow plot
ggplot(elbow_df, aes(x = ___, y = ___)) +
geom_line() +
scale_x_continuous(breaks = 1:10)