M
Trabajo
MINERÍA DE D
de Grado par
UN
DATOS EN EL
DANIEL
ra optar el tít
D
Claudia
Escue
NIVERSIDAD N
SED
FACUL
PAQUETE RA
L TUTTLE OSP
ulo de Ingeni
Directora:
Jiménez Ram
ela de Sistema
NACIONAL DE
DE MEDELLÍN
LTAD DE MINA
ATTLE DEL LEN
INA
ero de Sistem
mírez
as
COLOMBIA
AS
NGUAJE R.
mas e Informáática
TABLA DE CONTENIDO
1. Introducción 2. La minería de datos 3. Instalación de Rattle 4. Cargando datos 5. Explorando los datos 6. Transformando los datos 7. Análisis de clúster 8. Análisis de asociación 9. Creando modelos 10. Evaluando modelos 11. Revisando el registro 12. Propuestas y conclusiones
1. Introducción
R es un lenguaje y un entorno diseñado para análisis estadístico. Fue desarrollado por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993. R se distribuye bajo la licencia GNU GPL y está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux. R provee una gran variedad de técnicas gráficas y estadísticas como: modelos lineales y no lineales, pruebas estadísticas clásicas, análisis de series temporales, clasificación, agrupación entre otras [1].
Rattle (del inglés, R Analytical Tool to Learn Easily) es un paquete de software libre desarrollado por Togaware que proporciona una interfaz gráfica basada en Gnome para la minería de datos desarrollada en el lenguaje de programación R. Este paquete proporciona una interfaz intuitiva que guía con facilidad a través de los pasos básicos de la minería de datos y nos ilustra el código de R que se utiliza para lograr nuestro estudio sobre los datos [2].
Hoy en día Rattle es utilizado por un gran número de empresas gubernamentales y comerciales alrededor del mundo. También es usado con fines educativos donde ha sido la principal herramienta usada en universidades como Harbin Institute of Technology, Shenzhen Graduate School, y por la Universidad Nacional de Australia [2].
Este trabajo tiene como objetivo ser una guía que apoye el proceso de aprendizaje del curso Técnicas en Aprendizaje Estadístico, la cual trata de dar a conocer una herramienta que puede ser útil para que los estudiantes pongan en práctica todos los conocimientos adquiridos en el curso. En este caso Rattle y el lenguaje R tienen la ventaja de ser un producto de software libre lo cual facilita el acceso por parte del docente y los estudiantes a esta herramienta que potencializa el conocimiento impartido en el curso.
2. La minería de datos
La minería de datos es un conjunto de técnicas y tecnologías que permiten analizar grandes colecciones de datos con el fin de encontrar información implícita en éstos, tales como tendencias o reglas que ayuden a entender y expliquen el comportamiento de los datos analizados. La Estadística y la Inteligencia Artificial son la base de la minería de datos y las que permiten la comprensión de los datos.[9]
La minería de datos es utilizada con el fin de:
• Descubrir patrones, relaciones o tendencias en los datos. • Describir fenómenos. • Obtener resúmenes. • Analizar agrupaciones. • Realizar predicciones y clasificaciones.[10]
Un estudio de minería de datos está compuesto principalmente por 4 etapas:
1. Determinación de objetivos: se plantean los objetivos y hasta donde se quiere llegar con un estudio.
2. Preprocesamiento de los datos: Se seleccionan los datos que son influyentes en el modelo, se limpian y se transforman las variables que sean necesarias con el fin de generar un modelo. Esta es la etapa que demanda más tiempo y la más importante de un estudio ya que de la calidad de los datos depende la calidad del modelo.
3. Determinación del modelo: por medio de la Estadística y medios visuales se analizan los datos con el fin de conocerlos y tener una idea del comportamiento de estos. Luego según los objetivos planteados en la primera etapa y la tarea que debe realizarse se escoge el tipo de modelo que se ajusta a las necesidades y cumple con los requerimientos establecidos.
4. Análisis de los resultados: se verifica la coherencia de los datos y se comparan con los resultados arrojados por los análisis estadísticos. Se determina si el modelo aporta nuevo conocimiento y cumple las expectativas.[9]
3. Instalación del paquete Rattle
R es un software libre el cual se puede descargar del sitio Web http://cran.r‐project.org/. Luego de descargarlo e instalarlo se procede a descargar e instalar el paquete Rattle el cual se estudiará en este trabajo. En la Figura 1 se observa la interfaz de R y la opción que se debe ingresar para descargar el paquete Rattle.
Figura 1. Instalación Paquetes
Luego de seleccionar la opción “Instalar paquetes” aparece una lista de sitios de descarga (mirrors), donde se encuentran disponibles los paquetes instalables en R. La idea es seleccionar la ubicación más cercana a su localización con el fin de que la descarga de los paquetes sea más eficiente.
Después de seleccionar la ubicación del servidor, se listan los paquetes disponibles para descargar, en este caso se busca y se selecciona Rattle. Cuando finalice la descarga en la consola de R se digitan los siguientes comandos con el fin de iniciar Rattle:
Library (rattle) // Este comando carga el paquete en memoria.
Rattle() // Con esta función se ejecuta y abre lainterfaz gráfica de Rattle.
Tras lala neceusuarioutilizar
Figura
Luego algo sim“OK”.
Tras lalas opcpaqueta abrirlibrary muestrque Ra
ejecución deesidad de deo. Al final prr Rattle se esc
2. Instalando
de respondemilar, para in
descarga se ciones recomte que se instr). Luego de r(rattle) y ratra a continuaattle funcione
e estos comanescargar otroregunta que cribe la palab
o Paquete RG
r “si” a la annstalar este pa
inicia el instamendadas portaló anteriormreiniciar R se tle(). Duranteación en la Fie adecuadame
ndos se obtieo paquete llasi se desea ra “yes”.
Gtk2.
terior pregunaquete selecc
Figura 3.
alador de ester éste. Cuandmente lo requejecutan de e la ejecuciónigura 4, inforente.
ene el resultaamado “RGtkinstalar este
nta se despliecionamos la o
Instalación G
e paquete, endo finalice la uería (simplemnuevo los con de Rattle purmado que se
do mostradok2” para mopaquete aho
ega otra ventopción “Insta
GTK+.
n el proceso dinstalación semente se ciermandos queueden aparece requieren o
en la Figura strar la interora y ya que
tana (Figura 3ll GTK+ ” y lue
de instalacióne debe reinicrra el programse digitaron cer ventanas otros paquete
2, que informrfaz gráfica de el objetivo
3) preguntanego se presio
n se seleccionciar R ya quema R y se vueanteriormencomo la que es con el fin
ma del es
do ona
nan e el lve te: se de
4. Carg
La infodatos observ
gando los dat
ormación se pen muchas dvar en la Figur
Figura 4.
tos
pueden encode sus formara 5, se ofrece
Fig
Ejemplo de p
ontrar en diveas. Para cargaen las diferen
gura 5. Interfa
paquete requ
ersos formatar los datosntes opciones
az para carga
uerido por Ra
os y R brindaen la pestañs para realizar
ar los datos.
attle.
a la posibilidña “Datos” lar esto.
ad de import cual se pue
tar ede
Dentro de las opciones que ofrece Rattle se tiene:
• Hoja de cálculo: en la cual se pueden cargar archivos CSV (comma‐separated values). En este tipo de archivo las columnas que corresponden a cada variable se separan por medio de comas y en algunos casos por punto y coma.
• ARFF (Attribute‐Relation File Format): es esencialmente un CSV con un encabezado que describe los metadatos. Este tipo de formato fue desarrollado para trabajar con WEKA.
• ODBC (Open Database Connectivity): es un estándar desarrollado para acceder a la información almacenada en una base de datos. R permite conexión con las siguientes bases de datos MS/Excel, MS/Access, SQL Server, Oracle, IBM DB2, Teradata, MySQL, Postgres, and SQLite.
• Conjunto de datos R: esta opción permite cargar datos en Rattle que hayan sido cargados en R.
• Archivo de datos R: Rattle brinda la posibilidad de cargar archivos nativos de R los cuales por lo general tienen la extensión RDATA. Estos archivos pueden contener varios conjuntos de datos.
• Librería: en esta opción se tiene acceso a varios conjuntos de datos disponibles en R.[3]
Para cargar los datos simplemente se selecciona el tipo de formato que se desea importar, luego se indica la ubicación del archivo y por último se presiona el botón “Execute” en la parte superior izquierda de la interfaz o simplemente se presiona la tecla F2. En el caso de la bases de datos se especifica el DSN (data source Name).
A continuación, se cargarán los datos con los que se trabajará en el resto del documento. Es un archivo CSV el cual contiene la información de un censo realizado es Estados Unidos.
Figura 6. Cargando archivo cenUS.csv.
Figura 7. Opciones de la interfaz.
Luego de seleccionar el archivo con los datos, se procede a indicar por cual carácter están separadas las columnas del archivo y cual estamos utilizando como separador decimal. Se activa la opción encabezado para indicar que la primera fila del archivo tiene los nombres de las columnas y en caso de no activar esta opción se crearán nombres al azar.
En el cuadro verde de la Figura 7 se resalta la opción de partir los datos, en caso de querer dividir la muestra, se activa el checkbox “partición” y en la casilla de la derecha se especifican los tamaños de las particiones. La partición por defecto es 70/15/15 lo que significa que el 70% de los datos se utilizan para entrenamiento, 15% para validación y 15% para prueba. También existe la opción de dividir la muestra en solo dos: entrenamiento y validación, simplemente especificando los dos porcentajes 70/30. En la opción semilla se puede indicar el número que será utilizado para generar números aleatorios, donde diferentes semillas generan distintas particiones.
Después de ajustar las preferencias se procede a presionar el botón “Excecute” en la parte superior. El comando que se ejecuta en R para cargar los datos es el siguiente:
crs$dataset <‐ read.csv("file:///C:/Users/Daniel/Desktop/Recortes/censUS.csv", sep=";", na.strings=c(".", "NA", "", "?"), strip.white=TRUE, encoding="UTF‐8")
Cuando se cargan los datos, en la parte inferior de Rattle se muestra cada una de las variables que se tenían en el archivo (ver Figura 8). Además se indica el tipo de cada variable el cual puede ser categórico o numérico, el número de elementos faltantes y el número de niveles en cada una.
Rattle selecciona también la variable de destino, la cual será la que se cruzará con la demás. Rattle analiza cada variable y las que tengan menos de 5 valores únicos se convierten en candidatas para ser la variable de destino. La lista de candidatas se ordena a partir de la última variable y luego se busca la primera que cumpla con la condiciones para ser candidata. Por lo general la última variable es la de destino.
Figura 8. Variables del archivo cargado.
Los botones Ver y Editar ubicados a la derecha de la semilla permiten visualizar y editar el archivo.
Existe la posibilidad de ignorar las variables que se deseen ya que puede darse el caso en el que éstas no posean información relevante para el análisis. Esto se hace seleccionando la variable y luego presionando el botón rojo de ignorar. Si se desea indicar que una variable es de tipo ID se puede hacer simplemente activando la opción “Ident” de ésta. Siempre que se realicen cambios sobre las variables se debe presionar de nuevo el botón “Execute”.
En la calculadora de peso se puede ingresar una fórmula con el fin de asignarle un peso a cada observación.
5. Explorando los datos
Una vez cargados los datos y definidos los roles de las variables, se procede a explorar los datos con el fin de conocer más sobre éstos y comprender un poco su comportamiento. Para comenzar con el análisis se selecciona la pestaña Explorar (ver Figura 9). Rattle provee las siguientes opciones:
• Suma: Presenta un resumen de las variables donde se encuentran estadísticas como la mediana, media, moda y muchas otras.
• Distribuciones: Se pueden realizar gráficos como histogramas, cajas y bigotes, mosaico entre otros.
• Correlación: Se realiza un estudio de independencia entre las variables numéricas. • Componentes principales: Ofrece información sobre la importancia de las variables para
explicar la variación que se encuentra en el conjunto de datos. • Interactivo: Ofrece una visualización gráfica de los datos de una manera dinámica.
Figura 9. Opciones de la pestaña explorar.
Luego de esta pequeña introducción se procederá a realizar el análisis exploratorio de los datos cargados en el punto anterior. Se mostrarán las opciones mencionadas anteriormente.
• Suma
Dentro de esta opción se encuentran diferentes tipos de estadísticos e información que ayudarán a entender un poco sobre los datos. Se procederá entonces a mostrar cada una de la información arrojada por las diferentes opciones dentro del Tipo Suma.
Suma
A continuación se muestra el resultado obtenido tras ejecutar la opción “Suma”.
Figura 10. Información acerca de las variables.
En la primera parte del resultado (ver Figura 10) se observa cada una de las variables donde la columna “NAs” indica el número de faltantes para cada variable y la columna “Levels” indica el número de niveles para las variables categóricas. Luego más abajo se observa una tabla con las variables categóricas y sus respectivos niveles (Figura 11).
Figura 11. Valores de las variables categóricas.
Ya en la última parte del resultado arrojado aparecen ciertas estadísticas de cada variable, en el caso de las numéricas se tiene el valor máximo, el valor mínimo, la media, la mediana y los valores del primer y tercer cuartil (ver Figura 12). Para el caso de las categóricas se muestra la frecuencia para algunos de los niveles. En el caso de tener variables con valores faltantes éstos también se muestran.
Figura 12. Última parte del resultado arrojado por la opción Suma.
Describir
Ahora se analizará otra opción de las 6 que ofrece el Tipo Suma, se seleccionará la opción “Describir” seguido de “Execute”. Debido a la longitud de las variables no se presentarán todas.
Figura 13. Resultados de la opción Describir.
Dependiendo del tipo de variable se observará diferente información sobre la variable. Para las categóricas se tendrá una tabla con la frecuencia relativa y la absoluta. Para las numéricas se muestra la media, los valores más altos y bajos y los valores de los 7 percentiles. Cuando se tienen variables numéricas con pocos niveles aparece la tabla de frecuencias y los 7 percentiles. Todo esto se puede observar en la Figura 13.
Básicos
Esta opción muestra un buen número de estadísticas para las variables numéricas dentro de las cuales las más importantes son: el número de observaciones, numero de faltantes, valor mínimo, valor máximo, primer y tercer cuartil, media, mediana, la suma de los valores, error estándar de la media, varianza, desviación estándar, asimetría y curtosis (ver Figura 14).
Figura 14. Resultado de la opción Básicos.
Curtosis
En esta opción Rattle arroja el coeficiente de curtosis para cada una de las variables numéricas. Este coeficiente indica la forma de la distribución de los datos con respecto a la distribución normal. Si el coeficiente es menor que 0, es una distribución Platicúrtica es decir que la distribución es más plana o achatada que la normal. Si es igual a 0, es una distribución Mesocúrtica lo que indica que los datos tienen una distribución normal. Y si es mayor que 0 ó Leptocúrtica la distribución de los datos es más apuntada que la normal.
Figura 15. Curtosis de las variables numéricas.
Analizando las variables de la Figura 15 se observa que salario, ganancias y pérdidas son leptocurticas y están demasiado alejadas de tener una distribución normal.
Sesgo
El sesgo indica cual cola de la distribución es la más larga. Si el valor es positivo la cola de la derecha es más larga. En caso de ser negativo la cola de la izquierda es más larga y en caso de ser cero se dice que los datos no tienen sesgo. En la Figura 16 se muestra el resultado tras ejecutar la opción “Sesgo” lo que significa que hay simetría en la distribución de los datos.
Figura 16. Sesgo de las variables numéricas.
Valores faltantes
Figura 17. Tabla de valores faltantes.
En la Figura 17 se aprecia la tabla que arroja Rattle para indicar los valores faltantes en cada una de las variables. El recuadro verde indica el número de valores faltantes en cada columna. Un cero debajo de una variable indica que ésta tiene valores faltantes y el número de valores lo da la primera columna, por ejemplo en la columna ganancias el primer cero indica que tiene 148 valores faltantes. El recuadro azul representa la suma de cada fila, los primeros valores indican cuantos ceros hay por fila, y el último valor da el total de valores faltantes en la muestra de datos.
Por lo general la primera fila da el número de registros que no tienen valores faltantes, en este caso 30.014. La segunda se observa que hay 7 registros que les falta el valor en la columna trabajo, en la tercera fila hay 148 registros que no tienen valor en ganancias y en la penúltima existen 27 registros con datos faltantes en país_NAC, empleado_en y trabajo.[3]
Tabulación cruzada
Esta opción nos permite cruzar la variable de destino que seleccionamos al cargar los datos, con las demás variables categóricas. En este caso se muestra en la Figura 18 la variable empleado_en cruzada con la variable MAYOR50K.
Figura 18. Resultados tabulación cruzada.
• Distribuciones
Ahora se analizará la opción “Distribuciones”
Figura 19. Interfaz Distribuciones.
En la interfaz de distribuciones (ver Figura 19) se separan las variables, las numéricas en la parte superior y las categóricas en la inferior. Para las numéricas están disponibles los siguientes diagramas: cajas y bigotes, histograma, distribución acumulada y el de Benford. Para las categóricas los diagramas de barras, puntos y mosaico. También se observa cierta información sobre las variables como el valor mínimo, la mediana, la media y el valor máximo para las numéricas, y para las categóricas el número de niveles. En la parte superior se puede escoger cuantos diagramas se desean por página y configurar algunas opciones para el diagrama de Benford.
• Correlación
El análisis de correlación indica que tan relacionadas son dos variables, este análisis solo es para variables numéricas. Hay tres métodos disponibles para hallar la correlación: Pearson, Spearman, Kendall. En este caso se utilizará el de Pearson y se activará la opción “Organizado” para que organice las variables según la fortaleza de correlación. El resultado se muestra a continuación en la Figura 20.
Figura 20. Resultado análisis correlación.
Si el coeficiente es igual a 1 existe una correlación positiva perfecta, es decir hay una relación directa entre las variables, cuando una de ellas aumenta la otra también lo hace en proporción constante.
Si 0 < coeficiente < 1, existe una correlación positiva.
Si es igual a cero, no existe relación lineal.
Si ‐1 < coeficiente < 0, existe una correlación negativa.
Si es igual a ‐1, existe una correlación negativa perfecta, es decir hay una relación inversa entre las variables, cuando una de ellas aumenta la otra disminuye en proporción constante.
El resultado del análisis de correlación también viene acompañado de una gráfica, la cual se muestra a continuación en la Figura 21.
Figura 21. Gráfico de correlación.
El grado de correlación se interpreta según la forma y el color de los elementos en la gráfica. Si el elemento es un círculo perfecto no hay correlación entre las variables. Cada variable está perfectamente correlacionada con ella misma, la perfecta correlación se representa con una línea diagonal. El color rojo indica correlación negativa, el azul positiva y entre más intenso sea el color es mayor la correlación. [3]
Rattle también brinda la opción analizar la correlación entre las variables que tienen valores faltantes, para esto de activa la opción “Explorar faltantes” seguido de presionar el botón “Execute”.
Figura 22. Análisis de correlación entre las variables que posee valores faltantes.
En este análisis solo participan las variables que tienen valores faltantes y como se observa en la Figura 22 también aparecen variables categóricas, de igual forma aparece el coeficiente de correlación. Se observa también información de los datos faltantes tales como la cantidad y el porcentaje de cada variable. Tambien se acompaña con un gráfico el cual se muestra a continuación en la Figura 23.
Figura 23. Gráfico de correlación entre las variables que poseen valores faltantes.
En este grafico se observa que hay un alto grado de correlación entre empleado_en y trabajo, esto quiere decir que en general cuando hay un dato faltante en trabajo también lo hay en empleado_en.
Por ultimo también existe la opción de realizar un análisis de correlación jerárquico, para esto se activa la opción “jerárquico”, esto despliega el gráfico el cual se observa a continuación.
Figura 24. Gráfico de correlación jerárquico.
6. Transformando los Datos
La transformación de los datos es un proceso en el cual se preparan los datos que van a ser estudiados median la minería de datos, por lo tanto el tipo de transformación que se haga depende de la técnica que se vaya a utilizar. [4]
Rattle ofrece 4 tipos de transformación los cuales se detallan a continuación:
• Cambiar escala: dentro de esta opción se pueden realizar diferentes cambios de escala.
Recentralizar: centra los datos alrededor de cero, es decir transforma los datos de modo que la media sea 0 y la desviación estándar sea 1. Este término corresponde a normalizar.
Escala [0‐1]: normaliza los datos en una escala de 0 a 1. ‐Mediana/MAD: cambia la escala de forma que la mediana sea 0 y la desviación absoluta de la mediana sea 1, es una versión más robusta que recentralizar.
Registro natural: cambia la escala de los datos por medio de una transformación de logaritmo natural.
Matriz: esta transformación es solo para variables numéricas, la variable seleccionada es tratada como una matriz dividiendo cada valor de la matriz por la suma de todos los elementos de la matriz.
Intervalo: organiza los valores de la variable dentro de rangos.
Figura 25. Interfaz para cambiar la escala de los datos.
• Atribuir: proporciona diferentes métodos para reemplazar los datos faltantes. Se debe tener cuidado al momento de tratar los datos faltantes ya que se pueden cambiar las distribuciones de las variables y así generar modelos poco adecuados. La traducción correcta de esta opción es imputación.
Cero/faltante: Se reemplaza los datos numéricos con 0 y los categóricos con la palabra “faltante”.
Media: reemplaza los valores faltantes con la media.
Mediana: llena los datos faltantes con la mediana.
Modo: se utiliza la moda para llenar los datos faltantes.
Constante: reemplaza los valores faltantes de cierta variable por un valor especificado.
Figura 26. Interfaz para manejar los datos faltantes.
• Recode: se realizan transformaciones sobres las variables, ya sea de su tipo o de su ubicación.
Cuantilos (la traducción correcta es cuantiles): divide la variable numérica en categorías con aproximadamente el mismo número de observaciones en cada una de ellas.
Kmeans: se utiliza el método Kmeans para dividir la variable numérica en grupos basándose en la distancia entre los elementos.
Del mismo ancho: crea grupos del mismo ancho de acuerdo al número de grupos que se le ingrese.
Variable indicador: convierte una variable categórica en una colección de variables indicadoras, en donde cada una de estas variables es un nivel de la variable categórica. Para cada observación solo una de estas nuevas variables tendrá el valor de 1 y el resto serán 0. El 1 corresponde al valor actual de la variable categórica original.
Unir categorías: Combina múltiples variables categóricas en una sola. Como categórico: Convierte variables numéricas a categóricas Como numérico: Convierte una categórica en una numérica reemplazando cada nivel por el índice numérico del nivel. [3]
Figura 27. Interfaz que permite cambiar de tipo las variables.
• Limpiar: Permite eliminar variables u observaciones.
Borrar ignorados: Borra las variables a las que se les haya asignado el rol de ignorar.
Borrar seleccionados: Borra las variables que se seleccionen en la lista de abajo. Borrar Faltantes: Borra las variables que contengan valores faltantes. Borrar objs con faltantes: Borra toda observación que contenga valores faltantes.
Figura 28. Interfaz para la limpieza de los datos.
7. Análisis de clúster
Lo que se busca con este análisis es encontrar agrupaciones dentro de los datos con el fin de observar diferencias o similitudes que contribuyan al entendimiento de los datos. [5]. Por el momento Rattle brinda la posibilidad de realizar el análisis de clústeres mediante dos métodos los cuales solo funcionan con variables numéricas:
• KMeans: es un método de capa única, el cual divide las observaciones en k grupos, donde k es el número de grupos en los que se desea dividir la muestra. [5]
Figura 29. Interfaz para el análisis de clúster con KMeans.
En la interfaz se observa el campo “Numero de clústers” en el cual se indica el número de grupos en el que se dividirán las observaciones, el campo “Semilla” se ingresa un valor numérico a partir del cual se generarán valores aleatorios y un checkbox “Repetir Clústers” el cual en caso de estar activado ejecuta el algoritmo KMeans tantas veces como lo indique el numero en el campo “Ejecuciones”.
Luego de correr el algoritmo KMeans Rattle arroja los siguientes resultados (ver figura 30):
Figura 30. Resultados del algoritmo KMeans.
En esta imagen se observa la cantidad de elementos para cada clúster, la media de cada variable y los centros de cada clúster para las variables. Si se desea más información sobre el análisis el botón “Estadísticas” se obtiene información como: la entropía, el diámetro, la matriz de separación y mucha más información la cual puede ser de gran utilidad al momento de estudiar los datos. Por otra parte si se quiere una representación gráfica los botones “Diagrama de datos” y “Diagrama discriminante” brindan esta posibilidad.
• Jerárquico: los datos se dividen en subcategorías que se van dividiendo en otras
Hasta que se clasifiquen todos los objetos, a diferencia del KMeans no es necesario ingresar el número de grupos de antemano.
Figura 31. Interfaz para clúster jerárquico.
Para realizar el análisis jerárquico de los datos Rattle permite seleccionar el tipo de distancia que se requiere siendo la euclidiana la predeterminada y también existe la posibilidad de escoger el método de aglomeración el cual Ward es el predeterminado. El campo “Número de procesadores” hace referencia al número de subprocesos que se ejecutarán paralelamente. [6]
Luego de oprimir “Execute” se tienen las tres mismas opciones: “Estadisticas”, “Diagrama de datos”, “Diagrama discriminante” explicadas anteriormente y además se tiene la opción “Dendograma” la cual hace una representación gráfica de los datos en forma de árbol y según el “Número de clústers” se señalan en el dendograma tantos grupos como lo indique el valor de este campo.
8. Análisis de Asociaciones
Este análisis busca encontrar relaciones entre la diversas variable de la muestra de datos lo que es muy útil al momento de realizar clasificaciones y predicciones. Rattle brinda una interfaz muy sencilla para realizar el análisis de asociación, en la pestaña “Asociada” se encuentran las opciones disponibles para realizar dicho análisis. Esta es una interfaz muy sencilla de pocas opciones, donde aparece el checkbox “Cestas” el cual si se activa ejecuta un análisis de la canasta de mercado, en el cual solo existen dos columnas: una con el ID de la canasta y otra con el nombre del producto. El botón “Diagrama de frecuencia” presenta un gráfico con los elementos más comunes y usando el valor del soporte. En las opciones “Apoyo” y “Confianza” se ingresan el valor mínimo de aceptación para una regla de asociación, es decir solo se elegirán las reglas que tengan un apoyo y una confianza igual o mayor que los valores ingresados en estos campos. Y el botón “Mostrar reglas” simplemente las muestra, se debe tener en cuenta que los dos botones de esta interfaz solo funcionan después de haber oprimido el botón “Execute”. La interfaz para este análisis se muestra a continuación en la figura 32.
Figura 32. Interfaz para encontrar reglas de asociación.
A continuación se mostrarán los resultados arrojados por Rattle con un apoyo y una confianza mínima de 0.5. En la primera parte se muestra un resumen sobre las reglas, donde se observa el número de reglas que en este caso son 20 y luego se muestran diversas estadísticas sobre el soporte o apoyo, la confianza y la elevación (confianza de la regla dividida el soporte de la parte
derecha de la regla) [8]. En la segunda parte Rattle nos muestra información sobre la ejecución del algoritmo aprori, la cual no se tratará ya que no presenta información relevante.
Figura 33. Resultado arrojado por el algoritmo aprioiri.
Al dar click en “Mostrar reglas” éstas se muestran de la siguiente forma:
Figura 34. Reglas de asociación encontradas.
Cada regla tiene su soporte, confianza y elevación (lift).
9. Creando Modelos
Esta es sin duda la parte de mayor importancia en un análisis de minería de datos ya que es donde se construye el modelo que representara el comportamiento de la muestra estudiada y es a partir de este modelo donde se pueden realizar clasificaciones, predicciones y estimaciones. Rattle ofrece la posibilidad de construir una gran variedad de modelos, a continuación se detallarán cada uno de estos y en qué consisten.
• Árbol: el árbol de decisión es uno de los modelos más comunes en la minería de datos y esto se debe a su facilidad de interpretación. Este modelo funciona para datos numéricos como categóricos. El algoritmo utilizado es rpart el cual es comparable con CART y el ID3/C4.
Figura 35. Interfaz para crear un árbol de decisión.
Al momento de generar el modelo se pueden ajustar ciertas opciones con el fin de que el modelo se adapte a lo que se desea. El primer cuadro de texto que se observa es “División mínima” este campo especifica el número mínimo de observaciones que deben existir en un nodo antes de que se realice la división. “Cubo mínimo” indica el mínimo de observaciones que debe haber en cada hoja del árbol. “Profundidad máxima” es el número máximo de niveles permitidos en el árbol. “Complejidad” es un parámetro utilizado para controlar el tamaño del árbol y para seleccionar el tamaño óptimo, si el costo de agregar otra variable al nodo de decisión supera el valor de este parámetro se detiene la construcción del árbol. “Previos” establece la probabilidad previa para cada clase con el fin de amplificar una clase importante asignándole una mayor probabilidad previa, en caso de tener tres clases se ingresarían las probabilidades de la siguiente forma: 0.3,0.4,0.3. “Matriz de pérdida” esta es usada para ponderar de diferente forma los errores de clasificación por ejemplo: 0,10,1,0 (TN,FN,FP,TP) esto indica que un FN (false negative) es 10 veces menos deseado que un FP (false positive). Por el último el checkbox “Incluir faltantes” en caso de activarlo se utilizarán variables suplentes en caso de que hayan valores faltantes. Luego de dar click en “Execute” podemos ver el árbol gráficamente y las reglas que se generaron. [3]
• Bosque: este es un modelo donde se crean varios árboles de decisiones, este modelo se usa cuando se tiene bases de datos muy grandes y un gran número de variables de entrada. Cada árbol es construido con un subconjunto de datos aleatorio. El algoritmo utilizado es randomForest el cual no trabaja con variables nominales de más de 32 niveles.
Figura 36. Interfaz para crear bosque.
Dentro de las opciones que se pueden configurar se tienen: “Numero de árboles” en esta opción se indica el número de árboles que se generarán en el modelo. El “Numero de variables” hace referencia a las variables que se tendrán en cuenta al momento de decidir cómo dividir el conjunto de datos en cada nodo. En el “Tamaño de muestra” se especifica el tamaño de la muestra con la que se construirá cada árbol de decisión, se debe ingresar el tamaño para cada clase separando por comas los tamaños de las clases, esto con el fin de equilibrar las predicciones.
Tras ejecutar el algoritmo, podemos ver las reglas creadas por cada árbol y además un gráfico que muestra la importancia de cada variable para determinar el valor de la variable de salida.
• Potenciar: esta opción crea múltiples modelos sencillos, en los cuales se potencian las observaciones que son difíciles de adaptar al modelo. Luego de construir cada modelo se le asigna un mayor peso a estas observaciones con el fin de que tengan más importancia al momento de construir el siguiente modelo. El algoritmo utilizado es el adaBoost (Adaptive Boosting).
Figura 37. Interfaz
La interfaz que presenta Rattle para la creación de este modelo tiene opciones ya explicadas en el modelo del árbol, en las nuevas opciones se encuentran: “Tocones”, este checkbox da la posibilidad de incluir o no tocones al modelo, los cuales son arboles de una sola división. El “X val” índica el número de pliegues que se utilizarán para la validación cruzada. [7]
• SVM (Support Vector Machine): este modelo lo que busca son los llamados vectores de soporte, los cuales son puntos que suelen encontrarse en el límite de un área en el espacio que es un límite de una clase de puntos a otro. Estos vectores son usados para identificar un hiperplano en caso de tener muchas dimensiones en los datos o una línea cuando se habla de solo dos dimensiones en los datos. Básicamente los que se hace es encontrar el máximo margen entre las clases.
Figura 38. Interfaz para crear un SVM.
• Lineal: Rattle ofrece la posibilidad de generar diferentes tipos de regresión, a continuación se hará una breve descripción de cada uno de las opciones ofrecidas por este paquete. Cada una de estas regresiones se acompaña de un diagrama.
Figura 39. Interfaz para realizar regresiones.
Numérica: este es el tipo regresión lineal tradicional y es apropiado cuando la variable de destino es numérica y continua.
Generalizado: el modelo de regresión lineal generalizado como su nombre lo indica se generaliza la aplicación de dicho modelo a variables con distribuciones diferentes a la normal.
Poisson: modelo de regresión lineal que se aplica a variables con una distribución Poisson.
Logística y Probit: estos dos tipos de regresión son utilizados cuando la variable de destino solo tiene dos posibles valores. Estos arrojan resultados similares.
Polinómico: este se utiliza cuando la variable de destino posee más de dos posibles valores.
• Red Neural: las redes neuronales pueden ser usadas para regresión o tareas de clasificación. La idea es conectar una colección de neuronas en una red, de las cuales unas serán de entrada y otras de salida. Las variables de entrada siempre serán valores numéricos.
Figura 40. Interfaz para crear una red neuronal.
Rattle provee una interfaz muy sencilla donde solo se debe ingresar el número de neuronas que se desean tener en los niveles ocultos.
• Supervivencia: Un modelo de supervivencia es utilizado para analizar eventos ocurridos en determinado tiempo con el fin de mostrar cómo cambia la probabilidad de que se produzca un evento en el tiempo.
10. Evaluando Modelos
Luego de crear los modelos realizar pruebas sobre estos es de gran importancia ya que por medio de estas pruebas se puede observar la validez de los modelos. Rattle tiene diferentes tipos de métodos para evaluar los modelos creados, se pueden evaluar todos los modelos que se pueden crear en la pestaña modelo y también los resultados arrojados en el análisis de clústeres. El objetivo de esta pestaña es medir el desempeño de los modelos y además probarlos con nuevas muestras de datos. A continuación se hablara un poco sobre los distintos tipos de evaluación de modelos.
Figura 41. Interfaz para evaluar los modelos.
• Matriz de error: también conocida como matriz de confusión, en esta se muestra las clasificaciones hechas por el modelo contra las predichas. Esta matriz es apropiada cuando la variable de destino es categórica.
• Riesgo: en esta opción se presenta un diagrama de riesgo, donde a lo largo del eje X se encuentra la proporción de la población y en el eje Y una medida de desempeño. En caso de que se haya seleccionado una variable de riesgo al momento de cargar los datos ésta aparecerá representada con una línea roja.
• Curva de costo: Una curva de datos traza la función de probabilidad de costo contra el costo normalizado esperado para una gama de umbrales posibles para la familia de modelos.
• Elevación: genera un diagrama de elevación el cual identifica la ganancia en rendimiento que ofrece el modelo.
• ROC: se muestra una gráfica ROC, en la cual se diagraman los verdaderos positivos contra los falsos positivos
• Precisión: se grafican en un mismo diagrama la precisión vs la tasa de verdaderos positivos. • Sensibilidad: Rattle presenta de forma gráfica la tasa de verdaderos positivos vs la tasa de
verdaderos negativos. • Obj prev: esta opción la cual no tiene un nombre muy claro traza en un mismo diagrama los
valores predichos contra los observados. • Calificación: esta opción aplica los modelos seleccionados a una muestra de datos la cual por
defecto es la de evaluación, en caso de no existir se aplica al conjunto de datos. También se puede cargar otro archivo CSV o un conjunto de datos R. Luego de presionar “Execute” los
resultados de la calificación serán guardados en un archivo CSV el cual será nombrado y guardado según las preferencias del usuario.
En la fila de datos se observan las diferentes opciones que ofrece Rattle de muestras con las que evaluar los modelos. En primer lugar se encuentran las diferentes particiones que se pueden generar sobre una muestra de datos. La opción “Completo” toma toda la muestra de datos e “Ingresar” permite entrar observaciones manualmente. Ya por último se pueden cargar muestras de datos de otros archivos CSV o de conjuntos de datos R.
11. El Registro
En la pestaña “Registro” se puede observar todos los comandos que Rattle genera en lenguaje R para ejecutar todas las tareas que se le han asignado a Rattle. Esta opción es de gran utilidad ya que por medio de esta se pueden conocer las funciones utilizadas para llevar a cabo las acciones que se desean realizar por medio de la interfaz gráfica de Rattle. Este registro tiene un diseño agradable ya que comenta y separa cada pedazo de código lo cual lo hace muy fácil de leer e interpretar y además el código se puede copiar y pegar directamente al a consola de R. A continuación se muestra el registro que se generó al momento de cargar los datos y dividirlos en entrenamiento, validación y prueba.
Figura 42. Registro de Rattle.
12. Propuestas y Conclusiones
Rattle es una gran herramienta de minería de datos que posee una interfaz muy intuitiva y fácil de manejar, además cuenta con ciertas ayudas que de alguna forma amplían la información acerca de ciertas funciones de este paquete. Una gran ventaja de este paquete es la facilidad de adquirirlo ya que fue desarrollado con el lenguaje R el cual es un entorno gratuito, por lo que lo único que se necesita es una conexión a Internet para acceder a él. Por otro lado, una parte no tan positiva de este paquete es que requiere de otros paquetes para su funcionamiento los cuales no se descargan al momento de instalar Rattle sino que se van descargando a medida que se va usando este paquete, por lo que se requiere una conexión constante a Internet con el fin de tener acceso a los paquetes necesario para ejecutar cierta función de esta herramienta de minería de datos.
Dentro de las características que se podrían mejorar del paquete se encontraron las siguientes: al momento de cargar un archivo CSV si este tenía palabras con tilde, lo cual es común en nuestro idioma, Rattle presentaba un error y no permitía la carga de éste, por lo cual se tenía que depurar el archivo para poder cargarlo. Los arboles de decisión que presentaba este paquete al momento de crear estos modelos no era muy claros ya que proveían poca información sobres las variables lo cual dificultaba la comprensión de este tipo de modelos. Y como ya se había mencionado anteriormente la gran cantidad de descargas aisladas que se requieren para la ejecución de Rattle, una posible solución a esto es una sola descarga inicial que contenga todos los paquetes necesarios para garantizar la completa funcionalidad de Rattle con el fin de no requerir una continua conexión a internet para para realizar nuestro análisis de minería de datos con este paquete.
En términos generales Rattle es una herramienta de gran utilidad para realizar estudios de minería de datos la cual posee grandes ventajas como los diversos formatos que acepta al momento de cargar los datos, la posibilidad de dividir la muestra de datos en subconjuntos para el entrenamiento, validación y prueba. También posee una interfaz muy intuitiva que guía al usuario a completar los pasos necesarios para un análisis de los datos y al estar implementado en el Lenguaje de programación R tiene a disponibilidad una gran colección de algoritmos que sirven para la minería de datos.
Haber realizado este trabajo fue de gran ayuda ya que al consultar y estudiar las funciones que me brindaba esta herramienta pude desarrollar las diversas tareas que me exigía el curso de Técnicas en Aprendizaje Estadístico y así por medio de este paquete pude conocer y entender cómo funciona el mundo de la minería de datos. Una ventaja de esta guía y de Rattle es que no se requiere profundos conocimientos en el campo de la estadística para utilizar el paquete por lo cual una persona con un básico entendimiento de la estadística puede sin ningún problema utilizarla, ahí es donde cobra importancia este trabajo ya que sirve de apoyo para esas personas sin un amplio conocimiento.
Referencias Bibliográficas
[1] What is R? [ONLINE] [Consultado el 13 de Marzo de 2011]. Disponible en:
http://www.r‐project.org/
[2] Rattle: A Graphical User Interface for Data Mining using R. [ONLINE] [Consultado el 14 de Marzo de 2011]. Disponible en:
http://rattle.togaware.com/
[3] WILLIAMS, GRAHAM J. Desktop Survival Guide. [ONLINE] [Consultado el 15 de Marzo de 2011]. Disponible en:
http://datamining.togaware.com/survivor/Initial_Interaction.html
[4] JIMENEZ, CLAUDIA S. Preparación de los datos para producir nuevo conocimiento. [Consultado el 25 de Marzo de 2011].
[5] JIMENEZ, CLAUDIA S. Análisis de Conglomerados. [Consultado el 1 de Mayo de 2011].
[6] LUCAS, ANTOINE. The amap Package. [ONLINE] [Consultado el 5 de Mayo de 2011]. Disponible en:
https://mulcyber.toulouse.inra.fr/docman/view.php/13/960/amap_0.5.pdf
[7] Control for Rpart Models. [ONLINE] [Consultado el 10 de Mayo de 2011]. Disponible en:
http://www.stat.ucl.ac.be/ISdidactique/Rhelp/library/rpart/html/rpart.control.html
[8] ZORRILLA, MARTA. Análisis de Asociación. [ONLINE] [Consultado el 15 de Mayo de 2011]. Disponible en:
http://personales.unican.es/zorrillm/PDFs/Doctorado/asociacion.pdf
[9] SINNEXUS. Minería de datos. [ONLINE] [Consultado el 4 de Junio de 2011]. Disponible en:
http://www.sinnexus.com/business_intelligence/datamining.aspx
[10] JIMENEZ, CLAUDIA S. Minería de datos y aprendizaje estadístico. [Consultado el 4 de Junio de 2011].
Top Related