A00832702 | Naila Itzel Salinas Alfaro
A01174155 | Mariana Ramírez Ramos
A01198184 | Karla Sánchez Del Ángel
A01722140 | Marcelo Tam Arica
A00833172 | Genaro Rodríguez Alcántara

20 de septiembre de 2023

Minería de Datos

Primeros pasos

# -----------------------------------------------------------
# 1. Importación de bibliotecas y lectura de datos
# -----------------------------------------------------------
# Cargar las bibliotecas necesarias
library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(cluster)

#rm(list = ls()) #Limpiar el ambiente de R
#getwd()


# Llamar un directorio (carpeta) -->  setwd("")
# 1. Cargar el conjunto de datos
datos <- read.csv("/Users/genarorodriguezalcantara/Desktop/Tec/Mineria de Datos/Semana 2/tarjetas_creditCSV.csv")
# 2. Seleccionar solo las variables numéricas
datos_numericos <- datos[sapply(datos, is.numeric)]
# 3. Escalar las variables numéricas
datos_escalados <- scale(datos_numericos)
# 4. Calcular las medianas de las variables numéricas escaladas, vector de inicialización
medianas <- apply(datos_escalados, 2, median)

set.seed(123) # Para reproducibilidad
k <- 3 # Cambia este valor por el número de clusters que deseas
indices_centroides_iniciales <- sample(1:nrow(datos_escalados), k) #indices de centroides iniciales
centroides_iniciales <- datos_escalados[indices_centroides_iniciales, ]

Ejecutar k-means con los centroides iniciales

# Ejecutar k-means con los centroides iniciales
resultado_kmeans <- kmeans(datos_escalados, centers = centroides_iniciales)

print(resultado_kmeans)
## K-means clustering with 3 clusters of sizes 497, 4275, 3228
## 
## Cluster means:
##            X2         X3         X4         X5         X6         X7         X8
## 1 -0.17828350 -0.4350833 -0.2691952 -0.1910644 -0.2870174  0.2877425 -0.2773700
## 2  0.04460317 -0.1811771 -0.3517118 -0.2504121 -0.3732565  0.1319315 -0.7565282
## 3 -0.03162071  0.3069295  0.5072360  0.3610505  0.5385127 -0.2190257  1.0446131
##           X9        X10        X11        X12        X13          X14
## 1 -0.2939841 -0.2882413  0.4452186 -0.3898503 -0.3032574 -0.171019119
## 2 -0.4153879 -0.6642465  0.2068282 -0.1209803 -0.1122674 -0.002419144
## 3  0.5953821  0.9240736 -0.3424610  0.2202436  0.1953724  0.029534803
##          X15        X18
## 1 -3.5608458 -0.1722474
## 2  0.2167526 -0.0745795
## 3  0.2611905  0.1252894
## 
## Clustering vector:
##    [1] 2 2 3 2 2 3 3 3 2 2 3 2 3 3 2 3 1 2 3 3 3 3 3 3 2 3 2 3 2 2 3 3 2 3 3 2 2
##   [38] 3 2 2 2 2 2 2 3 2 1 2 3 2 1 3 2 1 2 2 2 3 2 2 2 2 2 2 3 2 1 2 3 2 3 3 1 2
##   [75] 2 3 3 3 2 2 3 2 2 2 3 3 3 3 2 2 3 3 2 2 2 2 3 2 2 1 1 3 3 3 2 2 3 2 3 3 3
##  [112] 2 3 2 3 3 3 2 2 2 3 2 3 2 2 3 1 3 2 2 2 3 2 2 3 2 3 3 3 3 2 2 2 3 3 2 3 2
##  [149] 3 3 3 3 3 3 3 2 3 2 3 2 2 2 3 2 1 2 3 3 3 3 1 3 2 1 3 2 2 2 3 2 3 2 2 2 3
##  [186] 3 2 3 2 2 2 2 2 3 2 3 3 3 2 2 2 2 3 3 3 2 2 2 3 2 2 2 2 3 2 2 3 2 2 3 3 3
##  [223] 1 3 3 2 3 3 1 3 3 3 3 2 3 3 2 2 2 2 2 2 3 2 3 2 3 3 3 3 2 3 2 3 2 2 2 3 3
##  [260] 2 2 3 3 1 2 3 3 3 2 3 3 2 3 3 3 2 2 2 3 3 3 3 2 3 2 2 2 2 2 2 3 2 2 2 3 3
##  [297] 2 2 3 3 2 3 2 3 2 3 3 3 2 3 3 3 3 2 2 2 1 3 3 3 2 3 2 2 2 3 3 3 2 3 2 3 3
##  [334] 3 2 2 2 3 2 3 2 2 2 2 3 2 3 3 3 3 2 3 2 2 2 3 3 2 2 2 3 2 1 3 2 3 2 3 2 2
##  [371] 3 3 2 3 3 2 3 3 2 2 2 2 2 2 3 2 2 2 3 2 2 3 2 3 2 2 3 1 2 3 3 3 1 3 2 2 2
##  [408] 2 2 2 2 3 1 2 3 3 2 3 2 3 2 2 2 3 3 2 2 2 2 2 2 3 2 2 2 2 3 3 2 3 2 2 2 3
##  [445] 3 3 3 2 2 2 3 3 3 1 1 2 3 3 2 3 3 3 3 3 2 2 3 3 3 2 2 2 3 2 2 2 3 3 2 2 2
##  [482] 3 2 2 3 3 2 3 2 3 3 2 3 2 3 2 2 2 2 3 3 3 3 3 3 2 3 3 2 3 3 3 2 3 3 3 2 2
##  [519] 3 2 1 3 2 3 3 2 2 2 3 3 3 3 2 3 3 2 3 2 2 3 3 2 2 1 3 3 3 3 3 1 3 3 2 3 2
##  [556] 3 2 1 2 2 3 2 2 3 2 3 3 3 2 2 2 2 2 2 3 2 2 2 2 2 2 3 2 2 3 3 2 3 2 3 3 3
##  [593] 2 2 2 2 2 3 3 2 2 2 2 3 3 2 2 3 3 3 3 2 3 3 2 2 3 3 2 3 3 2 3 3 3 3 3 3 3
##  [630] 3 3 2 2 3 3 2 2 2 2 3 3 2 3 3 3 3 2 3 2 2 1 3 3 2 2 3 3 2 3 2 2 3 3 2 3 3
##  [667] 3 1 3 3 2 2 3 2 2 3 2 3 2 2 2 1 3 3 3 2 3 1 2 3 3 3 1 3 2 3 1 3 3 3 2 1 2
##  [704] 2 3 2 2 2 3 3 2 2 3 3 1 3 2 2 2 2 2 2 2 2 2 3 3 2 3 3 2 2 2 3 3 2 2 2 2 2
##  [741] 1 3 2 1 1 3 2 2 3 3 1 3 2 1 2 2 3 2 3 1 2 3 2 2 2 2 2 2 2 3 2 3 2 3 2 1 3
##  [778] 3 2 3 2 2 3 3 2 3 2 1 2 2 3 3 2 2 2 3 2 3 3 2 2 3 2 2 3 2 3 3 2 3 3 3 2 2
##  [815] 2 2 3 2 3 2 2 2 2 2 3 2 2 3 3 1 2 2 2 2 3 3 3 3 3 2 3 1 1 3 3 2 2 3 2 2 2
##  [852] 2 2 2 3 2 3 3 2 3 2 3 3 3 3 2 2 2 2 2 2 3 2 2 3 2 3 2 2 1 2 3 2 2 3 2 3 3
##  [889] 3 3 3 3 2 2 3 3 3 1 2 3 2 2 3 2 2 3 2 2 3 2 2 2 3 3 2 2 3 3 2 3 2 3 2 3 2
##  [926] 3 3 2 2 2 2 3 3 2 3 2 3 2 3 2 2 3 2 2 3 2 1 2 2 3 3 3 3 2 3 2 2 2 2 2 3 2
##  [963] 2 3 3 3 3 3 2 2 3 3 2 3 2 3 3 3 2 2 2 3 3 2 2 3 2 2 3 2 3 3 2 3 3 2 3 2 3
## [1000] 3 2 2 2 2 2 3 3 3 3 1 3 2 2 2 2 3 2 1 3 3 2 2 3 3 2 3 2 2 2 2 2 3 2 3 2 2
## [1037] 2 2 3 2 1 2 2 3 1 3 2 3 2 2 2 2 2 3 3 3 3 3 3 3 2 3 3 3 2 2 2 2 2 2 2 3 1
## [1074] 2 2 2 2 2 2 3 2 2 2 2 3 2 2 3 2 3 2 2 2 3 2 3 2 2 3 2 2 3 3 3 2 2 2 2 2 2
## [1111] 2 3 2 2 3 2 1 2 3 2 2 2 1 2 2 3 3 2 3 2 2 2 2 2 2 3 2 3 3 2 2 2 3 2 2 2 2
## [1148] 2 3 3 3 3 3 3 2 2 3 2 3 3 3 3 2 2 2 2 2 1 2 3 2 2 2 2 2 2 3 3 2 2 2 2 2 3
## [1185] 3 3 2 3 2 2 3 1 2 3 2 2 3 3 3 3 2 3 3 2 2 3 3 2 2 2 2 2 3 3 3 2 3 2 3 2 3
## [1222] 3 2 2 1 2 3 2 2 2 3 2 3 2 3 2 2 2 2 2 3 3 3 1 2 2 2 3 3 2 2 1 2 2 2 3 3 3
## [1259] 3 2 1 2 2 3 3 3 2 2 3 3 3 3 2 2 2 3 2 3 2 2 2 3 2 2 2 3 3 3 3 2 3 2 3 3 2
## [1296] 2 3 3 2 2 3 1 3 2 3 3 3 1 3 2 2 3 2 2 3 2 2 2 3 2 2 3 3 2 2 3 3 2 2 3 2 3
## [1333] 2 2 1 3 2 2 3 3 3 2 3 3 2 2 3 2 2 3 3 3 3 2 2 1 1 3 3 2 3 3 3 2 2 2 3 3 3
## [1370] 3 3 2 2 3 3 2 2 2 2 2 3 3 3 2 3 1 2 2 2 2 3 2 2 2 2 3 3 2 3 3 2 3 2 3 3 2
## [1407] 3 2 2 3 2 3 3 2 2 3 3 2 2 2 3 2 3 3 3 2 2 3 2 2 2 3 3 3 3 2 3 3 1 3 3 2 2
## [1444] 3 3 3 3 3 3 2 2 2 3 2 3 3 2 1 2 3 3 2 2 3 2 3 3 2 3 2 2 3 1 2 3 2 2 3 3 3
## [1481] 2 2 3 3 3 2 3 3 2 2 3 2 2 2 3 2 3 3 3 3 2 3 3 3 2 2 2 3 2 2 3 2 2 2 3 3 2
## [1518] 2 1 3 3 1 3 3 3 1 3 3 2 2 2 2 3 3 3 2 2 2 2 3 2 3 2 2 2 3 2 2 2 3 2 2 3 3
## [1555] 3 2 3 3 2 3 3 2 2 2 2 2 3 3 3 3 2 2 3 3 2 3 2 3 2 2 2 2 3 2 2 3 3 2 3 2 3
## [1592] 3 3 3 2 3 3 3 3 2 2 3 2 3 3 3 3 3 2 3 3 2 2 2 3 3 3 3 3 3 2 2 2 3 3 2 1 2
## [1629] 3 1 2 3 2 1 2 2 2 2 3 3 2 3 3 2 3 2 2 3 2 3 3 2 2 3 3 2 3 3 2 2 1 3 2 3 3
## [1666] 2 3 3 2 1 3 2 1 3 3 2 2 3 3 2 2 3 2 2 3 3 2 3 2 2 3 2 2 2 2 2 2 3 2 2 2 2
## [1703] 3 3 3 2 2 3 3 3 3 3 2 2 3 3 3 3 2 3 3 3 3 3 2 1 2 3 3 3 2 2 2 2 3 2 2 2 3
## [1740] 3 2 3 3 2 3 3 3 3 2 3 2 3 2 3 3 3 3 2 3 3 2 2 3 3 3 3 2 3 3 2 3 3 3 3 1 3
## [1777] 2 2 2 2 2 3 3 2 3 2 2 2 3 2 3 3 2 2 2 2 3 3 2 2 2 2 2 3 2 3 3 2 1 2 2 2 2
## [1814] 3 3 3 2 3 2 2 2 3 3 3 3 2 3 3 3 3 2 2 2 2 3 3 3 3 2 2 3 3 3 3 3 3 2 2 3 3
## [1851] 2 3 2 2 2 3 2 3 2 2 3 3 3 2 3 3 2 3 2 2 3 3 2 3 2 3 3 2 3 2 3 3 2 2 3 2 2
## [1888] 2 2 2 1 3 2 3 2 2 1 2 3 2 2 1 3 3 2 2 3 2 3 3 3 2 3 2 3 3 2 2 3 2 2 3 2 2
## [1925] 2 1 3 2 2 3 3 3 2 2 2 2 3 1 2 2 1 2 1 3 3 2 3 3 3 3 2 2 3 3 3 2 1 3 2 3 2
## [1962] 3 2 1 3 2 2 3 3 2 2 1 2 3 2 3 2 3 2 3 2 2 2 3 2 3 3 2 2 3 3 3 2 1 2 2 1 3
## [1999] 2 3 2 2 2 2 3 2 2 3 1 3 2 2 3 2 2 3 3 2 3 2 2 2 3 3 3 3 2 2 3 3 3 3 3 3 2
## [2036] 2 2 3 2 1 3 2 3 2 2 2 3 3 2 2 2 3 2 2 3 3 2 2 2 3 1 2 1 2 2 1 2 3 3 3 2 3
## [2073] 2 2 3 2 3 3 2 3 3 3 3 2 3 2 3 2 3 2 2 1 3 3 3 3 2 1 2 2 2 2 2 2 2 2 2 3 2
## [2110] 3 3 2 3 2 2 3 3 1 2 2 2 2 3 2 3 3 2 2 2 3 2 2 3 2 3 2 3 2 3 2 3 2 2 3 2 2
## [2147] 3 3 2 2 3 2 1 3 3 2 2 3 3 2 2 3 3 2 3 3 2 2 3 2 2 2 3 2 1 3 3 3 3 2 2 2 3
## [2184] 3 2 3 2 3 3 2 2 2 2 2 2 2 2 3 2 2 2 2 2 3 3 3 2 3 3 3 2 2 3 2 3 2 2 3 3 2
## [2221] 3 2 3 2 2 3 3 2 2 2 3 2 3 2 2 3 3 1 3 3 2 3 2 2 3 3 2 2 2 2 3 3 2 3 2 3 3
## [2258] 3 2 3 1 3 3 2 2 3 1 2 1 1 2 2 3 2 3 2 3 3 2 3 3 2 2 2 2 3 3 3 3 2 3 3 2 3
## [2295] 2 2 3 2 3 2 2 3 2 3 2 2 2 1 2 3 3 3 3 2 3 2 1 3 3 2 2 2 2 2 2 3 2 3 2 2 3
## [2332] 3 3 1 3 2 3 3 2 3 2 3 2 2 1 3 3 3 2 2 2 3 2 2 3 3 2 3 2 3 3 3 3 3 3 2 2 2
## [2369] 3 3 2 1 3 3 3 2 3 1 2 3 3 3 3 2 3 2 2 2 3 2 2 3 3 2 2 3 2 2 3 2 3 2 2 3 3
## [2406] 3 3 1 2 3 2 3 2 2 2 3 3 3 3 2 3 3 2 2 2 2 2 2 2 2 2 3 2 3 3 2 3 2 1 2 3 3
## [2443] 3 3 3 3 3 2 2 2 2 2 2 3 2 1 2 3 1 2 2 2 1 2 3 2 2 3 3 3 2 3 2 3 2 1 3 3 2
## [2480] 1 3 2 2 2 3 3 2 1 2 2 2 1 3 2 2 2 2 2 3 3 3 3 2 3 2 2 3 2 3 3 2 2 2 2 2 3
## [2517] 3 2 3 2 2 2 3 3 3 2 2 3 3 1 3 1 2 2 3 2 3 3 2 3 2 2 2 2 1 3 2 2 2 3 3 3 2
## [2554] 3 2 1 2 1 3 2 3 3 2 2 2 2 2 3 3 2 2 2 2 3 3 2 2 2 3 2 2 2 3 3 2 2 3 2 2 2
## [2591] 3 3 2 2 3 2 2 2 2 2 3 3 2 2 3 2 2 2 2 3 2 2 2 3 2 2 2 2 3 2 3 1 3 2 3 1 2
## [2628] 3 2 3 2 2 3 2 2 3 2 2 2 2 3 3 2 2 2 2 3 3 2 3 2 2 2 3 2 3 3 2 2 2 2 2 3 2
## [2665] 3 3 3 2 3 2 2 3 2 2 2 2 2 2 3 3 2 2 1 3 2 2 3 3 3 3 2 2 2 2 2 2 3 3 3 2 2
## [2702] 2 3 2 2 2 2 3 2 3 2 2 3 1 2 3 1 3 3 3 2 3 2 3 3 2 1 2 3 2 2 3 3 2 3 2 2 3
## [2739] 2 2 2 2 2 3 3 3 2 2 3 1 3 3 3 2 2 2 2 3 3 3 3 3 2 3 2 3 2 3 3 2 2 2 2 2 2
## [2776] 2 3 2 3 2 2 3 3 3 3 2 3 2 2 2 2 2 2 3 2 2 3 2 2 3 3 3 2 3 2 2 3 2 2 3 3 3
## [2813] 2 3 2 1 3 2 1 2 2 2 3 3 2 1 2 3 2 2 2 2 3 3 3 2 2 3 2 2 2 2 3 3 2 2 2 3 3
## [2850] 3 2 2 3 3 3 2 3 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3 3 3 2 3 2 3 2 2 2 2 2 2 2 3
## [2887] 2 2 2 1 2 3 3 2 2 2 1 3 2 3 3 2 2 3 3 3 1 3 2 2 2 2 2 3 3 2 3 3 3 2 2 2 2
## [2924] 2 2 2 2 3 2 2 3 3 3 2 3 2 2 1 2 2 3 2 2 2 2 2 2 2 3 1 2 3 2 2 2 2 2 2 3 3
## [2961] 2 3 2 2 2 2 2 2 2 2 3 2 3 2 1 3 3 3 3 2 2 3 2 2 2 3 2 3 3 2 2 1 2 3 2 2 2
## [2998] 3 3 2 3 2 2 2 3 2 3 3 3 2 3 1 2 3 2 3 2 3 3 3 3 2 3 3 3 3 3 2 3 2 3 2 2 2
## [3035] 2 2 3 2 1 2 2 3 3 2 2 1 2 3 2 1 2 2 3 3 3 3 3 3 3 3 2 2 3 2 3 2 2 2 2 3 2
## [3072] 2 2 3 3 2 2 2 2 2 3 3 2 2 2 2 2 2 3 2 2 2 2 3 2 1 3 2 2 2 3 3 2 2 2 3 2 2
## [3109] 3 3 2 3 3 1 2 2 3 2 3 2 2 3 3 3 3 2 3 2 3 2 3 2 3 2 3 2 2 2 3 3 3 2 3 2 2
## [3146] 3 3 2 2 3 3 3 2 2 3 2 3 3 3 3 3 2 2 2 2 2 2 2 2 2 3 3 3 2 2 2 3 3 2 2 3 3
## [3183] 2 2 1 3 2 2 3 2 2 3 2 2 2 3 3 2 2 2 3 2 2 3 2 3 2 2 2 2 2 2 3 2 2 2 2 2 2
## [3220] 2 2 2 2 2 2 1 2 2 3 2 3 3 2 3 3 1 2 2 3 2 3 3 2 2 2 2 3 2 3 1 2 3 2 1 2 3
## [3257] 3 2 3 2 2 2 2 2 2 2 2 3 2 3 3 2 2 2 2 3 3 3 3 2 2 3 3 2 3 2 3 3 3 2 2 2 3
## [3294] 2 2 2 2 1 2 3 2 3 3 2 3 2 2 2 2 2 3 1 3 1 3 3 2 2 2 1 3 2 2 2 3 3 2 2 2 2
## [3331] 3 2 3 2 2 3 3 2 2 2 2 2 2 2 2 2 2 3 3 2 3 2 2 1 3 2 3 2 3 2 2 2 1 2 2 2 2
## [3368] 2 3 3 3 3 2 2 1 2 2 3 3 3 2 2 3 2 1 2 2 3 3 2 2 3 2 3 3 2 3 2 3 3 2 2 3 3
## [3405] 3 2 2 3 3 2 3 3 1 2 2 2 2 3 2 3 2 3 2 3 2 3 2 3 3 2 2 2 2 2 3 3 3 3 2 3 1
## [3442] 2 3 2 2 2 3 3 2 3 2 1 3 2 3 2 3 2 2 1 3 2 3 3 2 3 2 3 2 2 1 2 2 2 2 3 3 2
## [3479] 2 3 2 2 2 2 2 3 2 2 1 3 2 3 3 3 2 3 2 2 3 3 2 2 2 3 2 2 3 1 2 3 3 3 3 3 1
## [3516] 2 3 2 3 2 3 3 3 2 2 3 3 3 2 2 3 3 2 2 1 2 3 3 3 2 3 2 2 3 3 2 2 2 2 2 3 2
## [3553] 2 3 3 2 2 3 2 2 2 3 3 1 2 2 2 2 3 3 2 2 2 2 2 2 3 2 3 2 2 3 3 3 3 3 2 3 2
## [3590] 3 2 2 2 3 1 3 2 3 1 1 2 3 2 2 3 2 2 3 3 3 2 3 2 3 2 2 2 2 2 2 3 2 2 2 2 1
## [3627] 2 1 2 2 2 3 2 3 2 2 3 3 3 2 2 2 2 3 3 1 3 2 2 1 3 2 3 2 2 2 2 2 3 3 2 3 2
## [3664] 3 3 2 2 2 3 3 3 3 2 3 3 2 3 2 2 2 3 2 3 1 2 2 2 3 3 3 3 3 3 3 3 3 1 3 3 2
## [3701] 2 1 3 2 2 3 2 3 3 3 3 1 3 3 3 2 2 3 3 3 2 3 2 2 2 3 3 2 2 3 3 2 2 3 3 2 2
## [3738] 2 3 2 3 2 3 3 3 3 2 2 3 2 3 1 2 3 3 1 3 3 3 1 1 3 2 3 3 3 2 1 3 2 3 2 2 2
## [3775] 3 2 2 3 3 2 2 2 3 3 2 3 3 2 3 2 2 3 2 2 3 2 3 2 2 1 3 3 2 3 2 2 3 3 3 3 2
## [3812] 2 2 3 2 3 3 2 2 2 2 2 2 3 2 2 2 2 3 2 3 2 3 3 2 3 3 2 3 2 2 2 2 3 2 2 3 3
## [3849] 3 3 2 2 2 3 3 3 3 3 2 3 2 2 3 2 3 2 3 2 3 2 3 2 3 2 1 3 2 2 3 2 2 3 2 3 1
## [3886] 3 3 3 3 2 3 2 3 2 2 2 2 3 2 3 2 3 2 2 2 3 2 2 2 2 3 2 2 2 3 2 1 3 2 1 2 2
## [3923] 2 2 2 2 3 3 2 3 2 2 3 1 2 3 2 3 3 3 2 2 2 3 3 2 3 3 3 2 2 2 2 2 3 3 3 2 2
## [3960] 2 3 2 2 2 2 3 2 2 2 3 2 3 2 2 2 2 3 3 2 2 3 3 2 2 3 2 1 3 3 1 2 3 2 2 2 2
## [3997] 2 3 3 2 2 2 3 2 3 2 3 3 2 2 3 3 3 3 3 2 2 2 2 3 2 2 2 3 2 3 2 3 2 2 3 3 3
## [4034] 3 2 2 3 3 2 1 2 1 2 2 2 2 2 2 2 2 3 3 2 3 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2
## [4071] 2 2 3 3 3 3 3 2 2 1 2 3 2 2 2 3 3 2 2 2 2 2 3 2 2 2 3 2 2 1 2 2 3 2 2 3 2
## [4108] 3 2 3 3 2 3 2 2 2 2 2 2 3 1 2 3 2 3 2 3 3 2 2 2 2 2 3 1 3 3 2 3 2 3 3 3 2
## [4145] 2 2 3 3 2 2 3 2 2 3 2 3 3 2 1 2 3 3 2 2 3 2 2 3 2 3 2 2 2 2 2 2 3 2 2 1 2
## [4182] 2 2 2 3 3 3 3 1 2 3 2 2 2 2 2 1 2 2 1 3 2 3 2 3 2 3 3 3 2 3 3 3 3 1 2 3 2
## [4219] 2 1 3 2 2 2 1 2 2 2 2 3 2 2 3 2 2 3 2 1 2 1 3 2 2 2 3 3 2 3 3 2 3 2 2 2 2
## [4256] 2 2 3 2 3 3 2 2 2 3 2 3 2 2 3 2 3 3 2 2 2 3 3 2 2 3 2 3 3 3 3 2 3 3 3 2 3
## [4293] 2 2 2 2 3 3 2 3 3 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 3 3 3 2 3 2 2
## [4330] 3 2 2 1 3 1 2 3 2 2 3 2 2 2 3 2 2 2 2 1 3 3 2 2 3 3 2 3 2 3 2 3 2 2 2 3 2
## [4367] 3 3 2 3 3 3 2 3 2 3 3 2 3 3 1 3 3 3 2 2 3 3 2 3 2 2 3 3 2 3 3 3 2 2 2 2 2
## [4404] 3 2 2 2 1 2 3 2 2 2 2 2 3 2 2 2 2 2 2 3 2 3 2 2 3 3 2 2 2 3 2 3 2 3 3 3 2
## [4441] 3 3 1 2 3 2 3 2 3 2 2 2 2 2 2 1 3 3 1 2 2 1 3 3 3 2 3 3 1 1 3 2 3 3 2 3 3
## [4478] 2 3 2 3 3 3 2 2 2 3 1 3 2 2 2 2 2 2 3 2 3 2 2 2 3 2 1 2 3 2 2 3 2 3 2 3 2
## [4515] 2 3 3 3 3 3 2 2 3 2 2 2 2 2 2 2 2 3 3 2 2 3 3 3 2 1 3 3 3 2 2 1 3 3 2 2 3
## [4552] 1 3 3 2 3 2 3 2 3 2 1 2 2 1 2 2 3 2 2 2 2 3 3 2 3 2 3 2 1 2 3 2 2 3 3 3 2
## [4589] 3 2 2 2 2 1 2 2 2 2 3 2 2 3 2 2 2 2 3 2 1 2 3 2 2 3 3 2 3 2 3 2 2 2 2 2 2
## [4626] 3 2 2 2 2 3 2 2 3 2 2 3 2 3 3 2 3 2 3 2 3 2 2 3 1 2 3 3 2 2 3 2 3 2 3 2 3
## [4663] 1 2 2 2 3 2 3 2 3 2 3 3 3 2 1 3 2 2 3 2 2 3 2 2 2 2 2 2 2 2 3 2 2 2 3 2 1
## [4700] 2 1 2 1 3 2 2 3 3 3 3 2 2 3 2 2 2 3 2 2 2 2 2 2 1 2 3 3 1 2 3 2 2 2 3 2 2
## [4737] 3 2 2 2 2 3 2 2 3 2 2 2 2 3 2 3 2 3 2 2 3 2 3 3 3 2 2 3 2 2 2 2 3 2 2 2 2
## [4774] 3 3 2 2 2 2 2 1 2 2 2 3 2 2 1 2 2 3 2 3 2 2 3 2 3 2 2 1 2 3 2 1 2 2 2 3 2
## [4811] 2 2 2 3 2 3 2 3 2 2 3 2 3 1 3 2 3 2 3 3 3 1 3 2 1 2 2 1 2 2 2 3 3 2 3 3 2
## [4848] 2 2 3 2 2 2 3 2 2 3 2 3 2 3 3 3 2 2 3 2 3 3 3 2 2 2 2 2 3 3 2 2 3 2 3 3 2
## [4885] 1 3 2 2 3 3 2 3 2 3 2 2 3 3 2 1 3 3 2 3 3 3 3 2 2 2 1 3 2 3 2 2 1 3 2 3 3
## [4922] 3 1 2 3 3 2 3 2 2 2 2 2 2 2 2 2 3 2 1 1 1 2 2 2 2 2 2 2 2 3 3 1 2 2 2 2 2
## [4959] 3 3 3 2 2 2 3 3 2 2 2 2 3 2 2 2 2 2 2 2 2 3 3 3 3 3 3 1 2 2 2 2 3 2 3 3 2
## [4996] 2 2 3 3 2 3 3 2 2 2 2 2 2 3 2 3 2 2 3 3 2 3 2 3 2 3 1 3 3 2 2 2 3 3 2 2 2
## [5033] 2 2 1 2 2 1 2 3 2 2 2 2 3 2 3 2 3 3 3 3 2 1 3 1 3 2 3 2 2 2 2 3 3 3 2 1 2
## [5070] 2 3 2 2 2 3 3 3 2 3 2 3 3 2 2 2 2 3 3 3 3 2 3 2 3 3 3 2 2 3 2 2 2 2 2 2 2
## [5107] 2 2 2 2 3 3 2 2 2 2 2 2 3 2 3 2 2 2 2 2 2 3 3 3 2 2 2 3 2 3 3 3 2 2 2 2 2
## [5144] 3 2 2 2 2 3 1 2 2 2 3 1 2 3 1 1 3 3 2 2 2 2 3 1 3 3 2 1 1 2 2 1 3 3 3 2 3
## [5181] 2 2 1 3 2 2 2 2 2 3 3 2 1 2 3 2 3 3 2 3 3 2 1 1 2 2 2 3 3 2 1 2 3 2 2 2 2
## [5218] 3 3 2 1 3 3 2 2 2 3 2 1 3 2 3 2 3 2 2 3 2 3 3 3 2 2 2 1 2 1 2 2 3 3 3 2 1
## [5255] 2 3 3 2 3 2 3 1 3 3 3 2 2 3 3 2 2 2 1 3 2 3 3 2 1 2 3 3 2 2 2 2 3 2 3 2 3
## [5292] 1 2 2 3 2 2 2 3 3 1 2 2 3 3 2 1 2 3 3 3 3 2 2 2 2 2 2 3 2 2 2 3 2 2 3 2 3
## [5329] 1 3 2 3 2 2 3 2 2 3 3 2 3 2 3 3 1 2 2 1 3 2 3 3 2 2 3 3 2 3 3 3 2 3 2 2 3
## [5366] 2 2 3 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 3 2 2 2 1 3 2 3 2 3 2 2 3 3
## [5403] 2 2 3 2 2 3 2 3 2 2 2 1 2 2 3 2 3 3 3 3 2 2 3 3 3 3 2 2 2 3 3 2 2 1 2 2 3
## [5440] 2 2 2 2 2 3 2 2 3 2 2 3 2 2 3 3 3 3 2 2 2 3 2 3 2 2 2 1 2 2 2 2 3 3 2 3 3
## [5477] 3 2 3 3 2 2 2 2 2 1 2 2 2 2 3 3 3 2 2 3 3 2 2 2 3 3 2 2 2 2 3 2 2 3 2 2 3
## [5514] 2 3 3 3 2 2 2 1 3 2 1 3 3 2 3 2 2 2 3 2 3 2 1 2 2 1 3 3 2 3 2 3 3 2 3 2 3
## [5551] 2 3 2 2 3 3 1 2 3 3 3 2 2 3 2 2 2 3 2 2 3 1 2 3 2 3 2 3 3 3 2 2 3 3 3 2 3
## [5588] 2 2 3 2 2 2 2 2 2 2 3 2 3 2 2 2 3 2 2 3 2 3 2 2 2 2 2 3 3 2 2 2 3 3 2 2 2
## [5625] 3 2 2 3 2 3 2 2 2 2 3 1 2 3 2 2 2 2 2 2 2 3 2 2 2 3 1 3 1 2 3 2 3 3 2 2 3
## [5662] 1 2 2 3 2 3 2 1 2 3 2 3 3 3 2 1 2 3 3 2 2 2 3 2 1 2 3 2 3 2 2 2 2 3 3 2 2
## [5699] 3 3 2 2 2 2 1 2 3 3 3 2 2 2 1 3 2 2 3 2 3 3 2 2 2 2 3 2 2 2 3 2 3 2 3 2 3
## [5736] 2 2 2 3 2 2 2 3 2 3 2 2 3 2 2 3 3 1 2 2 3 2 3 2 2 2 2 3 3 2 2 2 2 2 2 3 3
## [5773] 2 2 2 2 3 2 3 2 2 3 2 3 2 2 3 3 3 2 2 2 2 2 3 3 2 2 3 2 2 2 2 2 3 3 3 3 2
## [5810] 3 2 2 3 2 2 3 2 2 2 3 2 3 2 2 3 2 3 2 1 2 2 3 3 2 3 2 3 2 2 3 2 3 2 1 3 2
## [5847] 2 3 2 1 2 2 3 2 3 3 3 1 3 2 3 3 3 2 2 1 3 2 2 3 2 1 3 3 2 3 2 1 2 3 2 3 2
## [5884] 3 2 2 2 2 2 2 3 2 3 2 3 2 2 3 1 2 2 1 2 2 1 1 1 3 3 1 2 2 2 2 1 2 2 2 2 2
## [5921] 2 2 3 2 2 3 2 3 2 3 3 1 3 2 1 3 3 3 2 2 3 3 2 2 3 3 2 2 3 3 2 3 3 1 2 3 1
## [5958] 3 2 3 3 3 3 3 3 3 2 2 2 2 2 2 3 2 2 3 3 2 3 2 2 3 2 2 2 2 3 2 2 2 2 2 2 2
## [5995] 2 2 2 3 2 2 3 2 3 2 2 2 2 3 2 3 2 2 3 1 2 2 2 2 1 3 2 3 1 2 2 3 3 3 3 2 3
## [6032] 2 3 3 1 3 3 2 3 2 3 3 2 3 2 2 3 2 3 3 3 2 2 2 2 3 2 3 3 2 3 2 1 3 2 3 2 1
## [6069] 2 3 2 2 3 1 2 2 3 3 3 1 3 3 2 2 3 2 3 2 2 2 3 3 1 3 3 3 3 3 2 3 3 1 2 3 2
## [6106] 3 2 2 3 3 2 2 1 3 3 2 2 2 2 1 2 3 2 2 2 2 3 3 3 2 2 3 2 3 3 2 2 2 2 1 2 3
## [6143] 2 2 1 3 2 3 3 2 2 3 2 3 2 3 3 3 3 2 3 2 2 2 2 3 2 2 1 2 3 3 2 3 3 2 3 2 2
## [6180] 2 2 2 2 3 3 3 2 2 2 2 3 3 2 3 2 2 2 2 3 2 2 2 1 2 3 2 3 2 1 2 3 2 2 3 2 2
## [6217] 3 2 3 3 1 2 3 3 2 2 2 2 2 2 3 1 2 3 2 2 1 2 3 3 2 2 3 2 2 2 2 2 3 3 2 2 2
## [6254] 3 1 2 3 1 3 2 2 2 2 2 3 2 2 3 3 2 2 3 1 3 1 3 3 2 2 3 3 2 1 3 3 2 2 3 2 2
## [6291] 3 1 3 2 2 2 3 3 3 2 2 2 3 3 3 3 3 2 2 2 2 3 2 2 2 3 3 3 2 3 3 2 2 3 2 3 2
## [6328] 1 2 3 2 3 3 2 3 2 3 2 2 2 2 2 2 2 2 3 2 3 2 3 2 2 3 3 2 1 2 2 3 2 2 2 2 2
## [6365] 2 1 2 2 3 3 1 2 3 2 3 3 2 2 2 2 3 3 3 3 2 2 2 2 3 2 3 2 3 2 2 3 2 2 2 2 3
## [6402] 2 2 3 1 2 2 3 2 2 2 2 1 2 2 3 2 2 2 2 3 2 2 3 3 2 3 2 3 3 2 3 1 2 1 3 1 2
## [6439] 3 2 3 3 2 3 3 2 2 2 2 2 3 3 2 3 1 2 1 2 3 3 3 2 2 2 2 2 3 3 2 2 3 2 2 2 2
## [6476] 2 3 2 2 2 3 2 3 3 3 2 2 3 3 3 3 2 2 3 2 3 3 2 1 3 3 1 2 3 2 3 2 3 3 2 1 3
## [6513] 3 2 2 2 3 1 1 3 3 2 2 3 2 2 2 3 3 3 1 2 2 3 2 1 3 2 2 3 2 3 2 1 2 2 2 3 2
## [6550] 2 2 2 2 3 3 3 3 1 2 3 3 2 2 2 2 2 2 2 2 3 3 2 1 2 3 3 2 3 3 2 2 3 2 3 2 2
## [6587] 2 3 3 2 1 2 3 2 2 2 2 2 2 2 3 2 3 3 2 2 2 2 3 3 3 3 1 3 2 2 3 1 3 2 2 2 2
## [6624] 3 3 3 3 3 2 3 2 2 3 2 3 3 3 2 3 2 3 2 1 2 2 2 2 3 3 2 3 3 2 2 1 3 3 2 2 2
## [6661] 3 3 1 1 2 2 3 2 2 2 3 2 2 2 2 2 1 2 3 2 2 2 3 2 2 2 3 3 3 3 2 3 2 3 2 2 1
## [6698] 3 3 2 2 1 2 2 3 2 3 2 3 3 2 2 2 3 1 3 2 3 2 2 2 2 3 2 3 1 2 2 3 2 3 2 3 2
## [6735] 2 3 2 3 2 2 1 2 2 2 3 3 3 3 2 3 3 3 3 3 2 3 2 3 2 1 2 2 2 3 3 2 2 2 2 3 2
## [6772] 2 1 2 2 2 2 3 3 3 2 3 3 2 3 1 1 2 3 1 2 2 2 1 2 3 2 3 3 3 2 2 2 2 3 3 2 3
## [6809] 2 3 2 2 2 2 1 2 2 2 3 2 3 3 2 2 2 3 2 3 3 2 3 3 2 3 2 3 2 3 3 2 2 1 1 1 2
## [6846] 2 3 3 2 2 3 2 2 2 2 2 3 3 1 2 3 3 2 2 2 3 2 1 2 3 2 3 2 1 2 3 2 2 2 2 2 2
## [6883] 2 3 2 2 2 3 3 2 3 2 1 3 2 3 3 3 2 2 2 2 3 3 3 2 3 2 2 2 2 3 2 2 2 2 3 2 3
## [6920] 2 2 3 3 2 3 3 2 2 3 3 2 2 2 3 2 2 1 3 1 2 1 2 2 2 3 2 2 2 3 2 2 2 2 2 3 2
## [6957] 2 3 2 2 2 3 2 2 2 2 2 3 1 1 3 2 3 2 1 3 2 3 3 2 3 2 3 3 2 2 1 3 3 2 3 1 3
## [6994] 2 2 2 2 1 3 3 3 2 2 2 3 2 2 2 3 3 2 2 2 3 3 2 3 2 3 3 2 2 3 3 2 3 2 2 3 3
## [7031] 3 3 2 2 2 3 2 2 3 3 2 2 1 1 1 2 3 3 3 3 2 3 2 2 2 1 2 2 3 2 3 2 3 2 1 2 2
## [7068] 3 2 2 2 3 2 2 2 2 2 2 3 3 2 3 3 2 3 3 2 2 2 2 2 2 2 2 3 1 2 1 3 2 3 2 1 3
## [7105] 2 2 3 2 2 2 2 3 2 3 3 3 2 3 3 2 2 2 3 2 3 1 3 3 3 2 2 2 2 2 3 2 2 3 3 2 2
## [7142] 3 2 2 2 3 2 2 3 3 3 3 3 2 3 2 2 2 2 3 2 2 3 2 2 2 2 1 2 2 2 2 2 2 2 3 1 3
## [7179] 2 2 2 2 3 2 3 2 2 3 3 2 3 2 2 2 2 3 3 2 2 3 2 2 2 2 2 2 3 2 3 3 2 2 2 2 2
## [7216] 2 2 2 2 2 3 2 2 3 3 2 3 2 2 3 3 2 3 2 3 1 1 2 1 2 2 2 3 2 3 3 3 2 2 2 2 2
## [7253] 3 2 3 2 2 2 2 2 2 2 3 3 2 3 2 2 2 3 3 3 2 1 2 2 2 3 1 3 2 3 3 2 3 2 3 2 2
## [7290] 3 1 2 2 2 3 1 2 2 3 2 2 3 1 2 2 2 3 2 3 3 2 3 3 2 1 2 3 1 2 3 3 3 3 2 2 2
## [7327] 2 2 3 2 3 3 2 2 3 2 3 3 1 2 3 3 3 2 1 3 3 3 3 3 3 1 3 3 3 3 3 3 2 2 2 3 2
## [7364] 2 2 3 3 2 3 3 3 2 3 3 2 2 3 3 3 2 2 1 3 2 2 3 2 3 3 2 2 2 2 2 2 2 2 2 2 2
## [7401] 2 2 2 2 1 2 2 2 3 1 2 2 2 1 2 1 3 3 2 3 2 2 2 2 2 2 2 3 2 3 2 3 2 3 1 2 3
## [7438] 1 3 2 2 2 2 1 3 2 3 3 2 2 2 2 2 2 2 3 2 2 3 2 2 1 1 2 2 2 3 2 2 2 3 2 2 3
## [7475] 2 2 2 3 2 3 2 2 2 2 3 3 2 2 1 1 1 3 3 2 3 2 2 3 3 2 2 2 2 2 3 3 3 3 3 2 3
## [7512] 3 3 3 3 2 3 3 2 2 2 3 3 3 2 2 3 3 2 2 3 2 2 2 2 3 3 2 2 2 2 2 2 2 3 2 2 1
## [7549] 1 2 2 3 2 3 3 2 3 2 2 2 1 3 2 3 3 3 2 3 3 3 3 3 2 2 2 3 3 3 2 3 3 3 1 2 2
## [7586] 2 3 3 2 3 1 2 1 2 3 3 3 3 2 1 2 2 3 2 3 2 3 2 2 3 3 3 2 3 2 3 2 2 2 1 2 1
## [7623] 2 2 2 2 2 3 3 3 3 2 3 2 2 2 2 2 3 2 2 2 2 2 3 2 3 2 2 2 2 3 2 3 3 3 2 3 1
## [7660] 3 3 3 3 2 2 3 2 1 2 2 1 2 2 2 2 2 3 2 3 2 3 1 2 2 2 2 2 3 2 3 2 1 3 2 2 2
## [7697] 2 3 2 2 3 2 2 2 3 1 3 3 2 2 2 3 2 1 2 3 2 2 3 2 3 3 1 1 2 2 2 3 1 2 3 2 2
## [7734] 2 2 3 3 2 2 3 2 2 3 2 3 2 2 2 2 2 2 1 2 1 2 2 2 2 3 3 2 3 3 2 2 3 3 2 3 2
## [7771] 3 3 1 2 1 2 2 2 3 2 3 2 2 2 3 2 3 2 2 2 2 2 3 3 3 3 3 3 2 2 3 3 2 1 3 2 1
## [7808] 2 2 1 2 2 2 3 2 2 3 3 3 3 3 2 3 2 2 3 2 3 2 3 1 3 3 2 3 2 2 3 3 2 2 2 2 3
## [7845] 2 2 2 3 2 2 3 2 3 2 2 2 2 2 2 1 2 2 2 2 3 2 2 2 3 2 2 3 2 3 2 2 3 3 2 3 3
## [7882] 1 3 2 3 2 3 2 3 3 3 2 3 3 2 3 3 2 3 3 3 1 3 2 2 3 1 3 2 2 3 3 3 1 3 3 3 3
## [7919] 2 2 2 3 2 3 2 2 3 2 2 3 3 2 3 3 2 3 2 3 2 1 2 3 3 3 2 2 2 2 3 2 3 1 2 2 2
## [7956] 3 2 2 2 2 2 3 3 2 1 3 2 2 3 2 2 2 3 2 2 1 3 3 2 2 3 3 2 2 3 1 3 1 3 3 2 1
## [7993] 2 2 2 1 2 2 3 2
## 
## Within cluster sum of squares by cluster:
## [1]  5377.041 37889.106 51584.306
##  (between_SS / total_SS =  20.9 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
# Ajustar el modelo k-means para diferentes valores de k
set.seed(123) # Para reproducibilidad
wcss <- vector() # Inicializar vector para almacenar los valores de WCSS
max_k <- 10 # Puedes cambiar esto para probar con más clústeres si lo deseas
for (k in 1:max_k) {
  kmeans_model <- kmeans(datos_escalados, centers = k, nstart = 25)
  wcss[k] <- kmeans_model$tot.withinss
}
## Warning: Quick-TRANSfer stage steps exceeded maximum (= 400000)

Graficar el método del codo

# Graficar el método del codo

par(mar = c(4, 4, 1, 1)) # Los números representan los márgenes inferior, izquierdo, superior y derecho respectivamente.
plot(1:max_k, wcss, type = "b", xlab = "Numero de Clusters", ylab = "WCSS", main = "Metodo del Codo", pch = 19, frame = FALSE)

# Establecer una semilla para la reproducibilidad
set.seed(123)

# Realizar K-means con 4 clusters
kmeans_result <- kmeans(datos_escalados, centers = 4)
kmeans_result$centers
##            X2         X3         X4         X5         X6         X7         X8
## 1 -0.19800491 -0.3158725 -0.2601288 -0.1852328 -0.2762404  0.2658645 -0.2458047
## 2 -0.71524280 -1.9092201 -0.2949280 -0.2360426 -0.2645588 -0.3323502 -0.4248078
## 3 -0.04557268  0.4092588  0.5340276  0.3893434  0.5497921 -0.2600120  1.0396765
## 4  0.36438728  0.4231144 -0.3629180 -0.2567031 -0.3882657  0.3495598 -0.8057473
##           X9        X10        X11         X12         X13         X14
## 1 -0.2819071 -0.2647677  0.4444432 -0.41910419 -0.31215814 -0.18079749
## 2 -0.4262978 -0.3353756 -0.5357226 -0.19663467 -0.21500328 -0.30048156
## 3  0.6425315  0.9025811 -0.3722586  0.21557914  0.19602647  0.03093856
## 4 -0.4122103 -0.7054906  0.5153823 -0.06858951 -0.05783701  0.11861949
##          X15         X18
## 1 -3.6497446 -0.16458287
## 2  0.1719043  0.09166799
## 3  0.2627964  0.12113770
## 4  0.2126958 -0.13117145
# Añadir la columna de clusters al DataFrame original - dice a que cluster pertenece
datos1 <- datos
datos1$Cluster <- kmeans_result$cluster

Tabla de contingencia para ‘NSE’ (tabla de frecuencia/porción)

#  Tabla de contingencia para 'NSE' (tabla de frecuencia/porción)


contingency <- table(datos1$Cluster, datos$X17)

# Convertir la tabla de contingencia a porcentajes
contingency <- prop.table(contingency, margin = 1) * 100

# Mostrar la tabla de contingencia
print(contingency)
##    
##          A/B        C       C-       C+
##   1 36.61670 21.41328 20.98501 20.98501
##   2 51.75097 14.39689 14.16342 19.68872
##   3 48.80104 16.75308 16.04018 18.40570
##   4 38.42505 18.46932 23.90892 19.19671

Ejercicio en Equipo

#-----------------------------------------------------------------------------------
# Ejercicio en Equipo
#-----------------------------------------------------------------------------------

#  Tabla de contingencia para 'Estatus Marital'

contingency1 <- table(datos1$Cluster, datos$X19)
#Cluster es un número 1,2,3,4 pero en realidad es una categoría, un nombre. Variable categórica

# Convertir la tabla de contingencia a porcentajes
contingency1 <- prop.table(contingency1, margin = 1) * 100

# Mostrar la tabla de contingencia
print(contingency1)
##    
##       Casado  Soltero
##   1 44.32548 55.67452
##   2 36.96498 63.03502
##   3 39.17693 60.82307
##   4 44.11765 55.88235
#  Tabla de contingencia para 'Edad'


contingency2 <- table(datos1$Cluster, datos$X18)
#Cluster es un número 1,2,3,4 pero en realidad es una categoría, un nombre. Variable categórica

# Convertir la tabla de contingencia a porcentajes
contingency2 <- prop.table(contingency2, margin = 1) * 100

# Mostrar la tabla de contingencia
print(contingency2)
##    
##             18         19         20         21         22         23
##   1 3.21199143 1.07066381 0.85653105 1.28479657 1.49892934 1.92719486
##   2 1.32295720 0.31128405 0.23346304 0.54474708 1.08949416 1.32295720
##   3 1.65262476 0.51847051 0.61568373 0.51847051 0.64808814 0.77770577
##   4 2.90955092 0.82226439 0.69576218 0.94876660 0.98039216 1.20177103
##    
##             24         25         26         27         28         29
##   1 1.49892934 1.71306210 0.64239829 2.35546039 2.14132762 1.71306210
##   2 0.77821012 1.08949416 1.71206226 1.55642023 1.08949416 1.24513619
##   3 0.93972780 1.26377187 1.00453662 1.26377187 1.55541154 1.00453662
##   4 1.26502214 1.58127767 1.92915876 2.11891208 1.80265655 2.18216319
##    
##             30         31         32         33         34         35
##   1 2.78372591 2.35546039 2.35546039 1.92719486 3.42612420 3.85438972
##   2 1.63424125 2.25680934 1.63424125 2.25680934 3.42412451 3.03501946
##   3 1.55541154 2.00907323 2.43033052 2.55994815 2.43033052 3.24044070
##   4 2.37191651 2.21378874 2.62492094 3.54206199 3.25743201 3.28905756
##    
##             36         37         38         39         40         41
##   1 2.56959315 3.21199143 4.92505353 5.35331906 5.35331906 5.56745182
##   2 2.41245136 3.19066148 4.12451362 3.96887160 5.21400778 2.64591440
##   3 3.30524951 3.37005833 3.30524951 3.72650680 3.53208036 3.95333765
##   4 4.07969639 3.28905756 3.63693865 3.92156863 3.57368754 3.66856420
##    
##             42         43         44         45         46         47
##   1 3.42612420 2.35546039 1.92719486 1.71306210 1.92719486 2.56959315
##   2 4.74708171 3.73540856 3.96887160 3.57976654 3.65758755 2.87937743
##   3 4.01814647 3.49967596 3.43486714 3.59688918 3.33765392 3.72650680
##   4 3.35230867 3.47881088 3.19418090 3.60531309 2.71979760 2.71979760
##    
##             48         49         50         51         52         53
##   1 2.14132762 1.92719486 1.49892934 2.56959315 1.49892934 1.71306210
##   2 3.26848249 3.19066148 2.41245136 2.72373541 2.87937743 2.49027237
##   3 2.88399222 3.24044070 3.53208036 2.30071290 2.62475697 2.07388205
##   4 2.94117647 2.21378874 2.59329538 2.24541429 2.02403542 1.32827324
##    
##             54         55         56         57         58         59
##   1 1.71306210 1.49892934 0.64239829 1.07066381 1.28479657 1.28479657
##   2 2.02334630 1.16731518 1.71206226 1.32295720 1.01167315 0.85603113
##   3 2.72197019 2.00907323 2.00907323 1.32858069 1.32858069 1.03694102
##   4 1.32827324 1.23339658 1.17014548 0.94876660 0.98039216 0.94876660
##    
##             60         61         62         63         64         65
##   1 0.85653105 0.64239829 0.21413276 0.21413276 0.42826552 0.21413276
##   2 0.85603113 0.62256809 0.23346304 0.85603113 0.38910506 0.31128405
##   3 0.68049255 0.61568373 0.48606610 0.29163966 0.48606610 0.29163966
##   4 0.82226439 0.41113219 0.12650221 0.28462998 0.37950664 0.34788109
##    
##             66         67         68         69         70         71
##   1 0.21413276 0.00000000 0.00000000 0.21413276 0.42826552 0.00000000
##   2 0.38910506 0.15564202 0.00000000 0.15564202 0.00000000 0.07782101
##   3 0.48606610 0.19442644 0.12961763 0.12961763 0.12961763 0.06480881
##   4 0.18975332 0.12650221 0.12650221 0.06325111 0.06325111 0.00000000
##    
##             72         73         74         75         76         77
##   1 0.21413276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
##   2 0.07782101 0.00000000 0.07782101 0.00000000 0.00000000 0.07782101
##   3 0.03240441 0.03240441 0.00000000 0.00000000 0.03240441 0.00000000
##   4 0.00000000 0.06325111 0.00000000 0.03162555 0.03162555 0.00000000
##    
##             78
##   1 0.00000000
##   2 0.00000000
##   3 0.03240441
##   4 0.00000000

Tamaño clusters

#-------------------------------------------------
# Tamaño clusters
cluster_tamaño <- table(datos1$Cluster)
print(cluster_tamaño)
## 
##    1    2    3    4 
##  467 1285 3086 3162
# Tamaño clusters en porcentaje
total_observaciones <- length(datos1$Cluster)
porcentaje_clusters <- (cluster_tamaño / total_observaciones) * 100
print(porcentaje_clusters)
## 
##       1       2       3       4 
##  5.8375 16.0625 38.5750 39.5250

#————————————————- # Se emplearán un total de 4 clusters, se categorizarán como Clientes Transactor, Short-term Borrowers, Occasional Revolver y Revolver.

Cluster 1 - Occasional Revolver :

Mercadotecnia: Nos encontramos con un mercado ideal para tarjetas de crédito con altos niveles de CAT y productos que generen alto interés con una línea de crédito baja-media. Otorgando alto número de compras a meses sin intereses en tiendas departamentales.

Financieras: Es un perfil de consumidor con poco flujo de efectivo que actualmente está endeudado. Haciendo de su consumo constante sin abonos para disminuir saldo y un uso de disposición de efectivo. Cliente ideal para obtener una utilidad en intereses aplicados, pero presenta un riesgo de inversión en sobre giro de su crédito.

Cluster 2 - Revolver:

Mercadotecnia: Cliente ideal para líneas de crédito baja-medias con posibilidad algunas líneas de crédito altas con intereses medio-altos. Otorgando beneficios y facilidades como disposición de efectivo.

Financieras: Similar al primer cluster, el segundo tiene un menor periodo siendo cliente, y es alguien que no sabe administrar su flujo de efectivo y uso de crédito. Cliente revolver de alto riesgo debido a que lo más seguro es que sus intereses lo ahoguen en deuda y no pueda salir o generar una utilidad deseada por el banco. Cluster de alto riesgo, en caso de otorgar crédito, sea limitado.

Cluster 3 - Transactor:

Mercadotecnia: Cluster ideal para líneas de crédito altas y llena de beneficios para el consumidor con la finalidad de obtener el mayor número de transacciones en su día a día sobre la línea de crédito. En este caso el cliente se irá con aquellas que mayor beneficios le otorgue, seguros, cobertura de precios, programa de puntos, entre otros.

Financieras: Este es el cluster de clientes ideales, aquellos que utilizan su línea de crédito y abonan para disminuir su sueldo al igual que pagan en tiempo y forma el monto total de su deuda. A pesar de no generar utilidad por medio de intereses, lo hacen por medio de transacciones y son clientes de bajo riesgo.

Cluster 4 - Short-term Borrowers:

Mercadotecnia: Una pequeña mezcla entre revolver y transactors, cliente con línea media-alta que en ocasiones dispondrá de la capacidad de compra otorgada por el crédito. Tasa de interés media-alta y facilidades de disposición de efectivo y compras a plazos.

Financieras: El último cluster es un perfil de altas transacciones seguramente en un corto periodo de tiempo, dispuesto a pagar los intereses necesarios y hacen de un manejo agresivo del uso de crédito. Cluster de medio riesgo.

#-------------------------------------------------
# Mapa de Calor

demograficos_ds <- datos[, c(2:11, 17:19)]
demograficos_num <- demograficos_ds[sapply(demograficos_ds, is.numeric)]
demograficos_escalados <- scale(demograficos_num)
medianas_demo <- apply(demograficos_escalados, 2, median)
kmeans_result_demograficos <- kmeans(demograficos_escalados, centers = 4)
kmeans_result_demograficos$centers
##           X2         X3         X4         X5         X6         X7         X8
## 1 -0.3282851 -0.4192732 -0.3474453 -0.2422774 -0.3781867 -0.2256326 -0.7731402
## 2  1.2207203  0.4240177  4.1825029  3.7376671  3.0341925 -0.1502956  1.1059075
## 3 -0.2463775  0.2822910  0.1952077  0.0788530  0.3184380 -0.3426112  1.0158990
## 4  1.3445065  0.3917875 -0.2776145 -0.1969039 -0.2962125  1.5503494 -0.6092014
##           X9        X10        X11         X18
## 1 -0.4196444 -0.6809227 -0.1729756 -0.08677951
## 2  1.7868102  0.9992029 -0.3387864  0.15812063
## 3  0.4535745  0.8917675 -0.4354606  0.12413963
## 4 -0.2967139 -0.5335555  1.6733369 -0.10057739
finanzas_ds <- datos [, 12:16]
finanzas_num <- finanzas_ds[sapply(finanzas_ds, is.numeric)]
finanzas_escalados <- scale(finanzas_num)
medianas_finanzas <- apply(finanzas_escalados, 2, median)
kmeans_result_finanzas <- kmeans(finanzas_escalados, centers = 4)
kmeans_result_finanzas$centers
##          X12        X13         X14        X15
## 1 -0.4082734 -0.3132381 -0.17837294 -3.5668746
## 2  1.2133713  0.4483124  0.07053683  0.2507054
## 3  1.3834135  3.9647941  4.17309415  0.2444616
## 4 -0.4948097 -0.2612181 -0.12527111  0.2308735
heatmap(kmeans_result_finanzas$centers, main = "Heatmap de Centros de K-means de variables finanzas")

heatmap(kmeans_result_demograficos$centers, main = "Heatmap de Centros de K-means de variables demográficas")

#-------------------------------------------------
# Heterogeneidad

# Calcular el promedio de variables numéricas por cluster
cluster_means <- aggregate(datos_escalados, by=list(Cluster=datos1$Cluster), mean)
print(cluster_means)
##   Cluster          X2         X3         X4         X5         X6         X7
## 1       1 -0.19800491 -0.3158725 -0.2601288 -0.1852328 -0.2762404  0.2658645
## 2       2 -0.71524280 -1.9092201 -0.2949280 -0.2360426 -0.2645588 -0.3323502
## 3       3 -0.04557268  0.4092588  0.5340276  0.3893434  0.5497921 -0.2600120
## 4       4  0.36438728  0.4231144 -0.3629180 -0.2567031 -0.3882657  0.3495598
##           X8         X9        X10        X11         X12         X13
## 1 -0.2458047 -0.2819071 -0.2647677  0.4444432 -0.41910419 -0.31215814
## 2 -0.4248078 -0.4262978 -0.3353756 -0.5357226 -0.19663467 -0.21500328
## 3  1.0396765  0.6425315  0.9025811 -0.3722586  0.21557914  0.19602647
## 4 -0.8057473 -0.4122103 -0.7054906  0.5153823 -0.06858951 -0.05783701
##           X14        X15         X18
## 1 -0.18079749 -3.6497446 -0.16458287
## 2 -0.30048156  0.1719043  0.09166799
## 3  0.03093856  0.2627964  0.12113770
## 4  0.11861949  0.2126958 -0.13117145
# Ejemplo de histograma para una variable
# homogeneidad
hist(kmeans_result_demograficos$centers) # no hay homogeniedad en los datos demograficos, ya que la mayor cantidad los valores esta inclinada a la izquierda de la media.

hist(kmeans_result_finanzas$centers) # en este casoo se puede decir que si hay algun tipo de homogeniedad ya que se puede ver una distribucion un poco más asimetrica y con una diferencia muy chica.

# Tabla de contingencia para 'Estatus Marital'
contingency1 <- table(datos1$Cluster, datos$X19)
print(contingency1) 
##    
##     Casado Soltero
##   1    207     260
##   2    475     810
##   3   1209    1877
##   4   1395    1767
# Ejemplo de PCA
pca_result <- prcomp(datos_escalados, center=TRUE, scale=TRUE)
plot(pca_result$x[,1], pca_result$x[,2], col=datos1$Cluster, pch=19, main="PCA Plot")

Observamos heterogeniedad entre clusters lo cual es el resultado deseado, a primera instancia por las diferencias entre los distintos clusters.

El Cluster 3 tiene una alta proporción de personas casadas.

El Cluster 2 tiene una alta proporción de personas solteras.

Los Clusters 1 y 4 también muestran diferencias en la distribución de las categorías, lo que indica heterogeneidad en la composición de las categorías “Casado” y “Soltero”.

Estrategias

Cluster 1 - Occasional Revolver:

Estrategias de Mercadotecnia:

Enfoque en Educación Financiera: Educar sobre cómo manejar de manera efectiva el crédito y evitar endeudarse.
Promociones en Transferencia de Saldo: Ofertas que de a los clientes poder transferir saldos de tarjetas con tasas de interés variables.

Estrategias Financieras:

Límites de Crédito: Establecer límites de crédito que se ajusten al flujo de efectivo del cliente para reducir su riesgo de endeudarse.
Opciones de Pago Flexibles: Proporciona opciones de pago a plazos o maneras para abonar deudas de cierta manera.

Cluster 2 - Revolver:

Estrategias de Mercadotecnia:

Consolidación de Deudas: Permitir combinar y refinanciar deudas con tasas de interés especificas.
Recompensas por Uso Responsable: Incetivar el pago puntual y buen uso del crédito con recompensas y beneficios exclusivos.

Estrategias Financieras:

Evaluación de Riesgo: Hacer evaluaciones de riesgo detalladas antes de dar un crédito adicional o líneas de crédito altas.
Asesoramiento Financiero Personalizado: Ofrecer asesoramiento financiero para ayudar a los clientes a salir de su deuda.

Cluster 3 - Transactor:

Estrategias de Mercadotecnia:

Programas de Lealtad con Recompensas: Beneficios de lealtad como dar puntos, descuentos, etc. para que sigan siendoo clientes e usuarios de la tarjeta.
Ofertas Exclusivas: Promociones que se alineen con los intereses y necesidades de estos clientes.

Estrategias Financieras:

Nuevos Límites de Crédito: Proporcionar límites de crédito que permitan a estos clientes realizar transacciones sin restricciones.
Monitoreo Preventivo de Fraudes: Implementa medidas de seguridad para prevenir el fraude y proteger a estos clientes de transacciones no autorizadas.

Cluster 4 - Short-term Borrowers:

Estrategias de Mercadotecnia:

Ofertas de Crédito con Términos Flexibles: Disponibilidad de crédito a corto plazo y la posibilidad de pagos a plazos.
Promociones de Intereses Bajos para Compras a Plazos: Fomentar compras a plazos con tasas de interés atractivas para atraer a estos clientes.

Estrategias Financieras:

Establecer Límites de Crédito Suficientes: Límites de crédito suficientemente altos para permitir transacciones a corto plazo.
Opciones de Pago Flexibles: Proporciona facilidades para pagar a plazos, refinanciamiento, entre otras.