
1. Librerias
library(dplyr)
library (ggplot2)
library(factoextra)
library (cluster)
library (data.table)
2. Crear base de datos con la base limpia
df<- read.csv("/Users/sarahyzayas/Library/Mobile Documents/com~apple~CloudDocs/1. TEC /7 sem/M4_Raul /Act 4.6/df_clusters")
muestra <- df[sample(nrow(df), nrow(df) * 0.3), ]
4. Determinar el número de grupos
grupos_sin_OPTIM <- 4
grupos_OPTIM <- 3
5. Realizar la clasificación
segmentos1 <- kmeans(df,grupos_sin_OPTIM)
segmentos2 <- kmeans(df,grupos_OPTIM)
6. Revisar la asignación de grupos
asignación <- cbind(df,cluster=segmentos1$cluster)
asignación <- cbind(df,cluster=segmentos2$cluster)
7. Graficar resultados
fviz_cluster(segmentos1,data=df, main = "CLUSTERS ANTES DE LA OPTIMIZACION")
8. Optimizar cantidad de grupos
#set.seed (123)
#optimización <- clusGap(muestra,FUN=kmeans, nstart=1, K.max=10)
#plot(optimización, xlab="Número de clusters")

NOTAS:
- De acuerdo a la función clusGap, la
cantidad de grupos para este análisis es 3, por lo que, en el sigueinte
paso se muestra el gráfico con 3 grupos.
- Debido a limitaciones de
capacidad del hadware, no se logró imprimir el gráfico con el tamaño
original de la base de datos, por lo que se optó por extraer una muestra
del 30% de los datos de la base original que fue lo máximo con lo que se
pudo alimentar este gráfico.
- El gráfico se presenta en captura de
pantalla para evitar problemas al usurio al moemnto de querer correr el
código, sin embargo, dicho código se presenta completo y correcto a
manera de comentario en el chunk.
9. Clusters optimizados
fviz_cluster(segmentos2,data=df, main = "CLUSTERS DESPUES DE LA OPTIMIZACION")
NOTAS:
- Después de obtener el número óptimo de
grupos o clusters con la función clusGap, obtuvimos que la cantidad
adecuada de grupos para estos datos es 3, tal como se muestra en la
grafica “CLUSTERS DESPUES DE LA OPTIMIZACION”.
- Se realizéo el
análisis con 3 y 4 grupos para ver que tanto variaban los resultados a
manera de comprativa.
LS0tCnRpdGxlOiAiNC42IEFuw6FsaXNpcyBkZSBDbHVzdGVycyIKYXV0aG9yOiAiWnVsZXljYSBTYXJhaHkgWmF5YXMgQmVsdHLDoW4iCmRhdGU6ICIyMDIzLTA5LTI3IgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQogICAgY29kZV9kb3dubG9hZDogVFJVRQogICAgdGhlbWU6ICJzaW1wbGV4IgogICAgaGlnaGxpZ2h0OiAibW9ub2Nocm9tZSIKLS0tCiFbXSgvVXNlcnMvc2FyYWh5emF5YXMvTGlicmFyeS9Nb2JpbGUgRG9jdW1lbnRzL2NvbX5hcHBsZX5DbG91ZERvY3MvMS4gVEVDIC83IHNlbS9NNF9SYXVsIC9BY3QgNC42L2NsdXN0ZXJzLmdpZil7d2lkdGg9NjUwcHggaGVpZ2h0PTQwMHB4fQoKCgojIDEuIExpYnJlcmlhcyAKYGBge3IsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkoZHBseXIpCmxpYnJhcnkgKGdncGxvdDIpCmxpYnJhcnkoZmFjdG9leHRyYSkKbGlicmFyeSAoY2x1c3RlcikKbGlicmFyeSAoZGF0YS50YWJsZSkKCmBgYAoKPGJyPgo8YnI+CgojIDIuIENyZWFyIGJhc2UgZGUgZGF0b3MgY29uIGxhIGJhc2UgbGltcGlhCgpgYGB7ciwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0KZGY8LSByZWFkLmNzdigiL1VzZXJzL3NhcmFoeXpheWFzL0xpYnJhcnkvTW9iaWxlIERvY3VtZW50cy9jb21+YXBwbGV+Q2xvdWREb2NzLzEuIFRFQyAvNyBzZW0vTTRfUmF1bCAvQWN0IDQuNi9kZl9jbHVzdGVycyIpCgptdWVzdHJhIDwtIGRmW3NhbXBsZShucm93KGRmKSwgbnJvdyhkZikgKiAwLjMpLCBdCmBgYAoKPGJyPgo8YnI+CgojIDMuIExpbXBpZXphIGV4dHJhIGRlIGJhc2UgZGUgZGF0b3MgcGFyYSBwb2RlciBjb3JyZXIgdW4gY2x1c3RlcgpgYGB7ciwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0KZGYgPC0gc2VsZWN0KGRmLCBUb3RhbF9JbmN1cnJlZF9Db3N0X0NsYWltLCB0aWVtcG9fZGVfcHJvY2VzYW1pZW50b19kYXlzKQpkZiA8LSBhcy5kYXRhLmZyYW1lKHNjYWxlKGRmKSkKZGYgPC0gbmEub21pdChkZikKYGBgCgo8YnI+Cjxicj4KCiMgNC4gRGV0ZXJtaW5hciBlbCBuw7ptZXJvIGRlIGdydXBvcwpgYGB7ciwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0KZ3J1cG9zX3Npbl9PUFRJTSA8LSA0IApncnVwb3NfT1BUSU0gPC0gMwoKYGBgCgo8YnI+Cjxicj4KCiMgNS4gUmVhbGl6YXIgbGEgY2xhc2lmaWNhY2nDs24KYGBge3IsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CnNlZ21lbnRvczEgPC0ga21lYW5zKGRmLGdydXBvc19zaW5fT1BUSU0pCnNlZ21lbnRvczIgPC0ga21lYW5zKGRmLGdydXBvc19PUFRJTSkKYGBgCjxicj4KPGJyPgoKCiMgNi4gIFJldmlzYXIgbGEgYXNpZ25hY2nDs24gZGUgZ3J1cG9zCmBgYHtyLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQphc2lnbmFjacOzbiA8LSBjYmluZChkZixjbHVzdGVyPXNlZ21lbnRvczEkY2x1c3RlcikKYXNpZ25hY2nDs24gPC0gY2JpbmQoZGYsY2x1c3Rlcj1zZWdtZW50b3MyJGNsdXN0ZXIpCmBgYAo8YnI+Cjxicj4KCgojIDcuIEdyYWZpY2FyIHJlc3VsdGFkb3MKYGBge3IsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9Cgpmdml6X2NsdXN0ZXIoc2VnbWVudG9zMSxkYXRhPWRmLCBtYWluID0gIkNMVVNURVJTIEFOVEVTIERFIExBIE9QVElNSVpBQ0lPTiIpCmBgYAo8YnI+Cjxicj4KCgojIDguIE9wdGltaXphciBjYW50aWRhZCBkZSBncnVwb3MKYGBge3IsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CiNzZXQuc2VlZCAoMTIzKQojb3B0aW1pemFjacOzbiA8LSBjbHVzR2FwKG11ZXN0cmEsRlVOPWttZWFucywgbnN0YXJ0PTEsIEsubWF4PTEwKQojcGxvdChvcHRpbWl6YWNpw7NuLCB4bGFiPSJOw7ptZXJvIGRlIGNsdXN0ZXJzIikKYGBgCgohW10oL1VzZXJzL3NhcmFoeXpheWFzL0xpYnJhcnkvTW9iaWxlIERvY3VtZW50cy9jb21+YXBwbGV+Q2xvdWREb2NzLzEuIFRFQyAvNyBzZW0vTTRfUmF1bCAvQWN0IDQuNi9udW1faWRlYWxfY2x1c3RlcnNsLmpwZWcpe3dpZHRoPTcwMHB4IGhlaWdodD01MDBweH0KIVtdKC9Vc2Vycy9zYXJhaHl6YXlhcy9MaWJyYXJ5L01vYmlsZSBEb2N1bWVudHMvY29tfmFwcGxlfkNsb3VkRG9jcy8xLiBURUMgLzcgc2VtL000X1JhdWwgL0FjdCA0LjYvbnVtX2lkZWFsX2NsdXN0ZXJzXzIuanBlZyl7d2lkdGg9NTAwcHggaGVpZ2h0PTE1MHB4fQoKCioqTk9UQVM6KiogPGJyPgotIERlIGFjdWVyZG8gYSBsYSBmdW5jacOzbiBjbHVzR2FwLCBsYSBjYW50aWRhZCBkZSBncnVwb3MgcGFyYSBlc3RlIGFuw6FsaXNpcyBlcyAzLCBwb3IgbG8gcXVlLCBlbiBlbCBzaWd1ZWludGUgcGFzbyBzZSBtdWVzdHJhIGVsIGdyw6FmaWNvIGNvbiAzIGdydXBvcy4gPGJyPgotIERlYmlkbyBhIGxpbWl0YWNpb25lcyBkZSBjYXBhY2lkYWQgZGVsIGhhZHdhcmUsIG5vIHNlIGxvZ3LDsyBpbXByaW1pciBlbCBncsOhZmljbyBjb24gZWwgdGFtYcOxbyBvcmlnaW5hbCBkZSBsYSBiYXNlIGRlIGRhdG9zLCBwb3IgbG8gcXVlIHNlIG9wdMOzIHBvciBleHRyYWVyIHVuYSBtdWVzdHJhIGRlbCAzMCUgZGUgbG9zIGRhdG9zIGRlIGxhIGJhc2Ugb3JpZ2luYWwgcXVlIGZ1ZSBsbyBtw6F4aW1vIGNvbiBsbyBxdWUgc2UgcHVkbyBhbGltZW50YXIgZXN0ZSBncsOhZmljby4gPGJyPgotIEVsIGdyw6FmaWNvIHNlIHByZXNlbnRhIGVuIGNhcHR1cmEgZGUgcGFudGFsbGEgcGFyYSBldml0YXIgcHJvYmxlbWFzIGFsIHVzdXJpbyBhbCBtb2VtbnRvIGRlIHF1ZXJlciBjb3JyZXIgZWwgY8OzZGlnbywgc2luIGVtYmFyZ28sIGRpY2hvIGPDs2RpZ28gc2UgcHJlc2VudGEgY29tcGxldG8geSBjb3JyZWN0byBhIG1hbmVyYSBkZSBjb21lbnRhcmlvIGVuIGVsIGNodW5rLiAKCjxicj4KPGJyPgoKCiMgOS4gQ2x1c3RlcnMgb3B0aW1pemFkb3MgCmBgYHtyLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQpmdml6X2NsdXN0ZXIoc2VnbWVudG9zMixkYXRhPWRmLCBtYWluID0gIkNMVVNURVJTIERFU1BVRVMgREUgTEEgT1BUSU1JWkFDSU9OIikKYGBgCjxicj4KCioqTk9UQVM6KiogPGJyPgotIERlc3B1w6lzIGRlIG9idGVuZXIgZWwgbsO6bWVybyDDs3B0aW1vIGRlIGdydXBvcyBvIGNsdXN0ZXJzIGNvbiBsYSBmdW5jacOzbiBjbHVzR2FwLCBvYnR1dmltb3MgcXVlIGxhIGNhbnRpZGFkIGFkZWN1YWRhIGRlIGdydXBvcyBwYXJhIGVzdG9zIGRhdG9zIGVzIDMsIHRhbCBjb21vIHNlIG11ZXN0cmEgZW4gbGEgZ3JhZmljYSAiQ0xVU1RFUlMgREVTUFVFUyBERSBMQSBPUFRJTUlaQUNJT04iLiA8YnI+Ci0gU2UgcmVhbGl6w6lvIGVsIGFuw6FsaXNpcyBjb24gMyB5IDQgZ3J1cG9zIHBhcmEgdmVyIHF1ZSB0YW50byB2YXJpYWJhbiBsb3MgcmVzdWx0YWRvcyBhIG1hbmVyYSBkZSBjb21wcmF0aXZhLiAKCgoKCg==