Ejemplo de modelo k-means con datos del icfes 2019
El modelo de clasificación k-means pertenece a la categoría de aprendizaje no supervisado, no se concentra en ninguna variable objetivo; a diferencia de los modelos de regresión.
nuestro objetivo al aplicar este modelo es obtener agrupamientos basados en datos con características similares. el modelo funciona si logra agrupar correctamente dichos datos similares. en este caso obtener departamentos de Colombia que tienen notas promedio del Icfes similares.
Datos:
Estos son los datos a los cuales le aplicare el modelo si quieres obtenerlos adjunto el enlace:
Cargamos los datos a R, seleccionando las columnas que contienen la nota obtenida por materia y la nota global:
Luego obtenemos el valor promedio por cada departamento (necesario el paquete dplyr), ademas de colocar el nombre de las filas de acuerdo a el nombre del departamento:
El resultado final debería ser el siguiente:
Una vez obtenido nuestro conjunto de datos podemos comenzar a desarrollar nuestro algoritmo, lo primero que necesitamos son los paquetes que nos ayudaran a desarrollarlo.
También nuestros datos deben estar normalizados para que los valores grandes no afecten a los pequeños y todos tengan una varianza similar, una vez realizado lo anterior procedemos a analizar la distancia euclidiana de nuestros datos para observar si existe una separación entre ellos.
Esto nos devuelve un gráfico de calor con los datos de distancias euclidianas, los cruces con un color mas rojo, nos indican alta distancia entre ellos:
vemos que el cruce del departamento de Choco con el departamento de Bogota presenta una tonalidad muy roja, evidenciando que la distancia entre ellos en el contexto de las notas promedio del Icfes es muy alta, entonces si se puede clasificar en clusters esta base de datos.
Una vez sabemos que podemos clasificar en grupos estos departamentos nuestra próxima pregunta es en cuantos grupos se puede hacer esta clasificación.
Para ello podemos utilizar un método especifico o utilizar la función nbclust en donde podemos aplicar todos los modelos y observar cual es el numero optimo de clusters o clasificaciones según la mayoría.
Recomendado por LinkedIn
La primera función nos devuelve el siguiente gráfico:
aplicando la conocida ley del codo o de la rodilla buscamos el cluster que presento una caída mas pronunciada. en este caso fue el cluster numero 2
La segunda función nos devuelve:
Estas son las propuestas de acuerdo a cada uno de los test realizados, observamos que 10 métodos (la mayoría) proponen 2 como el mejor numero de clusters.
Entonces definimos 2 como el numero de clusters para trabajar:
Extrayendo información podemos observar que la calificación promedio de el cluster numero 2 es mayor que la clasificación promedio del cluster 1. esto significa que los departamentos que pertenezcan al cluster 2 tienen en promedio mejores notas y un mejor resultado en las pruebas icfes que los que pertenecen al cluster 1.
Esto lo podemos observar mejor de una manera grafica:
sabemos que los puntos que pertenecen al el cluster numero 2 tienen unas notas promedio mas altas que los del cluster numero 1. Esto puede deberse a que los departamentos que pertenecen al cluster 2 poseen una mayor prosperidad en términos de pib y por consecuente una mayor inversión en materia de educación comparándola con los departamentos del cluster 1, en donde existen mas carencias económicas y menos inversión en materia de educación. Es importante notar que el departamento de san andres se aleja significativamente del centro de los datos mostrando que aunque pueda tener características similares a estos se aleja bastante del valor promedio del icfes.
Podemos intentar separarlos en mas clusters por ejemplo 3:
vemos que el cluster 2 sigue mostrando en promedio una mejor nota y el cluster numero 1 muestra en promedio la peor nota.
gráficamente:
El departamento de san andres se desplazo ahora hacia el cluster 2, pero sigue mostrando una clara distancia entre el resto de datos, podríamos considerar a san andres como un caso atípico. ademas parece que la explicación de que esta clasificación corresponde a la capacidad que tiene el departamento en términos de pib aun es valida.
Director de vinculación con la sociedad en Pontificia Universidad Católica del Ecuador
2 añosExcelente modelo, puedes realizar un modelo con variables cualitativas como las que tienes en la misma base de datos, te agradecería si puedes compartir en python...