En este caso de estudio se analiza un conjunto de datos simulado de deportistas de nivel superior. El propósito es identificar perfiles deportivos a partir de variables relacionadas con la condición física, el desempeño atlético, los aspectos mentales y el rendimiento académico.
Para ello, se consideran variables como experiencia deportiva, horas de entrenamiento, resistencia, fuerza, velocidad, agilidad, concentración, disciplina, motivación, manejo del estrés, promedio académico y rendimiento competitivo. Debido a que no se cuenta con una variable dependiente, se emplea un enfoque de aprendizaje no supervisado mediante K-Means.
Aquí la descripción específica de las variables de interés:
Los datos cumplen con los requisitos generales para modelos de clustering, sin embargo se transforman los datos atípicos y correlacionados para mejorar eficiencia en la construcción del modelo.
Los datos se encuentran en https://raw.githubusercontent.com/rpizarrog/Libro-Aprendizaje-Automatico.-Casos-de-Estudio-con-R-y-Python/refs/heads/main/datos/datos_deportistas_clustering.csv .
El caso de estudio se puede ver en el portal de rpubs.com en https://rpubs.com/rpizarrog/1446726 .
Las funciones utilizadas se encuentran en github.com en https://raw.githubusercontent.com/rpizarrog/Libro-Aprendizaje-Automatico.-Casos-de-Estudio-con-R-y-Python/refs/heads/main/R%20MarkDown/funciones/funciones%20para%20K-Means.R .
Identificar grupos de deportistas con características similares a partir de variables físico-atléticas, mentales y académicas, utilizando el modelo de clustering K-Means. El propósito es reconocer perfiles deportivos que permitan diferenciar clases de deportistas tentativamente novatos, intermedios, expertos y de alto rendimiento.
library(readr)
library(ggplot2)
library(patchwork)
# url <- "../funciones/funciones para K-Means.R" # local
url <- "https://raw.githubusercontent.com/rpizarrog/Libro-Aprendizaje-Automatico.-Casos-de-Estudio-con-R-y-Python/refs/heads/main/R%20MarkDown/funciones/funciones%20para%20K-Means.R"
source(url)
set.seed(2026)
Se cargan los registros de deportistas con la función f_cargar_datos(url).
# url <- "../datos/datos_mil_estudiantes_k-means.csv" # local
url <- "https://raw.githubusercontent.com/rpizarrog/Libro-Aprendizaje-Automatico.-Casos-de-Estudio-con-R-y-Python/refs/heads/main/datos/datos_deportistas_clustering.csv" # WEB
datos <- f_cargar_datos(url)
Es recomendable detectar valores extremos outliers, analizar correlaciones entre variables físico-atléticas y estandarizar los datos para evitar que una variable domine el cálculo de distancias.
Transformar valores atípicos por las medianas de cada variable.
Modificar las variables correlacionadas en una sola mediante le promedio de los valores de las variables correlacionadas.
\[ \sum {vars_{cor}}/n \]
Se estandarizan todas la variables numéricas y se dejan en un conjunto de datos llamado datos_estandarizados.
Se construye el modelo K-Means con la función con los datos estandarizados. ## Clústeres y centroides
Se observan los clusteres y los centroides
Se manda llamar la función f_dispersion_variables_clusters() y se observan las dispersiones de pares de variables identificando los grupso formados.
Se manda llamar la función f_diagramas_cajas() y se observan los diagramas de cajas que ayudan a identificar de manera más amigable los grupos y se observan algunas incidencias: