1. RESUMEN: Este trabajo consiste en procesar un dataset recuperado de la página del gobierno llamada Plataforma Nacional de Datos abiertos con el objetivo de utilizarla para construir modelos de predicción. Este modelo debe permitir identificar el grupo de personas que debido a sus características, es mas probable que cobren antes el bono y establecer un protocolo para reducir las aglomeraciones en los bancos.
2. DATASET: El dataset contiene 773 301 registros y cada uno de estos registros cuenta con 13 columnas, en las cuales se encuentra información como el código único de hogar, el Ubigeo de la persona a la que se le entregará el bono, Departamento en el que vive, así como la provincia y distrito, además también se cuenta con la cantidad de personas por hogar, el monto a cobrar, tipo de bono, si el bono ha sido cobrado, fecha de cobro, la entidad de cobro, el medio de cobro (el cual puede ser de abono en cuenta, banca celular o ventanilla) y por último la fecha en que se actualizó los datos, todas estas caracteristicas son de tipo texto.
Dataset original:
https://www.datosabiertos.gob.pe/datase ... mpleo-mtpe
Dataset limpio:
https://github.com/edwincusquisiban/IAA-PC2
3. Descripción de los resultados obtenidos:
-Primero se cargó el datset original al weka, desde donde se procedió a eliminar las características que se consideraron irrelevantes para la clasificación, como son el COD_HOGAR que es un identificador para cada hogar, también se eliminó el monto y tipo_bono, ya que estos dos tienen el mismo valor para todos los registros, por lo cual no aportan a la clasifiacación, las ultimas características que se borraron fueron el medio_cobro, fecha_cobro, entidad_cobro, fecha_actualizacion, debido a que son caracteristicas para despues de que se hace el cobro y tiene valores nulos en el grupo de los que no cobraron; estas características nos servirían más para realizar clasificación o clustering dentro del grupo de los que si cobraron, pero el objetivo ahora es saber si cobrarán o no cobrarán por esta razón se procedió a borrar estas características.
-Luego se procedió a usar el filtro de Randomize y Remove, siendo removido el 50% del dataset varias veces consecutivas hasta alcanzar un total de 12 080 registros.
-Como se puede apreciar en la imagen anterior existe un gran desbalance en las clases, por lo cual se hizo uso del filtro SMOTE para tratar de balancear el dataset. Luego de tres aplicaciones de este filtro se logró alcanzar un cierto balance en las clases.
-Una ves listo el dataset se procedió a la construcción de los modelos de predicción mediante 4 algoritmos: J48, Random Forest, SVM y redes Bayesianas.
J48:
Con un porcentaje de entrenamiento del dataset de 70% este algoritmo logró un 74% de precisión, siendo más preciso con la clase “NO” con la cual alcanzó un TP Rate de 0.82, mientras que con la clase “SI” solo llegó a 0.65.
Random Forest:
Con el mismo Percentage Split de 70% este algoritmo logro un mejor resultado en la precisión promedio con un 76.7%, pero también mejoró en los TP Rate de las dos clases, obteniendo un valor de 0.69 para la clase “SI” y 0.83 para la clase “NO”.
SVM:
Los resultados que obtuvo este algoritmo usando un Kernel tipo radial y con costo 0.1 y gamma 0.0 fue de 63.8%, un valor muy bajo y de igual manera cada uno de sus TP Rate son inferiores comparados con los resultados de los otros dos algoritmos.
BAYESNET:
Finalmente el algoritmo de BayesNet, con un número máximo de padres de 3 y con la manta de Markov activada logró un porcentaje de precisión de 72% siendo inferior al primer algoritmo de J48, y sus TP Rate fueron de 0.62 para la clase “SI” y 0.81 para la clase “NO”.
4. CONCLUSIONES:
Luego de haber analizado los resultados es evidente que el mejor modelo es el generado por el algoritmo Random Forest, el cual obtuvo un 76.7% de precisión, además también es el modelo con los mayores TP Rate de las dos clases, obteniendo un valor de 0.69 para la clase “SI” y 0.83 para la clase “NO”, a pesar de esto, un 76.7% de precisión no se podría considerar como un buen resultado y este modelo no se podría utilizar para la clasificación.
Con el uso de un evalualator atribute y el ranker, se determinó que la caracterítica más importante viene a ser el número de miembros del hogar, cuando solo hay un miembro en el hogar es muy probable que no se cobre el bono y en caso de que si haya más miembros entra en juego las demas características como el departamento de residencia el cual es la segunda variable más importante del dataset para el cual, el valor de "Lima" abarca la mayoria de las instancias habiendo más porcetaje de personas que no cobran con respecto a las que sí, pero no es mucha la diferecencia..
5. Dificultades
En este dataset se dio el caso de que hubo fallos al registrar el sexo de algunas personas, puesto que estos tenian el valores numéricos, por lo tanto hubo que quitar estos registros al desconocer la información del sexo, tambien se quitó algunas columnas que tenian valores que no aportaban a la clasificación y que tenian el mismo valor para todos los registros, como es el tipo de bono y el monto.
6. Github : https://github.com/edwincusquisiban/IAA-PC2
Clasificación de las personas que cobran el bono para trabajadores independientes.
- Edwin.Cusquisiban
- Mensajes: 5
- Registrado: 14 Nov 2020, 14:12
- Contactar: