Está en la página 1de 10

Tutorial: Uso bsico de RapidMiner

Introduccin
En el mundo de la minera de datos (Data Mining) es imprescindible contar con software especializado que permita trabajar los datos para alcanzar los objetivos propuestos. En este contexto, este tutorial pretende acercar al lector al uso de RapidMiner, un sistema Open Source para Data Mining. Este texto est basado en la versin 5.1 de RapidMiner, edicin para Windows 64. Sin embargo, no debera haber mayores diferencias con las ediciones para otros sistemas operativos. Por otro lado, se asume que el lector ya posee una copia instalada del software (puede descargarse gratis de http://rapid-i.com/content/view/26/84/lang,en/), que tiene un conocimiento bsico de Excel y que entiende nociones estadsticas y de algunos modelos predictivos.

Parte I: Prediccin de variables reales


Una de las mejores formas de familiarizarse con un programa computacional es usndolo, por lo que en esta primera parte se busca aplicarlo en un ejemplo con datos reales.

Contexto
El Ministerio de Educacin de Chile provee pblicamente bases de datos con informacin de establecimientos educacionales. En particular, en este ejemplo se trabajar con la base de datos de Rendimiento, la cual contiene la cantidad de alumnos aprobados, reprobados y retirados, por colegio, nivel de enseanza, grado y sexo. Para este ejemplo, se usar la base de datos correspondiente al ao 2009, la cual puede descargarse de: http://ded.mineduc.cl/DedPublico/archivos_de_datos

Anlisis Propuesto
En la base de datos descargada (Ren2009.xls), se puede observar que cada fila contiene una serie de datos acerca de los establecimientos educacionales, tales como rol identificador, cdigo de enseanza, comuna en la que se ubica, regin, tipo de dependencia, etc. Si se quiere obtener ms informacin acerca de qu significa cada campo, se recomienda leer el documento adjunto con la base de datos REN2009.doc. Ahora bien, entre los datos se encuentra la cantidad de alumnos reprobados, aprobados y retirados por curso, para cada establecimiento. Lo que se propone analizar es el porcentaje de aprobacin de los alumnos de enseanza bsica de los establecimientos registrados. Cabe notar, que porcentaje de aprobacin se entender como la razn entre el nmero total de alumnos aprobados en la enseanza bsica y el nmero total de alumnos de

enseanza bsica de un mismo establecimiento. Este porcentaje se puede obtener fcilmente de la planilla de datos descargada, as como tambin se debe eliminar los establecimientos que no corresponden a enseanza bsica (cod_ense distinto de 110). Junto a este documento se adjunta una planilla con todas las modificaciones necesarias (Ren2009_mod.xls). A partir de estos datos se pretende construir un modelo que permita predecir con un cierto nivel de certeza cul ser el porcentaje de aprobacin (variable real) en un establecimiento de enseanza bsica en funcin de algunas variables conocidas (como regin comuna, dependencia, etc).

Trabajo con RapidMiner


Para llevar a cabo el objetivo propuesto se deben seguir los siguientes pasos. 1. Abrir RapidMiner. Si es la primera vez que se ejecuta el programa, seguir los siguientes pasos, de lo contrario saltar al paso 7. 2. RapidMiner mostrar una alerta indicando que no se tiene un repositorio creado, se debe pulsar en Ok. 3. En la pantalla siguiente, seleccionar New local repository y hacer clic en Next. 4. En el campo Alias seleccionar un nombre para el repositorio, por ejemplo LocalRepository. 5. En el campo Root Directory, seleccionar una carpeta del disco en la que se quiera ubicar el repositorio. 6. Hacer clic en Finish. La ventana de bienvenida debera aparecer, mostrando conos para las opciones New, Open Recent, Open, Open Template y Online Tutorial. 7. Seleccionar New. La ventana de fondo cambiar y sobre ella aparecer el explorador de repositorios (Repository Browser), en esta ventana: 8. Seleccionar el repositorio que se quiere usar (ejemplo: LocalRepository) 9. En el campo Name, introducir un nombre para este proyecto (ejemplo: Tutorial1). Si los pasos se han seguido correctamente, se estar observando la perspectiva de diseo de RapidMiner, que se compone bsicamente de 3 paneles verticales (ver Screenshot 1). El de ms a la izquierda sirve para tener acceso a los operadores y repositorios. El central (y el ms grande por defecto), ser el rea en el que se disear el proceso y en el que se ubicarn los operadores que construyan el modelo. Por ltimo, en el panel de la derecha se sita la pestaa de parmetros (Parameters), que permite configurar los operadores, y la pestaa de ayuda (Help).

Screenshot 1: Pantalla inicial

Ahora bien, el primer paso para comenzar a trabajar con los datos, es importar la planilla Excel al ambiente de trabajo de RapidMiner. Para esto, existen bsicamente dos formas de hacerlo: mediante una importacin directa al proyecto actual y mediante la inclusin de los datos al repositorio. En esta parte del tutorial, se usar la primera alternativa. 10. En la pestaa Operators, explorar las carpetas Import->Data. 11. Hacer clic en el operador Read Excel y arrastrarlo hacia el rea de trabajo (Main Process). Hint: Para acceder rpidamente a un operador, sin tener que explorar las carpetas, se puede escribir su nombre en el campo [Filter]. Ahora bien, en la parte inferior del panel central, se encuentra la pestaa Problems y en ella han aparecido dos errores. Durante el diseo de un proceso, siempre se debe estar pendiente de esta pestaa, para ver si todo est correcto o si existe algn problema que se deba solucionar (ver Screenshot 2).

Screenshot 2: Primeros errores

En este caso, los errores se producen porque no se ha especificado ningn archivo que leer. Para solucionarlo, seguir los siguientes pasos. 12. Hacer clic en el cuadro Read Excel que ha aparecido en el rea de diseo del proceso. 13. En la pestaa Parameters, pulsar el botn Import Configuration Wizard. Con esto, se abrir el asistente de configuracin que permitir importar un archivo de manera fcil e intuitiva. 14. Explorar los archivos del computador, ubicar el archivo preparado Ren2009_mod.xls, seleccionarlo y pulsar en Next. 15. Tras unos instantes, aparecer una vista previa del archivo y en l estarn todas las celdas marcadas. Se debe dejar as y pulsar en Next. A estas alturas se debera estar en el paso 3 de 4 (Step 3 of 4). En este paso, lo que se hace es especificar a RapidMiner si se tienen filas especiales en el archivo. En el caso de este ejemplo, la primera fila del archivo corresponde a los nombres de los campos y no a valores en s. Normalmente RapidMiner debera detectar estas filas especiales y etiquetarlas como corresponde. 16. Asegurarse de que la primera fila tenga puesta la anotacin Name, en la columna Annotation y pulsar en Next. En el ltimo paso se deben definir los tipos de cada dato (integer, real, text, etc) y los roles de cada uno. Los roles que se usarn son bsicamente tres: Id para el campo que identifica a cada fila (como por ejemplo rol, rut, etc), attribute para campos que contienen valores e

informacin que debe ser considerada en el modelo y label para el campo que corresponde a la variable que se quiere predecir. 17. Dejar seleccionadas solo las siguientes columnas: rbd, reg_cod, pro_cod, com_cod, cod_depe, cod_area, apro. 18. Verificar que todas las columnas tengan el tipo integer (entero), a excepcin de apro, que debe ser de tipo numeric. 19. Definir el rol de rbd como id y el de apro como label. 20. Hacer clic en Finish (ver Screenshot 3)

Screenshot 3: Configuracin del asistente de importacin de datos

Con esto, RapidMiner ya ser capaz de leer los datos de la planilla Excel y trabajar con ellos. Lo que resta a continuacin es introducir los operadores necesarios para construir un modelo predictivo. En primera instancia, se construir un modelo mediante una regresin lineal y se ver su rendimiento (se buscar medir su error en la prediccin). 21. En la pestaa Operators, explorar las carpetas Evaluation->Validation, seleccionar el operador Split Validation y arrastrarlo al rea de diseo, al lado derecho del operador Read Excel. Hint: Cuando se quiera obtener ms informacin acerca de un operador, es posible seleccionarlo y presionar F1, lo cual desplegar una ventana con ms informacin.

El operador Split Validation es un operador compuesto (se puede ver que en la esquina inferior derecha del mismo aparecen dos cuadros azules), lo que significa que para su correcto funcionamiento, debe ser compuesto de otros operadores (ver Screenshot 4).

Screenshot 4: Operador Split Validation

Su funcionamiento consiste en tomar un conjunto de datos de entrada, tomar una cierta cantidad de ellos (configurable en la pestaa Parameters) y usarlos para entrenar un modelo predictivo. Luego, con el resto de los datos, validar el modelo recin creado y entregar estadsticas acerca de su rendimiento. Ahora bien, se puede observar que este operador posee una entrada ( tra) para los datos de entrenamiento del modelo y 4 salidas (mod, para el modelo; tra, para los datos de entrenamiento; ave, para los datos de rendimiento del modelo). Para componer el operador adecuadamente, se deben seguir los siguientes pasos. 22. Hacer doble clic sobre el operador Split Validation, esto llevar al interior del mismo, que se compone de dos reas: Training y Testing. 23. En la pestaa Operators, explorar las carpetas Modeling->Classification and Regression->Function Fitting, seleccionar el operador Linear Regression y arrastrarlo hasta el rea de Training. 24. Conectar la entrada del operador con la entrada provista por Training y la salida mod, con la entrada mod. Hint: Para conectar fcilmente un operador a una entrada o salida de otro operador, se puede hacer clic con el botn derecho en la entrada/salida desconectada (debe estar marcada en rojo), seleccionar Quick Fixes y elegir la opcin adecuada de conexin.

25. En la pestaa Operators explorar las carpetas Modeling->Model Aplication, seleccionar el operador Apply Model y arrastrarlo al rea de testing. 26. En la pestaa Operators explorar las carpetas Evaluation->Performance Measurement, seleccionar el operador Performance y arrastrarlo a continuacin del operador Apply Model. 27. Conectar la entrada mod de Apply Model, con mod de Testing y la unl con tes. 28. Conectar la salida lab de Apply Model con la entrada lab de Peformance. 29. Conectar la salida per de Performance, con la salida ave de Testing. 30. Hacer clic en la flecha azul que apunta hacia arriba en la parte superior (ver Screenshot 5).

Screenshot 5: Interior del operador Split Validation

Con esto, el operador Split Validation ha quedado correctamente conformado y hemos vuelto a la vista de diseo principal. Ahora solo resta hacer conexiones y el proceso estar listo. 31. Conectar la salida mod de Validation con la salida res del proceso. 32. Conectar la salida ave de Validation con otra salida res del proceso. Ahora bien, el proceso est finalmente construido. Los resultados que se esperan obtener son bsicamente el modelo (mediante los coeficientes que definen la regresin lineal) y los datos acerca del rendimiento del modelo. Ejecutaremos el proceso para ver los resultados obtenidos. 33. Hacer clic en el botn triangular (forma de Play) de la barra superior (ver Screenshot 6). 34. Aceptar la advertencia sobre guardar el archivo actual.

Screenshot 6: Proceso finalizado

35. Tras algunos instantes aparecer un nuevo cuadro avisando que han aparecido nuevos resultados y preguntando si se quiere pasar a la perspectiva de resultados, aceptar. 36. Seleccionar la pestaa Linear Regression. En esta pestaa se puede observar el modelo generado en este proceso. En primer lugar, se muestra una tabla con los coeficientes de la regresin, as como tambin con otra informacin estadstica. Si se selecciona la opcin Text View, se muestra la funcin de regresin que permite calcular el porcentaje de aprobacin en funcin de las otras variables (ver Screenshot 7). Por ltimo, interesa ver cun buena es la prediccin realizada por este modelo, para ello: 37. Seleccionar la pestaa Performance Vector (Peformance). En esta parte, se muestran distintas medidas de error del modelo. En el caso del ejemplo, se obtiene un error cuadrtico medio de 7.157 (ver Screenshot 8), lo cual es bastante alto considerando que el rango de valores vlidos es de 0 a 100 (pues es un porcentaje).

Screenshot 7: Resultados del modelo

Screenshot 8: Resultados de rendimiento

Hasta este punto, hemos concluido exitosamente la elaboracin de un modelo predictivo en RapidMiner, usando datos reales y hemos medido su capacidad de prediccin. Como ltimo paso, se ver como cambiar el modelo que se genera de forma fcil y rpida. En particular, se probar crear un modelo usando Redes Neuronales.

38. Volver a la perspectiva de diseo (View->Perspectives->Design) 39. Entrar al operador Validation, haciendo doble clic en l. 40. Seleccionar el operador Linear Regression, hacer un clic con el botn derecho y seleccionar Replace Operator->Modeling->Classification and Regression->Neural Net Training->Neural Net. 41. Volver a la vista principal 42. Hacer correr el proceso Con esto, fcilmente se ha reemplazo el mtodo de construccin del modelo, pasando de una simple regresin lineal a algo ms complejo como lo es una red neuronal. Al analizar los resultados obtenidos, se puede observar que el error calculado es mayor que en el caso anterior. Este procedimiento de probar con otros operadores para entrenar el modelo puede repetirse y experimentar con distintos mtodos, sin embargo, se debe tener en consideracin que no todos los operadores trabajan con los mismos tipos de datos, por lo que se debe tener cuidado de elegir un operador capaz de predecir variables reales y que trabaje con variables numricas.

Conclusiones e ideas propuestas


Ya finalizando este tutorial, debera haber quedado claro como se construye un modelo en RapidMiner, desde la etapa de importacin de datos hasta la etapa de evaluacin del modelo. Ahora bien, para seguir trabajando con este ejemplo y familiarizarse an ms con este software, puede ser interesante cargar otros datos (como por ejemplo el rendimiento del ao 2010) y aplicar el modelo ya construido sobre esos datos, para comparar los valores obtenidos por el modelo versus los valores reales medidos. Cabe destacar que este ejemplo, si bien es bueno para entender el funcionamiento del programa, no es tan bueno desde el punto de vista del anlisis, ya que predecir el porcentaje de alumnos aprobados dentro de un colegio puede ser una variable que no entregue mucha informacin (un colegio puede ser bueno o malo y an as tener el mismo porcentaje de aprobacin similar). Por otro lado, se observ que los modelos construidos son poco precisos, lo cual se explica por la baja cantidad de variables discriminativas entre establecimientos. Ms an, basta tener dos establecimientos en la misma comuna, bajo la misma dependencia (municipal, por ejemplo), para que el modelo ya prediga el mismo porcentaje de aprobacin. Por ltimo, dejo propuesto pensar en qu otras variables se podran predecir usando la misma base de datos, o tambin, aplicar el mismo procedimiento para los establecimientos de enseanza media. Como se puede ver, solo con lo expuesto en este tutorial las opciones ya son muchas. En la siguiente parte, se presentar un ejemplo para predecir variables categricas en un contexto similar.