Contexto
La segmentación o clusters es un conjunto de técnicas cuyo propósito
es formar grupos a parir de elementos.
Instalar librerías
# install.packages("cluster")
library(cluster)
# install.packages("ggplot2")
library(ggplot2)
# install.packages("data.table")
library(data.table)
# install.packages("factoextra")
library(factoextra)
Obtener los datos
df <- data.frame(x=c(2,2,8,5,7,6,1,4), y=c (10,5,4,8,5,4,2,9))
Segmentación de datos
Cantidad de grupos
grupos <- 3
Generar los segmentos
segmentos <- kmeans(df,grupos)
segmentos
## K-means clustering with 3 clusters of sizes 3, 2, 3
##
## Cluster means:
## x y
## 1 7.000000 4.333333
## 2 1.500000 3.500000
## 3 3.666667 9.000000
##
## Clustering vector:
## [1] 3 2 1 3 1 1 2 3
##
## Within cluster sum of squares by cluster:
## [1] 2.666667 5.000000 6.666667
## (between_SS / total_SS = 85.8 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
Asignar el grupo al que pertenece cada observación
asignacion <- cbind(df, cluster = segmentos$cluster)
asignacion
## x y cluster
## 1 2 10 3
## 2 2 5 2
## 3 8 4 1
## 4 5 8 3
## 5 7 5 1
## 6 6 4 1
## 7 1 2 2
## 8 4 9 3
Graficar los clusters
fviz_cluster(segmentos, data = df)

Optimizar la cantidad de grupos
# La cantidad óptima de grupos correspondientes al punto más alto de la siguiente gráfica
set.seed(123)
optimizacion <- clusGap(df, FUN=kmeans, nstart=1, K.max =7)
plot(optimizacion, xlab="Número de clusters k")

Conclusión
La segmentación o agrupamiento es una técnica altamente
beneficiosa para las compañías que buscan categorizar a sus clientes y
desarrollar estrategias de marketing más precisas y
específicas.
Además de ser útil para la clasificación de clientes, la
segmentación también puede ayudar a las empresas a identificar patrones
de comportamiento entre grupos específicos de clientes, lo que permite
una mejor personalización de las campañas de marketing.
LS0tCnRpdGxlOiAiU2VnbWVudGFjacOzbjogOCBwdW50b3MiCmF1dGhvcjogIkRhdmlkIEhlcmVkaWEgU8OhbmNoZXoiCmRhdGU6ICIyMDI0LTAyLTE5IgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQogICAgY29kZV9kb3dubG9hZDogVFJVRQogICAgdGhlbWU6IGNvc21vCi0tLQohW10oL1VzZXJzL2RhdmlkMy9EZXNrdG9wLzEqd3ktTHVHcjFXSGhyX3Fpd2hwWVNOQS5naWYpCgojIENvbnRleHRvIApMYSBzZWdtZW50YWNpw7NuIG8gY2x1c3RlcnMgZXMgdW4gY29uanVudG8gZGUgdMOpY25pY2FzIGN1eW8gcHJvcMOzc2l0byBlcyBmb3JtYXIgZ3J1cG9zIGEgcGFyaXIgZGUgZWxlbWVudG9zLgoKIyMgSW5zdGFsYXIgbGlicmVyw61hcwpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQojIGluc3RhbGwucGFja2FnZXMoImNsdXN0ZXIiKQpsaWJyYXJ5KGNsdXN0ZXIpCiMgaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpCmxpYnJhcnkoZ2dwbG90MikKIyBpbnN0YWxsLnBhY2thZ2VzKCJkYXRhLnRhYmxlIikKbGlicmFyeShkYXRhLnRhYmxlKQojIGluc3RhbGwucGFja2FnZXMoImZhY3RvZXh0cmEiKQpsaWJyYXJ5KGZhY3RvZXh0cmEpCmBgYAoKIyMgT2J0ZW5lciBsb3MgZGF0b3MgCmBgYHtyfQpkZiA8LSBkYXRhLmZyYW1lKHg9YygyLDIsOCw1LDcsNiwxLDQpLCB5PWMgKDEwLDUsNCw4LDUsNCwyLDkpKQpgYGAKCiMgU2VnbWVudGFjacOzbiBkZSBkYXRvcwojIyBDYW50aWRhZCBkZSBncnVwb3MKYGBge3J9CmdydXBvcyA8LSAzCmBgYAoKIyMgR2VuZXJhciBsb3Mgc2VnbWVudG9zCmBgYHtyfQpzZWdtZW50b3MgPC0ga21lYW5zKGRmLGdydXBvcykKc2VnbWVudG9zCmBgYAoKIyMgQXNpZ25hciBlbCBncnVwbyBhbCBxdWUgcGVydGVuZWNlIGNhZGEgb2JzZXJ2YWNpw7NuCmBgYHtyfQphc2lnbmFjaW9uIDwtIGNiaW5kKGRmLCBjbHVzdGVyID0gc2VnbWVudG9zJGNsdXN0ZXIpCmFzaWduYWNpb24KYGBgCgojIEdyYWZpY2FyIGxvcyBjbHVzdGVycyAgCmBgYHtyfQpmdml6X2NsdXN0ZXIoc2VnbWVudG9zLCBkYXRhID0gZGYpCmBgYAogIAojIyBPcHRpbWl6YXIgbGEgY2FudGlkYWQgZGUgZ3J1cG9zCmBgYHtyfQojIExhIGNhbnRpZGFkIMOzcHRpbWEgZGUgZ3J1cG9zIGNvcnJlc3BvbmRpZW50ZXMgYWwgcHVudG8gbcOhcyBhbHRvIGRlIGxhIHNpZ3VpZW50ZSBncsOhZmljYQpzZXQuc2VlZCgxMjMpCm9wdGltaXphY2lvbiA8LSBjbHVzR2FwKGRmLCBGVU49a21lYW5zLCBuc3RhcnQ9MSwgSy5tYXggPTcpCnBsb3Qob3B0aW1pemFjaW9uLCB4bGFiPSJOw7ptZXJvIGRlIGNsdXN0ZXJzIGsiKQpgYGAKCiMjIENvbmNsdXNpw7NuCi0gTGEgc2VnbWVudGFjacOzbiBvIGFncnVwYW1pZW50byBlcyB1bmEgdMOpY25pY2EgYWx0YW1lbnRlIGJlbmVmaWNpb3NhIHBhcmEgbGFzIGNvbXBhw7HDrWFzIHF1ZSBidXNjYW4gY2F0ZWdvcml6YXIgYSBzdXMgY2xpZW50ZXMgeSBkZXNhcnJvbGxhciBlc3RyYXRlZ2lhcyBkZSBtYXJrZXRpbmcgbcOhcyBwcmVjaXNhcyB5IGVzcGVjw61maWNhcy4KCi0gQWRlbcOhcyBkZSBzZXIgw7p0aWwgcGFyYSBsYSBjbGFzaWZpY2FjacOzbiBkZSBjbGllbnRlcywgbGEgc2VnbWVudGFjacOzbiB0YW1iacOpbiBwdWVkZSBheXVkYXIgYSBsYXMgZW1wcmVzYXMgYSBpZGVudGlmaWNhciBwYXRyb25lcyBkZSBjb21wb3J0YW1pZW50byBlbnRyZSBncnVwb3MgZXNwZWPDrWZpY29zIGRlIGNsaWVudGVzLCBsbyBxdWUgcGVybWl0ZSB1bmEgbWVqb3IgcGVyc29uYWxpemFjacOzbiBkZSBsYXMgY2FtcGHDsWFzIGRlIG1hcmtldGluZy4=