UNIVERSIDAD DE GRANADA E.T.S. de Ingenierı́as Informática y de Telecomunicación Departamento de Ciencias de la Computación e Inteligencia Artificial Inteligencia de Negocio Guión de Prácticas Práctica 2: Competición en Kaggle sobre Preprocesado de Datos Curso 2015-2016 Cuarto Curso del Grado en Ingenierı́a Informática Práctica 2 Competición en Kaggle sobre Preprocesado de Datos 1. Objetivos y Evaluación En esta segunda práctica de la asignatura Inteligencia de Negocio veremos el uso de métodos de preprocesado de datos para aprendizaje supervisado en clasificación, una tarea muy habitual al abordar problemas reales en business analytics. Se hará uso de la plataforma Kaggle (https: //www.kaggle.com/) para evaluar los resultados. El estudiante adquirirá destrezas para mejorar los datos con el objetivo de aumentar la capacidad predictiva de los algoritmos de aprendizaje, ası́ como familiarizarse con una de las plataformas de competición en Ciencias de Datos más extendida hoy dı́a. La evaluación de la práctica se dará en función de la posición final que ocupe el resultado propuesto por el estudiante con el siguiente criterio: puesto 1◦ puntuación 3 2◦ 3 3◦ 4◦ 5◦ 2,5 2,25 2 ... último ... 1 Las posiciones serán linealmente proporcionales entre los dos puntos del 5◦ y el punto del último. Para obtener esta puntuación no bastará con subir los resultados a Kaggle, se deberá también adjuntar un documento que describa el proceso seguido por el estudiante para resolver la práctica y demostrar mediante la actividad registrada en Kaggle que ha habido un esfuerzo por mejorar los resultados mediante preprocesado. 2. Descripción del Problema y Reglas de la Competición La competición se centra en el uso de métodos de preprocesado (selección de instancias y caracterı́sticas, filtros, imputación, etc.) en un problema con ruido, valores perdidos y con un reparto de la clase moderadamente desequilibrada. La competición Kaggle se encuentra en la siguiente dirección: 1 3 Procedimiento de Experimentación 2 http://inclass.kaggle.com/c/ugr15-preprocessing-for-protein-structure-prediction/. Cada estudiante deberá registrarse en Kaggle con un email con dominio ugr.es para poder participar. Se puede subir un máximo de cuatro soluciones al dı́a. La clase es binaria: positivo (1) o negativo (0). La tasa de instancias de la clase positiva es del 25 %. El conjunto de datos de entrenamiento contiene 50 caracterı́sticas (reales, enteras y nominales) y 20.000 instancias. Se ha extraı́do de un conjunto de datos mayor utilizado en bioinformática para predecir estructuras de proteı́nas 1 . El conjunto de entrenamiento se ha modificado artificialmente para incluir ruido de clase y valores perdidos. Dado que la competición es sobre preprocesado, el algoritmo usado para aprender el clasificador será siempre el mismo, con la misma implementación y los mismos valores de los parámetros, de modo que el trabajo se centrará en preparar los datos que enviar a este algoritmo. Se usará el algoritmo C4.5 en la versión implementada en KEEL 3.0 (http://www.keel.es) y con los parámetros por defecto (pruned=TRUE, confidence=0.25, instancesPerLeaf=2). Sin embargo, Kaggle solo permite evaluar el comportamiento sobre el resultado final de clasificación, de modo que será responsabilidad del participante usar este algoritmo y con la implementación mencionada. El administrador de la competición podrá pedir a los participantes que faciliten los datos preprocesados enviados a C4.5 en cualquier momento, y será obligatorio hacerlo en cualquier caso al final de la competición, antes de fijar la posición final de los participantes. Se usará el AUC (área bajo la curva ROC) como métrica de evaluación. Debe tenerse en cuenta que la puntuación mostrada en Kaggle durante la competición se calcula sobre un subconjunto de la solución enviada. Una vez que la competición ha finalizado, se mostrarán los resultados finales sobre un subconjunto diferente de la solución enviada, los cuales constituirán el ranking definitivo. 3. Procedimiento de Experimentación En la web de Kaggle se encuentran disponibles los siguientes archivos: UGR2015 tra.csv: conjunto de datos de entrenamiento sobre los que se aplicará el preprocesado. UGR2015 tst.csv: conjunto de datos de prueba sin las etiquetas de clase. UGR2015 sampleSubmission.csv: ejemplo de archivo a enviar a Kaggle que coincide con el resultado de C4.5 sobre el conjunto inicial de entrenamiento sin preprocesado. Obtiene una puntuación de 0.629266666666667. UGR2015 keel header.txt: cabecera del conjunto de datos para usar en formato KEEL. 1 J. Bacardit, P. Widera, A. Márquez-Chamorro, F. Divina, J.S. Aguilar-Ruiz, N. Krasnogor, Contact map prediction using a large-scale ensemble of rule sets and the fusion of multiple predicted structural features, Bioinformatics 28:19 (2012) 2441-2448 4 Entrega 3 Para el uso correcto en KEEL, deberá comenzarse por crear el fichero en formato KEEL usando la cabecera disponible. Estos archivos están disponibles en la web de la asignatura. A continuación puede importarse este fichero (con la opción KEEL to KEEL) para integrarlo en la herramienta. Se recomienda dividir el conjunto de datos de entrenamiento en distintas particiones para validación cruzada, de modo que sea el comportamiento medio sobre estos datos los que sirvan para validar los resultados y depurar el preprocesado. Una vez se ha obtenido un preprocesado satisfactorio que se desea entregar en Kaggle, se puede seguir el siguiente procedimiento. En el directorio que contiene los datos dentro de KEEL, crearemos dos ficheros que contengan el conjunto de datos de entrenamiento y de prueba usados en la competición pero en formato KEEL. Por ejemplo, si se ha dado el nombre ugr2015 al conjunto de datos en KEEL, en el directorio donde se encuentran los datos incluiremos dos ficheros con nombres ugr2015-1-1tra.dat y ugr2015-1-1tst.dat. Ası́, en la experimentación se elegirá validación cruzada con número de carpetas igual a 1 para que se usen estos datos. En el conjunto de prueba se debe incluir la clase, de modo que puede optarse por simplemente añadir siempre la clase positive a todas las instancias. Este aspecto es irrelevante, pues el único interés es disponer de la predicción hecha por C4.5 para este conjunto de datos. Una vez ejecutado el experimento, este resultado se encuentra en el archivo ./results/ C45-C.ugr2015/result0.tst. Se deberá extraer la segunda columna de este fichero (que contiene la predicción de C4.5), convertirla a 0 (negative) y 1 (positive), y componer un archivo similar a UGR2015 sampleSubmission.csv para poderse enviar a Kaggle. Para comprobar que todo se está haciendo correctamente, es recomendable hacer el experimento inicial en KEEL con C4.5 sobre el conjunto de datos de entrenamiento, componer el fichero solución y presentarlo en la plataforma de competición. Si todo va bien, el fichero deberá ser idéntico a UGR2015 sampleSubmission.csv y la puntuación en Kaggle deberá ser 0.629266666666667. Este valor indica un lı́mite inferior, pues cualquier preprocesado que se decida aplicar deberı́a mejorar este resultado. 4. Entrega La competición en Kaggle finaliza el martes 6 de enero de 2016 a las 23:59. Tras acabar la competición, el estudiante deberá también entregar antes del 8 de enero de 2016 a las 23:59 una documentación que explique las tareas de preprocesado realizadas ası́ como el conjunto de datos final en formato KEEL usado sobre C4.5 y correspondiente a la mejor solución enviada a Kaggle. Este material adicional se entregará a través de la web de la asignatura en https:// decsai.ugr.es en un único archivo zip. Tanto en el nombre del archivo comprimido como en la documentación deberá indicarse con claridad el nombre de usuario utilizado en Kaggle durante la competición: P2-apellido1-apellido2-nombre-nick kaggle.zip. Es decir, la estudiante “Marı́a Teresa del Castillo Gómez” con el nombre de usuario en Kaggle “maite” subirá el archivo: P2-delCastillo-Gómez-Marı́aTeresa-maite.zip. La documentación, contenida en ese mismo archivo zip, tendrá el mismo nombre pero con extensión pdf.
© Copyright 2024