Esta presentación contiene información de la utilización de algoritmos como JRIP, RIDOR y J48 en minería de datos, específicamente en la predicción de la tendencia del uso de servicios excequiales de la funeraria "La Esperanza", con el fin de determinar si se implentan o no las características con mayor preferencia y si se crea una nueva sucursal, conclusiones que se presentan al final de esta presentación.
Aprendizaje automático en minería de datos funeraria
1. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA INTELIGENCIA ARTIFICIAL AVANZADA APRENDIZAJE AUTOMÁTICO EN MINERÍA DE DATOS INTEGRANTES: María José Lazo Nina Caraguay Claudia Castañeda TUTOR: Ing. Janneth Chicaiza LOJA – ECUADOR
2. INTRODUCCIÓN La minería de datos es hoy en día una de las técnicas más utilizadas en el entorno empresarial, en donde muchas entidades están interesadas en rescatar información que les permita tomar decisiones como: mejorar el funcionamiento de la organización, optimizar el manejo de sus bases de datos, predicción automatizada de tendencias y comportamientos, obtener ventajas comerciales, mejorar calidad de productos, descubrimiento automatizado de modelos desconocidos, descubrimiento de anomalías y acciones fraudulentas por parte de clientes, determinar la factibilidad de extenderse a través de nuevas sucursales y con qué características. El aprendizaje automático es una técnica que utiliza la minería de datos en su proceso de conversión de datos en conocimiento, para agilizar el mismo, a través de la extracción de modelos, basándose en árboles de clasificación como herramientas para eliminar los resultados innecesarios e irrelevantes, convirtiéndose en un motor de consultas que permite realizar ordenamientos y selección de datos.
3. RESUMEN Las técnicas de aprendizaje automatizado constituyen un tema vigente en las investigaciones actuales especialmente en minería de datos para obtener información relevante que permita la extracción de conocimiento, esta minería de datos se denomina inteligente y actualmente es aplicada en el área empresarial para la toma de decisiones. En el presente trabajo, se aplicaron algoritmos de clasificación disponibles en WEKA, versión 3.4.14 como JRIP, RIDOR y J48, sobre una base de datos que contiene variables relacionadas con actividades de una funeraria, con el propósito de determinar cuáles son las preferencias de los clientes en cuanto a los servicios que ofrece, preferencias que se pretenden implementar en las nuevas sucursales que se crearán en base a esta información. A través del análisis y extracción de la base de datos de entrenamiento y de prueba de la base de datos histórica de la funeraria “La esperanza” se comprobó la efectividad de los algoritmos antes mencionados analizando para ello instancias correctamente clasificadas, incorrectamente clasificadas y error relativo absoluto.
5. PREDICCIONES DE LA TENDENCIA DEL USO DE SERVICIOS DE LA FUNERARIA LA ESPERANZA Las predicciones de la tendencia al uso de servicios de la funeraria La Esperanza, serán utilizados para determinar si se crean o no nuevas sucursales, con qué tipo de servicios e infraestructura, analizando las preferencias actuales de los clientes como por ejemplo: el uso de contratos, tipo de vendedores, tipo plan, tipo de pago, tipo de sala, tipo de convenios, comisiones entre otros. La funeraria La esperanza se ha visto en la necesidad de hacer uso de técnicas de aprendizaje automático en minería de datos para la extracción de conocimiento, que le permitan tomar una decisión con respecto a la creación de nuevas sucursales, pues actualmente tiene una alta demanda, y no puede cubrir con eficiencia todas las necesidades de sus clientes.
7. En la Figura de la presentación anterior, se muestra un análisis comparativo de algunos algoritmos de clasificación de acuerdo al tipo de variable que manejan, su ámbito de aplicabilidad y método de poda, destacándose que el más utilizado con resultados óptimos es J4.8, debido a que realiza un aprendizaje más exhaustivo, aunque su tiempo de procesamiento sea mayor al de los demás. Después de un análisis desarrollado por JieCheng y Russell Greiner con respecto al comportamiento de todos los algoritmos se comprobó que IREP, IREP* y RIPPER mostraban un rendimiento inferior que SLIPPER, con lo que podemos concluir que es uno de los algoritmos más óptimos y fiables que existe dentro del aprendizaje de reglas de decisión.
10. ESTRUCTURA DEL MODELO DE DATOS VARIABLES EDAD CLASE PLAN PAGO ALGORITMO DE CLASIFICACIÓN PREFERENCIA JRIP, RIDOR, J48 VENDEDOR PERÍODO NÚMERO DE CLIENTES
11. BASE DE DATOS HISTÓRICA Contiene información de servicios excequiales de la funeraria “La Esperanza”, en donde se tienen datos de años desde el 2005 a 2008, dichos datos corresponden a planes, contratos, convenios, períodos, pagos, clientes, vendedores, etc. mismos que se detallan a profundidad en el paper que respalda esta presentación.
12. BASE DE ENTRENAMIENTO Para determinar la base de entrenamiento se ejecutaron las siguientes consultas sobre la base de datos histórica, tomando 79 casos, denominándola Esperanza, misma que se ha construido estableciendo un rango de edades para determinar la preferencia de los clientes.
13. BASE DE DATOS DE PRUEBA Para esta base de datos se tomaron 21 datos aleatorios de la base de datos resultante luego de ejecutar las consultas, en este caso se le ha denominado Test_DB_Esperanza.
18. RESULTADOS Los resultados de la Figura nos indican que este clasificador presenta un total de 73 casos correctamente clasificados y 6 de manera incorrecta, esto se lo puede evidenciar en la matriz de confusión en dónde podemos observar que ningún caso ha sido clasificado con una preferencia alta cuando se debieron tener 6 casos de este tipo pues el clasificador predijo que 2 casos tienen una preferencia media y 1 baja, el clasificador predijo tan solo 4 casos con preferencia media cuando debieron de ser 6, 1 caso lo clasificó con preferencia baja y 1 de preferencia alta. Para el caso de preferencia baja también hay un error ya que el clasificador predijo que hay 69 casos de este tipo cuando en realidad son 70 pues clasificó un caso con preferencia alta.
20. === Run information === Scheme: weka.classifiers.rules.JRip -F 3 -N 2.0 -O 2 -S 1 Relation: Esperanza Instances: 79 Attributes: 7 periodo plan tipo_servicio tipo_vendedor edad numclientes preferencia Test mode: user supplied test set: 21 instances === Classifier model (full training set) === JRIP rules: =========== (numclientes >= 103) => preferencia=alta (2.0/0.0) (numclientes >= 52) => preferencia=media (6.0/0.0) => preferencia=baja (71.0/1.0) Number of Rules : 3 Time taken to build model: 0 seconds === Evaluation on test set === === Summary === Correctly Classified Instances 21 100 % Incorrectly Classified Instances 0 0 % Kappa statistic 1 Mean absolute error 0.0085 Root mean squared error 0.0109 Relative absolute error 6.1124 % Root relative squared error 4.512 % Total Number of Instances 21 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0 0 0 0 0 alta 1 0 1 1 1 media 1 0 1 1 1 baja === ConfusionMatrix === a b c <-- classified as 0 0 0 | a = alta 0 2 0 | b = media 0 0 19 | c = baja Resultados de la ejecución de JRIP usando la base de entrenamiento
21. RESULTADOS Para la base de prueba se tienen 21 casos a clasificar, los resultados de la clasificación se muestran en la Figura en donde se puede ver que todos los casos han sido clasificados correctamente como se puede verificar en la matriz de confusión en donde no hay ningún caso con preferencia alta, el clasificador predijo correctamente que 2 casos correspondían a la clase media y 19 a la preferencia baja.
23. === Run information === Scheme: weka.classifiers.rules.Ridor -F 3 -S 1 -N 2.0 Relation: Esperanza Instances: 79 Attributes: 7 periodo plan tipo_servicio tipo_vendedor edad numclientes preferencia Test mode: 10-fold cross-validation === Classifier model (full training set) === RIppleDOwn Rule Learner(Ridor) rules -------------------------------------- preferencia = baja (79.0/9.0) Except (numclientes > 45) => preferencia = media (6.0/0.0) [2.0/0.0] Total number of rules (incl. the default rule): 2 Time taken to build model: 0.01 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 74 93.6709 % Incorrectly Classified Instances 5 6.3291 % Kappa statistic 0.6778 Mean absolute error 0.0422 Root mean squared error 0.2054 Relative absolute error 27.883 % Root relative squared error 77.5972 % Total Number of Instances 79 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0 0.013 0 0 0 alta 0.833 0.027 0.714 0.833 0.769 media 0.986 0.222 0.972 0.986 0.979 baja === ConfusionMatrix === a b c <-- classified as 0 2 1 | a = alta 0 5 1 | b = media 1 0 69 | c = baja Resultado de la ejecución de RIDOR con validación cruzada
24. RESULTADOS Los resultados de la Figura nos indican que este clasificador presenta un total de 74 casos correctamente clasificados y 5 de manera incorrecta, esto se lo puede evidenciar en la matriz de confusión en dónde podemos observar que ningún caso ha sido clasificado con una preferencia alta cuando se debieron tener 5 casos de este tipo pues el clasificador predijo que 2 casos tienen una preferencia media y 1 baja, el clasificador predijo que 5 casos presentan una preferencia media de 6 casos en total ya que 1 caso se clasificó con preferencia baja. Para el caso de preferencia baja se tiene un error ya que el clasificador predijo que hay 69 casos de este tipo cuando en realidad son 70 pues clasificó un caso con preferencia alta.
26. === Run information === Scheme: weka.classifiers.rules.Ridor -F 3 -S 1 -N 2.0 Relation: Esperanza Instances: 79 Attributes: 7 periodo plan tipo_servicio tipo_vendedor edad numclientes preferencia Test mode: user supplied test set: 21 instances === Classifier model (full training set) === RIppleDOwn Rule Learner(Ridor) rules -------------------------------------- preferencia = baja (79.0/9.0) Except (numclientes > 45) => preferencia = media (6.0/0.0) [2.0/0.0] Total number of rules (incl. the default rule): 2 Time taken to build model: 0 seconds === Evaluation on test set === === Summary === Correctly Classified Instances 21 100 % Incorrectly Classified Instances 0 0 % Kappa statistic 1 Mean absolute error 0 Root mean squared error 0 Relative absolute error 0 % Root relative squared error 0 % Total Number of Instances 21 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0 0 0 0 0 alta 1 0 1 1 1 media 1 0 1 1 1 baja === ConfusionMatrix === a b c <-- classified as 0 0 0 | a = alta 0 2 0 | b = media 0 0 19 | c = baja Resultado de la ejecución de RIDOR usando la base de entrenamiento
27. RESULTADOS Se hizo uso de base de prueba que se utilizó también con JRIP que consta de 21 casos a clasificar, los resultados de la clasificación se muestran en la Figura en donde se puede evidenciar que todos los casos han sido clasificados correctamente como se puede verificar en la matriz de confusión en donde no hay ningún caso con preferencia alta, el clasificador predijo correctamente que 2 casos corresponden a la clase media y 19 a la preferencia baja.
29. Árbol de clasificación generado por la ejecución del algoritmo J48 con validación cruzada
30. === Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: Esperanza Instances: 79 Attributes: 7 periodo plan tipo_servicio tipo_vendedor edad numclientes preferencia Test mode: 10-fold cross-validation === Classifier model (full training set) === J48 prunedtree ------------------ numclientes <= 42: baja (71.0/1.0) numclientes > 42 | numclientes <= 95: media (6.0) | numclientes > 95: alta (2.0) Number of Leaves : 3 Size of the tree : 5 Time taken to build model: 0.03 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 74 93.6709 % Incorrectly Classified Instances 5 6.3291 % Kappa statistic 0.6938 Mean absolute error 0.048 Root mean squared error 0.1945 Relative absolute error 31.692 % Root relative squared error 73.4884 % Total Number of Instances 79 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0 0.013 0 0 0 alta 0.833 0.041 0.625 0.833 0.714 media 0.986 0.111 0.986 0.986 0.986 baja === ConfusionMatrix === a b c <-- classified as 0 2 1 | a = alta 1 5 0 | b = media 0 1 69 | c = baja Resultados obtenidos de la ejecución del algoritmo J48 con validación cruzada
31. RESULTADOS Los resultados de la Figura nos indican que este clasificador presenta un total de 74 casos correctamente clasificados y 5 de manera incorrecta, esto se lo puede evidenciar en la matriz de confusión en dónde podemos observar que ningún caso ha sido clasificado con una preferencia alta cuando se debieron tener 5 casos de este tipo pues el clasificador predijo que 2 casos tienen una preferencia media y 1 baja, el clasificador predijo que 5 casos presentan una preferencia media de 6 casos en total ya que 1 caso se clasificó con preferencia alta. Para el caso de preferencia baja se tiene un error ya que el clasificador predijo que hay 69 casos de este tipo cuando en realidad son 70 pues clasificó un caso con preferencia media.
33. Árbol de clasificación generado por la ejecución del algoritmo J48 con base de datos de prueba
34. === Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: Esperanza Instances: 79 Attributes: 7 periodo plan tipo_servicio tipo_vendedor edad numclientes preferencia Test mode: user supplied test set: 21 instances === Classifier model (full training set) === J48 prunedtree ------------------ numclientes <= 42: baja (71.0/1.0) numclientes > 42 | numclientes <= 95: media (6.0) | numclientes > 95: alta (2.0) Number of Leaves : 3 Size of the tree : 5 Time taken to build model: 0 seconds === Evaluation on test set === === Summary === Correctly Classified Instances 21 100 % Incorrectly Classified Instances 0 0 % Kappa statistic 1 Mean absolute error 0.0085 Root mean squared error 0.0109 Relative absolute error 6.1124 % Root relative squared error 4.512 % Total Number of Instances 21 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0 0 0 0 0 alta 1 0 1 1 1 media 1 0 1 1 1 baja === ConfusionMatrix === a b c <-- classified as 0 0 0 | a = alta 0 2 0 | b = media 0 0 19 | c = baja Resultados generados por la ejecución del algoritmo J48 con base de datos de prueba
35. RESULTADOS Se hizo uso de base de prueba que se utilizó también con JRIP y RIDOR que consta de 21 casos a clasificar, los resultados de la clasificación se muestran en la Figura en donde se puede evidenciar que todos los casos han sido clasificados correctamente como se puede verificar en la matriz de confusión en donde no hay ningún caso con preferencia alta, el clasificador predijo correctamente que 2 casos corresponden a la clase media y 19 a la preferencia baja.
37. Analizando cada uno de los parámetros expuestos en la figura anterior hemos podido determinar que el algoritmo que mejores resultados ofrece en cuanto al porcentaje de instancias correctamente clasificadas, incorrectamente clasificadas y error relativo absoluto es el RIDOR ya que presenta porcentajes como 93.6709%, 6.3291%, 27.883% respectivamente utilizando validación cruzada y un 100% de instancias correctamente clasificadas, 0% de incorrectas y 0% de error relativo absoluto con respecto a los demás algoritmos al clasificar los casos correspondientes a la base de datos de entrenamiento. Es importante mencionar que todos los algoritmos expuestos en la Figura anterior presentan un 100% de nivel de clasificación en cuanto a instancias correctamente clasificadas usando una base de datos de prueba, con un error relativo absoluto diferente, estos resultados se dan debido a la cantidad de datos considerados para el análisis.
38. CONCLUSIONES Es importante tener un enfoque global acerca del tema de estudio, para lo cual se debe aplicar un método deductivo siendo esta técnica una de las más efectivas que facilita entender el entorno a investigar de manera fácil y completa. Sin el aprendizaje automático el proceso de extracción de conocimiento de la minería de datos se vuelve tedioso e insignificante. El aprendizaje automático permite que la minería de datos genere conocimiento, que a simple vista no se puede evidenciar siendo este un factor importante especialmente en la toma de decisiones. Es importante utilizar varios algoritmos de clasificación para obtener resultados óptimos y confiables. Según el análisis de los algoritmos realizado en la sección 6.7 de acuerdo a los resultados obtenidos se puede concluir que el algoritmo más óptimo aplicable a nuestro ámbito de estudio es el Ridor. La base de datos histórica contiene la información más importante de una organización y es el punto de partida para la extracción de conocimiento.
39. Es importante que él un número de casos tanto para la base de datos de entrenamiento como para la base de prueba debe ser representativo. La funeraria “La Esperanza” de acuerdo a los resultados obtenidos debe implementar una nueva sucursal con características como, un plan especial con un servicio tipo seguro y un vendedor tipo senior. Tener conocimiento de cómo interpretar los resultados luego de la ejecución de los algoritmos es de vital importancia. Weka es una de las herramientas más completas e intuitivas a nivel de aprendizaje automático y minería de datos. El análisis de trabajos relacionados con el ámbito de un estudio investigativo y especialmente aplicativo, permite tener un enfoque claro de los objetivos y metas del proyecto que se vaya a desarrollar.