Muitos Ks, muitos modelos
Embora o conjunto de dados lineup claramente tenha um valor conhecido de k, muitas vezes o número ideal de clusters não é conhecido e precisa ser estimado.
Neste exercício, você vai usar map_dbl() da biblioteca purrr para executar k-means com valores de k de 1 a 10 e extrair a métrica de soma total dos quadrados intra-cluster de cada um. Este será o primeiro passo para visualizar o gráfico do cotovelo (elbow plot).
Este exercicio faz parte do curso
Análise de Clusters em R
Instruções do exercicio
- Use
map_dbl()para executarkmeans()usando os dados delineuppara valores de k de 1 a 10 e extraia o valor de soma total dos quadrados intra-cluster de cada modelo:model$tot.withinss. Armazene o vetor resultante comotot_withinss. - Construa um novo data frame
elbow_dfcontendo os valores de k e o vetor de soma total dos quadrados intra-cluster.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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 = ___
)