El conjunto de datos corresponde a un escenario académico de nivel superior. Cada registro representa a un estudiante y contiene información relacionada con su desempeño escolar, hábitos de estudio, actividades extraescolares, uso del tiempo, características demográficas y condiciones económicas.
Debido a que las variables son de tipo numérico y categórico, el conjunto resulta adecuado para aplicar clustering jerárquico con distancia de Gower.
Las variables del conjunto de datos:
El caso de estudio puede encontrar en el portal rpubs.com en https://rpubs.com/rpizarrog/1449170
Los datos pueden descargarse desde github.com en https://raw.githubusercontent.com/rpizarrog/Libro-Aprendizaje-Automatico.-Casos-de-Estudio-con-R-y-Python/refs/heads/main/datos/datos_estudiantes_superior_clustering_jerarquico_1000.csv
Las funciones se encuentran en PENDIENTE
Implementar modelo de agrupación de datos Clustering Jerárquico para identificar perfiles de estudiantes con características similares, los cuales pueden apoyar la toma de decisiones en tutorías, seguimiento académico, programas de becas, actividades deportivas, acompañamiento escolar y estrategias de permanencia.
library(readr) # Para conjuntos de datos
library(ggplot2) # Gráficos
library(patchwork) # Para tablas Word
library (psych) # Para describir datos
library(scales) # PAra graficos y escalas
library(dplyr) # Tratar con estructuras de datos seleccionar, filtrar, modificar
library(cluster) # Distancia de Gower, agnes(), diana()
library(factoextra) # Visualización de dendrogramas
library(ggplot2) # Gráficos generales
library(dendextend) # Personalización de dendrogramas
url <- "../funciones/funciones para Clustering Jerarquico.R"# Local
# url <- "PENDIENTE" WEB
source(url)
Se cargan los datos originales de los estudiantes quitando la última columna que no es de interés para el modelo y dejar en variable llamada datos; se visualizan los primeros y últimos registros y las primeras y últimas cuatros variables.
# url <- "../datos/datos_estudiantes_superior_clustering_jerarquico_1000.csv" # Local
url <- "https://raw.githubusercontent.com/rpizarrog/Libro-Aprendizaje-Automatico.-Casos-de-Estudio-con-R-y-Python/refs/heads/main/datos/datos_estudiantes_superior_clustering_jerarquico_1000.csv" # WEB
datos_originales <- f_cargar_datos(url)
variables <- c("id","edad","genero","carrera","semestre","promedio","creditos","asistencia","estudio", "videojuegos","deporte","dormir", "trabajo", "ingresos","condicion", "modalidad", "extra_escolar", "seleccionado", "transporte","traslado", "internet", "tutorias", "beca")
datos <- datos_originales[,variables]
f_visualizar_head_tail_reducido_word(datos)
id | edad | genero | carrera | ... | traslado | internet | tutorias | beca |
|---|---|---|---|---|---|---|---|---|
E0001 | 20 | Femenino | Civil | ... | 64 | Bueno | NO | NO |
E0002 | 18 | Femenino | Administracion | ... | 27 | Bueno | NO | NO |
E0003 | 23 | Femenino | Administracion | ... | 53 | Limitado | SI | SI |
E0004 | 23 | Femenino | Sistemas | ... | 12 | Bueno | NO | NO |
E0005 | 18 | Masculino | Mecatronica | ... | 38 | Bueno | NO | SI |
E0006 | 20 | Femenino | Civil | ... | 9 | Limitado | SI | NO |
... | ... | ... | ... | ... | ... | ... | ... | ... |
E0995 | 24 | Masculino | Sistemas | ... | 10 | Limitado | NO | NO |
E0996 | 24 | Femenino | Civil | ... | 43 | Bueno | NO | NO |
E0997 | 18 | Femenino | Industrial | ... | 15 | Bueno | NO | SI |
E0998 | 21 | Femenino | Mecatronica | ... | 62 | Bueno | SI | NO |
E0999 | 24 | Femenino | Sistemas | ... | 37 | Bueno | SI | SI |
E1000 | 23 | Femenino | Industrial | ... | 31 | Regular | SI | NO |
Se presentan los estadísticos descriptivos para las variables numéricas
variables_numericas <- c("edad","promedio","creditos","asistencia","estudio", "videojuegos","deporte","dormir", "trabajo", "ingresos")
f_describir_datos(datos[, variables_numericas])
## $describe
## vars n mean sd median trimmed mad min max range
## edad 1 1000 21.15 2.10 21 21.09 2.97 18 27 9
## promedio 2 1000 77.20 9.36 77 77.19 10.38 50 100 50
## creditos 3 1000 187.94 76.04 187 187.72 78.58 0 380 380
## asistencia 4 1000 81.50 10.85 82 82.01 11.86 41 100 59
## estudio 5 1000 9.64 5.22 9 9.27 4.45 0 29 29
## videojuegos 6 1000 10.42 7.69 8 9.59 5.93 0 35 35
## deporte 7 1000 3.71 2.88 3 3.43 2.97 0 16 16
## dormir 8 1000 6.52 1.11 7 6.57 1.48 4 10 6
## trabajo 9 1000 11.42 10.44 9 10.07 10.38 0 50 50
## ingresos 10 1000 17091.89 7531.45 16863 16861.87 7413.74 3000 47096 44096
## skew kurtosis se
## edad 0.23 -0.64 0.07
## promedio 0.03 -0.47 0.30
## creditos 0.04 -0.34 2.40
## asistencia -0.44 -0.08 0.34
## estudio 0.68 0.34 0.17
## videojuegos 0.90 -0.01 0.24
## deporte 0.91 0.68 0.09
## dormir -0.27 -0.25 0.04
## trabajo 0.97 0.26 0.33
## ingresos 0.38 0.22 238.17
##
## $structure
## [1] "'data.frame':\t1000 obs. of 10 variables:\n $ edad : num 20 18 23 23 18 20 24 23 18 19 ...\n $ promedio : num 90 72 77 90 86 67 90 66 73 78 ...\n $ creditos : num 133 36 255 278 206 257 12 259 377 133 ...\n $ asistencia : num 90 76 64 94 82 74 100 62 79 65 ...\n $ estudio : num 16 7 2 17 12 2 25 5 9 12 ...\n $ videojuegos: num 5 7 21 8 4 10 1 17 16 8 ...\n $ deporte : num 9 6 1 12 8 0 8 1 0 6 ...\n $ dormir : num 8 7 6 7 8 6 7 4 4 6 ...\n $ trabajo : num 0 19 34 9 13 27 0 26 12 27 ...\n $ ingresos : num 16265 24195 10118 21557 18141 ..."
Las variables categóricas se hacen de tipo factor con la finalidad de conocer su frecuencia.
datos <- f_convertir_factor(datos)
f_summary_factores(datos)
## id genero carrera condicion
## E0001 : 1 Femenino :468 Administracion:196 Alta :152
## E0002 : 1 Masculino :511 Civil :118 Baja :332
## E0003 : 1 No especifica: 21 Electronica :100 Media:516
## E0004 : 1 Industrial :187
## E0005 : 1 Mecatronica :152
## E0006 : 1 Sistemas :247
## (Other):994
## modalidad extra_escolar seleccionado transporte
## Hibrida :267 Arte : 97 NO:775 Auto :331
## Presencial:592 Cultural : 78 SI:225 Bicicleta: 86
## Virtual :141 Deporte :173 Caminando:171
## Ninguna :523 Publico :412
## Voluntariado:129
##
##
## internet tutorias beca
## Bueno :569 NO:627 NO:603
## Limitado:107 SI:373 SI:397
## Regular :324
##
##
##
##
variables_categoricas <- c("genero", "carrera", "condicion", "modalidad", "extra_escolar", "seleccionado", "transporte", "internet", "tutorias", "beca")
resultado_frecuencias <- f_frecuencias(
datos = datos[, variables_categoricas], ncol=2)
resultado_frecuencias$grafico
Al crear el modelo de clustering jerárquico se le indica al modelo en los parámetros que la manera en que junta los registros similares es por medio del argumento complete que significa que el modelo calcula la distancia entre dos clústeres tomando la mayor distancia entre todos los pares de registros de ambos grupos. Existe el mecanismo single que utiliza la distancia más pequeña entre dos registros, sin embargo puede generar encadenamiento y average implica el promedio de todas las distancias entre registros, este produce grupos moderados y el mecanismos conmplete que fue el que se implementa produce grupos más compactos.
Se tomó el tiempo de construcción del modelo para los mil registros y se tarde[o aproximadamente 53 segundos en un equipo laptop con procesador Intel 12th gen Core I9, con 32 Gb de RAM.
variable_modelo <- variables[-1] # quitar "id"
tiempo_modelo_CR <- system.time({
modelo_CR <- f_crear_clustering_jerarquico(
datos = datos,
variable_nombre = "id",
variables_modelo = variable_modelo,
k = 4,
metodo_enlace = "complete",
graficar = TRUE
)})
##
## ========================================
## CLUSTERING JERÁRQUICO CREADO
## ========================================
## Registros: 1000
## Variables del modelo: edad, genero, carrera, semestre, promedio, creditos, asistencia, estudio, videojuegos, deporte, dormir, trabajo, ingresos, condicion, modalidad, extra_escolar, seleccionado, transporte, traslado, internet, tutorias, beca
## Variables numéricas: edad, semestre, promedio, creditos, asistencia, estudio, videojuegos, deporte, dormir, trabajo, ingresos, traslado
## Variables categóricas: genero, carrera, condicion, modalidad, extra_escolar, seleccionado, transporte, internet, tutorias, beca
## Tipo de distancia: gower
## Método de enlace: complete
## Número de clústeres: 4
## ========================================
tiempo_modelo_CR
## user system elapsed
## 54.57 0.59 55.86
El dendograma con los mil registros es poco amigable para identificar cuales registros son de cada grupo, lo recomendable es hacer una tabla y presentar los datos resumidos para identificar los registros de cada tabla.
tabla_frecuencia <- modelo_CR$frecuencia_cluster
tabla_frecuencia$porcentaje <- round(
tabla_frecuencia$frecuencia / sum(tabla_frecuencia$frecuencia) * 100,
2
)
tabla_frecuencia
Con la llamada de la función f_registros_por_cluster(), se integran los registros que pertenecen a cada clúster
registros_clusters <- f_registros_por_cluster(
modelo = modelo_CR,
variables = variables,
variable_cluster = "cluster",
visualizar = FALSE
)
f_visualizar_head_tail_reducido_word(registros_clusters$tabla_pertenencia)
id | edad | genero | carrera | ... | internet | tutorias | beca | cluster |
|---|---|---|---|---|---|---|---|---|
E0001 | 20 | Femenino | Civil | ... | Bueno | NO | NO | 1 |
E0004 | 23 | Femenino | Sistemas | ... | Bueno | NO | NO | 1 |
E0006 | 20 | Femenino | Civil | ... | Limitado | SI | NO | 1 |
E0007 | 24 | Femenino | Administracion | ... | Regular | NO | SI | 1 |
E0009 | 18 | Femenino | Industrial | ... | Bueno | NO | NO | 1 |
E0011 | 26 | Masculino | Sistemas | ... | Bueno | NO | NO | 1 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
E0925 | 24 | Femenino | Civil | ... | Bueno | SI | NO | 4 |
E0930 | 22 | Masculino | Sistemas | ... | Bueno | NO | NO | 4 |
E0953 | 24 | Masculino | Administracion | ... | Bueno | NO | NO | 4 |
E0971 | 20 | Femenino | Industrial | ... | Bueno | NO | NO | 4 |
E0981 | 19 | Femenino | Sistemas | ... | Regular | SI | NO | 4 |
E0987 | 19 | Masculino | Industrial | ... | Bueno | NO | NO | 4 |
Ahora los registros por clúster, presentando los primeros y últimos registros de cada uno.
# Estudiantes del clúster 1
f_visualizar_head_tail_reducido_word(subset(registros_clusters$tabla_pertenencia, cluster == 1))
id | edad | genero | carrera | ... | internet | tutorias | beca | cluster |
|---|---|---|---|---|---|---|---|---|
E0001 | 20 | Femenino | Civil | ... | Bueno | NO | NO | 1 |
E0004 | 23 | Femenino | Sistemas | ... | Bueno | NO | NO | 1 |
E0006 | 20 | Femenino | Civil | ... | Limitado | SI | NO | 1 |
E0007 | 24 | Femenino | Administracion | ... | Regular | NO | SI | 1 |
E0009 | 18 | Femenino | Industrial | ... | Bueno | NO | NO | 1 |
E0011 | 26 | Masculino | Sistemas | ... | Bueno | NO | NO | 1 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
E0993 | 24 | Femenino | Electronica | ... | Bueno | SI | SI | 1 |
E0994 | 21 | Femenino | Sistemas | ... | Bueno | NO | SI | 1 |
E0995 | 24 | Masculino | Sistemas | ... | Limitado | NO | NO | 1 |
E0996 | 24 | Femenino | Civil | ... | Bueno | NO | NO | 1 |
E0997 | 18 | Femenino | Industrial | ... | Bueno | NO | SI | 1 |
E0998 | 21 | Femenino | Mecatronica | ... | Bueno | SI | NO | 1 |
# Estudiantes del clúster 2
f_visualizar_head_tail_reducido_word(subset(registros_clusters$tabla_pertenencia, cluster == 2))
id | edad | genero | carrera | ... | internet | tutorias | beca | cluster |
|---|---|---|---|---|---|---|---|---|
E0002 | 18 | Femenino | Administracion | ... | Bueno | NO | NO | 2 |
E0003 | 23 | Femenino | Administracion | ... | Limitado | SI | SI | 2 |
E0005 | 18 | Masculino | Mecatronica | ... | Bueno | NO | SI | 2 |
E0008 | 23 | No especifica | Mecatronica | ... | Regular | NO | SI | 2 |
E0014 | 20 | Femenino | Sistemas | ... | Bueno | SI | SI | 2 |
E0017 | 21 | Masculino | Sistemas | ... | Bueno | NO | NO | 2 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
E0989 | 20 | Masculino | Sistemas | ... | Regular | SI | NO | 2 |
E0990 | 20 | Femenino | Administracion | ... | Bueno | NO | NO | 2 |
E0991 | 18 | Masculino | Civil | ... | Bueno | NO | SI | 2 |
E0992 | 22 | Femenino | Mecatronica | ... | Bueno | SI | NO | 2 |
E0999 | 24 | Femenino | Sistemas | ... | Bueno | SI | SI | 2 |
E1000 | 23 | Femenino | Industrial | ... | Regular | SI | NO | 2 |
# Estudiantes del clúster 3
f_visualizar_head_tail_reducido_word(subset(registros_clusters$tabla_pertenencia, cluster == 3))
id | edad | genero | carrera | ... | internet | tutorias | beca | cluster |
|---|---|---|---|---|---|---|---|---|
E0010 | 19 | Femenino | Administracion | ... | Regular | NO | SI | 3 |
E0020 | 20 | Masculino | Mecatronica | ... | Limitado | NO | SI | 3 |
E0026 | 19 | Masculino | Sistemas | ... | Regular | NO | SI | 3 |
E0031 | 20 | Femenino | Administracion | ... | Regular | NO | SI | 3 |
E0032 | 23 | Masculino | Mecatronica | ... | Limitado | SI | SI | 3 |
E0035 | 21 | Masculino | Mecatronica | ... | Regular | NO | NO | 3 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
E0951 | 24 | Masculino | Mecatronica | ... | Regular | NO | NO | 3 |
E0955 | 21 | Masculino | Administracion | ... | Bueno | NO | SI | 3 |
E0958 | 24 | Masculino | Civil | ... | Bueno | NO | SI | 3 |
E0968 | 23 | Masculino | Industrial | ... | Regular | NO | SI | 3 |
E0978 | 18 | Masculino | Sistemas | ... | Limitado | SI | NO | 3 |
E0984 | 25 | Masculino | Industrial | ... | Regular | SI | SI | 3 |
# Estudiantes del clúster 4
f_visualizar_head_tail_reducido_word(subset(registros_clusters$tabla_pertenencia, cluster == 4))
id | edad | genero | carrera | ... | internet | tutorias | beca | cluster |
|---|---|---|---|---|---|---|---|---|
E0013 | 19 | Masculino | Administracion | ... | Regular | NO | NO | 4 |
E0018 | 21 | Masculino | Mecatronica | ... | Limitado | NO | NO | 4 |
E0022 | 22 | Masculino | Civil | ... | Bueno | NO | NO | 4 |
E0025 | 24 | Masculino | Sistemas | ... | Bueno | NO | NO | 4 |
E0034 | 18 | Masculino | Administracion | ... | Bueno | SI | NO | 4 |
E0039 | 20 | Masculino | Industrial | ... | Bueno | NO | NO | 4 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
E0925 | 24 | Femenino | Civil | ... | Bueno | SI | NO | 4 |
E0930 | 22 | Masculino | Sistemas | ... | Bueno | NO | NO | 4 |
E0953 | 24 | Masculino | Administracion | ... | Bueno | NO | NO | 4 |
E0971 | 20 | Femenino | Industrial | ... | Bueno | NO | NO | 4 |
E0981 | 19 | Femenino | Sistemas | ... | Regular | SI | NO | 4 |
E0987 | 19 | Masculino | Industrial | ... | Bueno | NO | NO | 4 |
La pregunta es: ¿qué característica distinguen a cada grupo?. Para interpretar qué atributos comunes tiene cada uno de los cuatro grupos, no conviene revisar estudiante por estudiante, sino construir perfiles por clúster. La lógica recomendada sería:
Con la ayuda de la función f_perfil_cluster()* se identifican las características importantes que definen a cada cluster; con las variables numéricas se extrae la media de cada una de ellas que sirven para conocer el perfil numérico de cada cluster. Luego con las variables categóricas se extrae la moda para identificar la mayor frecuencia de cada clúster y con ello las variables dominante; finalmente se unen ambos perfiles para conocer el perfil general de cada grupo.
perfiles_CR <- f_perfil_cluster(
modelo = modelo_CR,
variables_numericas = variables_numericas,
variables_categoricas = variables_categoricas,
variable_cluster = "cluster",
decimales = 2
)
##
## ========================================
## PERFIL DE CLÚSTERES
## ========================================
## Número de registros: 1000
## Variable de clúster: cluster
## Variables numéricas: edad, promedio, creditos, asistencia, estudio, videojuegos, deporte, dormir, trabajo, ingresos
## Variables categóricas: genero, carrera, condicion, modalidad, extra_escolar, seleccionado, transporte, internet, tutorias, beca
## ========================================
# Perfil numérico
perfiles_CR$perfil_numerico
# Perfil categórico
perfiles_CR$perfil_categorico
# Perfil general integrado
perfiles_CR$perfil_general
Con la ayuda de IAG se tiene una interpretación de cada clústeres a partir de los perfiles tanto numéricos como categóricos:
Interpretación de los clústeres Clúster 1: estudiantes con desempeño académico medio-alto y equilibrio general
El clúster 1 agrupa a 312 estudiantes. Presenta un promedio escolar de 80.48, asistencia de 85.51% y alrededor de 11.36 horas de estudio semanal. Sus horas de videojuegos son moderadas, con 9.62 horas semanales, y su carga laboral es relativamente baja, con 8.29 horas de trabajo semanal.
Este grupo puede interpretarse como un perfil de estudiantes con desempeño académico favorable y hábitos relativamente equilibrados. No son los de mayor rendimiento del conjunto, pero muestran buena asistencia, dedicación al estudio y una carga laboral manejable.
En términos categóricos, predomina el género femenino, la carrera de Sistemas, la condición económica media, la modalidad presencial, sin actividad extraescolar dominante, transporte público, internet bueno, sin tutorías y sin beca.
Nombre sugerido del clúster 1: Estudiantes de desempeño medio-alto y equilibrio académico
Clúster 2: grupo mayoritario con menor desempeño y mayor exposición a videojuegos y trabajo
El clúster 2 es el grupo más numeroso, con 465 estudiantes, equivalente al 46.5% del conjunto. Presenta un promedio escolar de 73.62, asistencia de 77.41% y 7.59 horas de estudio semanal, valores más bajos que los observados en los clústeres 1 y 4.
Además, este grupo registra 12.14 horas semanales de videojuegos y 13.82 horas de trabajo semanal, lo cual sugiere una combinación de menor dedicación académica, mayor tiempo recreativo digital y mayor carga laboral.
Este clúster puede interpretarse como un grupo de estudiantes con desempeño académico moderado-bajo, cuya dinámica puede estar asociada con menor asistencia, menor estudio y mayor presión de tiempo por trabajo o actividades recreativas.
En las variables categóricas predominan estudiantes de género masculino, carrera de Sistemas, condición económica media, modalidad presencial, sin actividad extraescolar, transporte público, internet bueno, participación en tutorías y sin beca.
Nombre sugerido del clúster 2: Estudiantes con desempeño moderado-bajo y mayor carga de tiempo
Clúster 3: estudiantes con desempeño intermedio, mayor trabajo y condiciones de apoyo
El clúster 3 agrupa a 113 estudiantes. Su promedio escolar es de 75.71, con asistencia de 80.25% y 8.90 horas de estudio semanal. Estos valores lo ubican por encima del clúster 2, pero por debajo de los clústeres 1 y 4.
Este grupo destaca por tener la mayor carga laboral, con 14.35 horas de trabajo semanal, además de ingresos promedio de 17,043.44. También presenta acceso a internet regular como categoría dominante y beca dominante sí. Esto puede sugerir un perfil de estudiantes que combinan estudio y trabajo, con ciertas condiciones de apoyo económico o institucional.
Aunque el grupo no presenta el rendimiento más bajo, su carga laboral y condiciones de conectividad pueden representar factores importantes para su seguimiento académico.
En las variables categóricas predominan estudiantes de género masculino, carrera de Sistemas, condición económica media, modalidad presencial, sin actividad extraescolar, transporte público, internet regular, sin tutorías y con beca.
Nombre sugerido del clúster 3: Estudiantes trabajadores con apoyo económico y desempeño intermedio
Clúster 4: estudiantes de alto desempeño académico y mayor actividad deportiva
El clúster 4 agrupa a 110 estudiantes. Aunque es uno de los grupos más pequeños, presenta los mejores indicadores académicos: promedio escolar de 84.62, asistencia de 88.73%, 14.21 horas de estudio semanal y 198.56 créditos aprobados.
También muestra menor tiempo dedicado a videojuegos, con 5.79 horas semanales, y mayor participación deportiva, con 5.76 horas de deporte semanal. Además, tiene la mayor cantidad de horas de sueño, con 6.99 horas por noche, y la menor carga laboral, con 7.16 horas de trabajo semanal.
Este grupo puede interpretarse como el perfil de estudiantes con alto desempeño académico, mayor disciplina escolar y mayor participación deportiva. Es el clúster con mejores condiciones para considerarse un grupo de desempeño integral.
En las variables categóricas predominan estudiantes de género masculino, carrera de Sistemas, condición económica media, modalidad presencial, actividad extraescolar deporte, transporte en auto, internet bueno, sin tutorías y sin beca.
Nombre sugerido del clúster 4: Estudiantes de alto desempeño académico y perfil deportivo
Con la función f_evaluar_clustering(), se hace evaluación del modelo a través de técnica y/o estadístico de Silhouette y la correlación cofenética.
evaluacion_CR <- f_evaluar_clustering(
modelo = modelo_CR,
k_min = 2,
k_max = 8,
graficar = TRUE
)
##
## ========================================
## EVALUACIÓN DEL CLUSTERING JERÁRQUICO
## ========================================
## Número de registros: 1000
## Tipo de distancia: gower
## Método de enlace: complete
## Valores de K evaluados: 2 a 8
## ----------------------------------------
## Mejor K según Silhouette: 2
## Silhouette promedio: 0.0682
## Interpretación: Estructura poco definida
## ----------------------------------------
## Correlación cofenética: 0.295
## Interpretación: Baja: el dendrograma representa débilmente las distancias originales
## ========================================
##
## INTERPRETACIÓN PARA EL REPORTE:
## La evaluación del clustering jerárquico se realizó mediante el estadístico Silhouette y la correlación cofenética. De acuerdo con Silhouette, el mejor valor de K fue 2, con un promedio de 0.0682, lo que indica una estructura poco definida. La correlación cofenética fue de 0.295, por lo que se considera que baja: el dendrograma representa débilmente las distancias originales.
El caso construye un modelo de clustering jerárquico con K=4 grupos designados; se utiliza la modalidad de complete en el modelo lo que asegura grupos mas compactos.
El modelo construye cuatro grupos de los cuales el grupo 1 representa el 31.2%, el dos un 46.5%; el grupo 3 un 11.3% y el cuatro 11.0%.
Aquí el resumen de la interpreración de cada clúster:
El clúster 1: Los estudiantes tienen buen promedio, buena asistencia, estudio medio-alto, baja carga laboral, desempeño medio-alto y equilibrio académico.
El clúster 2* presenta menor promedio, menor asistencia, menor estudio, más videojuegos y trabajo; desempeño moderado-bajo y mayor carga de tiempo.
El cluster 3 son estudaintes con desempeño intermedio, mayor trabajo, internet regular y beca dominante; alumnos trabajadores con apoyo económico,
El clúster 4 son estudiantes con mayor promedio, mayor asistencia, más estudio, más deporte y menos videojuegos; alto desempeño académico y perfil deportivo.