Temas acerca de Inteligencia Artificial
-
DiegoHDMGZ

- Mensajes: 8
- Registrado: 18 Abr 2020, 17:33
Mensaje
por DiegoHDMGZ » 15 Ene 2021, 16:41
- Resumen : Se estudió el dataset del Ministerio de Trabajo en donde se encontraban los datos de actividades y obras hechas para incentivar la generación de empleo. Estas actividades están relacionadas principalmente al rubro de limpieza. Se realizará un clustering para poder agrupar las actividades con características similares. Se utilizará el método "Elbow Method" para hallar la cantidad de clusters adecuada y el algoritmo K-Means para hallar los clusters.
- Descripción del dataset:
- Dataset original:
Link del dataset original : https://www.datosabiertos.gob.pe/datase ... del-empleo(se utilizará el archivo "Trabaja Perú: Proceso de Seguimiento Trabaja Perú")
Los atributos se describen en la siguiente imagen:

- descripcionDataset.png (50.7 KiB) Visto 259 veces
- Dataser Procesado:
En primer lugar, eliminamos la fecha de término ya que no hay ninguna instancia con ese dato llenado. Luego eliminamos los atributos irrelevantes como el id del convenio, el id de la actividad, la fecha de padrón , la fecha de elegibilidad, fecha de recibido y fecha de inicio.
Nos quedamos con los siguientes atributos:

- atributosElegidos.png (14.15 KiB) Visto 259 veces
El dataset limpio lo podemos ver a continuación:
- Descripción de los resultados con las técnicas usadas
- Determinando el número de clusters: Utilizamos el Elbow Method para hallar el número de clusters. Para ello utilizaré el programa "numberOfClusters.R" que está ubicado en mi ruta de github (ver final del post). Al trazar la gráfica podemos ver lo siguiente :

- elbowMethod.png (5.72 KiB) Visto 259 veces
El momento en donde aparece un punto de quiebre dando la forma de un codo es aproximadamente 3, por lo que definimos K = 3 clusters
- Algoritmo KMeans para realizar el clustering
En Weka primero normalizamos la data y luego corremos el algoritmo de KMeans con K = 3.
Se tiene el siguiente resultado:

- KMeans.png (43.92 KiB) Visto 259 veces
Podemos ver que la mayoría de instancias están en el cluster #2.
Analicemos con mayor detalle los centroides. En la pantalla anterior no se puede apreciar muy bien debido a que uno de los valores de los atributos tienen un nombre muy largo, pero lo podemos ver en las siguientes pantallas:

- cluster0.png (10.41 KiB) Visto 259 veces

- cluster1.png (9.47 KiB) Visto 259 veces

- cluster2.png (10.91 KiB) Visto 259 veces
- Conclusiones
- El cluster 0 está centrado en la municipalidad de TamboGrande que se ubica en Piura y se realizan principalmente actividades de limpieza y mantenimiento de caminos con un monto asignado promedio de S/. 141 852
- El cluster1 está centrado en la municipalidad de Cutervo que se ubica en Cajamarca y se realizan principalmente actividades de limpieza de cauces y riachuelos con un monto asignado promedio de S/. 118 322
- El cluster2 está centro en la municipalidad de San Juan de Lurigancho que se ubica en Lima y se realizan principalmente actividades de limpieza y mantenimiento de infraestructura deportiva con un monto asignado promedio de S/. 146 739
Podemos ver que las actividades encontradas muestran cierta relación con la ubicación geográfica que se halló en el cluster. Asímismo, los montos de dinero más grandes se encuentran asignados a las ciudades cerca a la capital (Lima) y los más pequeños a regiones de la sierra (Cajamarca). También se encontró que la mayoría de actividades de generación de empleo están en el cluster2 (71% de las instancias), es decir, probablemente los más cercanos a Lima.
- Problemas con la data
No se detectaron grandes fallos en la data que afectaran el procedimiento que expliqué aquí. Sin embargo hubo atributos como Fecha_Termino que tenían 100% de valores perdidos (no había ninguna instancia que lo tuviera llenado), por lo cual sería mejor no colocarlo. También habían atributos como Fecha_G_Padron y Fecha_Inicio que tenían 30% de valores perdidos.
- Github
https://github.com/DiegoHDMGZ/IAA-PC2/t ... Clustering
Contiene los datasets y el programa en R para hallar el número de clusters.