Contexto

La segmentación o cluster es un conjunto de técnicas cuyo propósito es formar grupos a partir de un conjunto de elementos.

Más información:
R for Data Science (2ed)

Paso 1. Instalar paquetes y llamar librerias.

#install.packages("cluster")
library(cluster)
## Warning: package 'cluster' was built under R version 4.3.2
#install.packages("ggplot2")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
#install.packages("data.table")
library(data.table)
## Warning: package 'data.table' was built under R version 4.3.2
#install.packages("factoextra")
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa

Paso 2. 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))

Paso 3. Cantidad de grupos

grupos <- 3

Paso 4. Generar los segmentos

segmentos <- kmeans(df, grupos)
segmentos
## K-means clustering with 3 clusters of sizes 3, 3, 2
## 
## Cluster means:
##          x        y
## 1 7.000000 4.333333
## 2 3.666667 9.000000
## 3 1.500000 3.500000
## 
## Clustering vector:
## [1] 2 3 1 2 1 1 3 2
## 
## Within cluster sum of squares by cluster:
## [1] 2.666667 6.666667 5.000000
##  (between_SS / total_SS =  85.8 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Paso 5. Asignar el grupo al que pertenece cada observación

asignacion <- cbind(df, cluster = segmentos$cluster)
asignacion
##   x  y cluster
## 1 2 10       2
## 2 2  5       3
## 3 8  4       1
## 4 5  8       2
## 5 7  5       1
## 6 6  4       1
## 7 1  2       3
## 8 4  9       2

Paso 6. Graficar los cluster

fviz_cluster(segmentos, data=df)

Paso 7. Optimizar la cantidad de grupos

La cantidad optima de grupos corresponde al punto más alto de la siguiente grafica.

set.seed(123)
optimizacion <- clusGap(df, FUN = kmeans, nstart = 1, K.max = 7)
plot(optimizacion, xlab="Numero de clusters k")

Conclusión

La segmantación o cluster es un algorimto útil para las empresas que desean clasificar sus clientes y dirigir campañas de marketing más enfocadas y especializadas.

LS0tDQp0aXRsZTogIlNlZ21lbnRhY2nDs24gKENsdXN0ZXJzKSINCmF1dGhvcjogIkRpZWdvIFBlcmV6IC0gQTAxMjc1NTYxIg0KZGF0ZTogIjIwMjQtMDItMTkiDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogVFJVRQ0KICAgIHRvY19mbG9hdDogVFJVRQ0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCi0tLQ0KDQohW10oQzpcVXNlcnNcRGllZ28gUMOpcmV6XERvd25sb2Fkc1xzZWdtZW50YWNpb25fZGltZW5zaW9uZXMuanBnKQ0KDQojIENvbnRleHRvDQpMYSAqKnNlZ21lbnRhY2nDs24qKiBvICpjbHVzdGVyKiBlcyB1biBjb25qdW50byBkZSB0w6ljbmljYXMgY3V5byBwcm9ww7NzaXRvIGVzIGZvcm1hciBncnVwb3MgYSBwYXJ0aXIgZGUgdW4gY29uanVudG8gZGUgZWxlbWVudG9zLiAgDQoNCk3DoXMgaW5mb3JtYWNpw7NuOiAgDQpbUiBmb3IgRGF0YSBTY2llbmNlICgyZWQpXShodHRwczovL3I0ZHMuaGFkbGV5Lm56LykNCg0KIyBQYXNvIDEuIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhcy4NCmBgYHtyfQ0KI2luc3RhbGwucGFja2FnZXMoImNsdXN0ZXIiKQ0KbGlicmFyeShjbHVzdGVyKQ0KI2luc3RhbGwucGFja2FnZXMoImdncGxvdDIiKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KI2luc3RhbGwucGFja2FnZXMoImRhdGEudGFibGUiKQ0KbGlicmFyeShkYXRhLnRhYmxlKQ0KI2luc3RhbGwucGFja2FnZXMoImZhY3RvZXh0cmEiKQ0KbGlicmFyeShmYWN0b2V4dHJhKQ0KYGBgDQoNCiMgUGFzbyAyLiBPYnRlbmVyIGxvcyBkYXRvcw0KYGBge3J9DQpkZiA8LSBkYXRhLmZyYW1lICh4PWMoMiwyLDgsNSw3LDYsMSw0KSx5PWMoMTAsNSw0LDgsNSw0LDIsOSkpDQpgYGANCg0KIyBQYXNvIDMuIENhbnRpZGFkIGRlIGdydXBvcw0KYGBge3J9DQpncnVwb3MgPC0gMw0KYGBgDQoNCiMgUGFzbyA0LiBHZW5lcmFyIGxvcyBzZWdtZW50b3MNCmBgYHtyfQ0Kc2VnbWVudG9zIDwtIGttZWFucyhkZiwgZ3J1cG9zKQ0Kc2VnbWVudG9zDQpgYGANCg0KIyBQYXNvIDUuIEFzaWduYXIgZWwgZ3J1cG8gYWwgcXVlIHBlcnRlbmVjZSBjYWRhIG9ic2VydmFjacOzbg0KYGBge3J9DQphc2lnbmFjaW9uIDwtIGNiaW5kKGRmLCBjbHVzdGVyID0gc2VnbWVudG9zJGNsdXN0ZXIpDQphc2lnbmFjaW9uDQpgYGANCg0KIyBQYXNvIDYuIEdyYWZpY2FyIGxvcyBjbHVzdGVyDQpgYGB7cn0NCmZ2aXpfY2x1c3RlcihzZWdtZW50b3MsIGRhdGE9ZGYpDQpgYGANCg0KIyBQYXNvIDcuIE9wdGltaXphciBsYSBjYW50aWRhZCBkZSBncnVwb3MNCkxhIGNhbnRpZGFkIG9wdGltYSBkZSBncnVwb3MgY29ycmVzcG9uZGUgYWwgcHVudG8gbcOhcyBhbHRvIGRlIGxhIHNpZ3VpZW50ZSBncmFmaWNhLg0KYGBge3J9DQpzZXQuc2VlZCgxMjMpDQpvcHRpbWl6YWNpb24gPC0gY2x1c0dhcChkZiwgRlVOID0ga21lYW5zLCBuc3RhcnQgPSAxLCBLLm1heCA9IDcpDQpwbG90KG9wdGltaXphY2lvbiwgeGxhYj0iTnVtZXJvIGRlIGNsdXN0ZXJzIGsiKQ0KYGBgDQoNCiMgQ29uY2x1c2nDs24NCkxhICoqc2VnbWFudGFjacOzbioqIG8gKmNsdXN0ZXIqIGVzIHVuIGFsZ29yaW10byDDunRpbCBwYXJhIGxhcyBlbXByZXNhcyBxdWUgZGVzZWFuIGNsYXNpZmljYXIgc3VzIGNsaWVudGVzIHkgZGlyaWdpciBjYW1wYcOxYXMgZGUgbWFya2V0aW5nIG3DoXMgZW5mb2NhZGFzIHkgZXNwZWNpYWxpemFkYXMu