Ejemplo de modelo k-means con datos del icfes 2019

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:

No hay texto alternativo para esta imagen

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:

No hay texto alternativo para esta imagen

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:

No hay texto alternativo para esta imagen

El resultado final debería ser el siguiente:

No hay texto alternativo para esta imagen

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.

No hay texto alternativo para esta imagen

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.

No hay texto alternativo para esta imagen

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.

No hay texto alternativo para esta imagen

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

No hay texto alternativo para esta imagen

La segunda función nos devuelve:

No hay texto alternativo para esta imagen

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:

No hay texto alternativo para esta imagen
No hay texto alternativo para esta imagen

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:

No hay texto alternativo para esta imagen
No hay texto alternativo para esta imagen

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:

No hay texto alternativo para esta imagen
No hay texto alternativo para esta imagen

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:

No hay texto alternativo para esta imagen

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.

Iván Analuisa

Director de vinculación con la sociedad en Pontificia Universidad Católica del Ecuador

2 años

Excelente 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...

Inicia sesión para ver o añadir un comentario.

Más artículos de Juan Lastra matute

  • Webscraping utilizando R y python

    Webscraping utilizando R y python

    Para este artículo, nos centraremos en dos de las herramientas más poderosas y populares para webscraping: R y Python…

  • Nuevo ejemplo de webscraping con R

    Nuevo ejemplo de webscraping con R

    ¿Te gusto el gráfico de portada?, representa las variaciones acumuladas del tipo de cambio en los primeros 3 meses de…

    4 comentarios
  • Análisis de salarios entre generos con ANOVA two way

    Análisis de salarios entre generos con ANOVA two way

    Según palabras de gujarati (econometria 5° edición pag 276) "el análisis de regresión no solo se ve influenciado por…

    1 comentario
  • Análisis de componentes principales un ejemplo con R

    Análisis de componentes principales un ejemplo con R

    Cuando recolectamos datos sobre un fenómeno, como por ejemplo las pruebas icfes en Colombia solemos obtener una enorme…

    1 comentario
  • Modelo logit aplicado a icfes en Barranquilla

    Modelo logit aplicado a icfes en Barranquilla

    En este articulo utilizamos el modelo logit para clasificar y predecir cuantos estudiantes de barranquilla obtienen…

  • Gráficos animados en R clase # 2

    Gráficos animados en R clase # 2

    Si te gusto el gráfico anterior hoy veremos como realizarlo en R. Paquetes necesarios: Datos para graficar: En este…

  • Bucles en r teoría y aplicación

    Bucles en r teoría y aplicación

    El termino bucle es bastante conocido en programación; se podría describir como una secuencia de código que se ejecuta…

    1 comentario
  • gráfico animado en R ejemplo:

    gráfico animado en R ejemplo:

    Si te gusto el gráfico anterior hoy veremos como realizarlo en R: paquetes necesarios: tidyverse : graficar y manipular…

    1 comentario
  • Proyecto usando Mysql, Python y R

    Proyecto usando Mysql, Python y R

    En este articulo veremos como importar una base de datos a mysql utilizando python y luego llamar a esos datos…

  • Practica de Rstudio graficos animados

    Practica de Rstudio graficos animados

    En esta ocasion veremos como construir el grafico animado anterior de el salario minimo en colombia. aunque es un…

Otros usuarios han visto

Ver temas