Muchos k, muchos modelos
Aunque el conjunto de datos lineup claramente tiene un valor conocido de k, a menudo el número óptimo de clústeres no se conoce y hay que estimarlo.
En este ejercicio, usarás map_dbl() de la librería purrr para ejecutar k-means con valores de k del 1 al 10 y extraer de cada uno la métrica de suma de cuadrados dentro del clúster total. Este será el primer paso para visualizar el gráfico del codo.
Este ejercicio forma parte del curso
Análisis de clústeres en R
Instrucciones del ejercicio
- Usa
map_dbl()para ejecutarkmeans()con los datos delineuppara valores de k del 1 al 10 y extrae de cada modelo el valor de suma de cuadrados dentro del clúster total: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 de cuadrados dentro del clúster total.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
library(purrr)
# 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 = ___
)