Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 1
RECOPILACIÓN DE RUT, PESO, ESTATURA, EDAD Y GÉNERO DE UN GRUPO DE PERSONAS Y
CARGA DE ESTA INFORMACIÓN A LOS SOFTWARE WEKA Y R.
Jorge Antonio Poblete Pérez
Estudiante, Magíster en Gestión de Operaciones, Universidad de Talca
Viernes 16 de Agosto de 2012
1 RECOPILACIÓN DE DATOS La información requerida para el trabajo desarrollado corresponde a la recolección de los
siguientes datos para 20 personas (11 mujeres y 9 hombres):
- Rut
- Peso (kilogramos)
- Altura (centímetros)
- Edad (años)
- Género (F y M para femenino y masculino respectivamente)
Esta información fue recopilada en una planilla Excel 2010 utilizando 21 filas y 5 columnas. La
primera fila corresponde a la identificación de cada uno de los 5 tipos de datos trabajados tal
como se observa en la Figura 1.
Figura 1: Recopilación de datos en archivo Excel.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 2
Cabe destacar que una de las mayores dificultades asociadas a esta etapa no fue la carga de los
datos en Excel sino que la recopilación de la información debido, esencialmente, a la solicitud del
rut de la persona. Este dato se considera de cuidado debido a los variados usos que se le da en
transacciones financieras.
2 SOFTWARE WEKA Una vez recopilada la información en un archivo Excel se procedió a su carga en el software WEKA
para su posterior análisis.
2.1 PREPARACIÓN DE ARCHIVOS PARA SU LECTURA EN WEKA
La primera acción correspondió a la transformación del archivo Excel a un formato CVS (archivo
delimitado por comas). Para esto, en el archivo Excel, se debe acceder a las opción Archivo >
Guardar Como, tal como se observa en la Figura 2.
Figura 2: Convertir archivo .xlsx a .csv
El archivo obtenido posee la extensión .csv y puede ser editado tanto por medio de Excel como
también por medio del Block de Notas de Windows. El archivo obtenido, dependiendo de la
configuración regional e idioma que dispuesta en el computador que se esté utilizando (ver panel
de control), puede corresponder a un archivo separado por “;” y no por “,” que es lo requerido, tal
como se visualiza en la Figura 3.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 3
Figura 3: Archivo .csv delimitado por ";" y no por ",".
Si este es el caso, tal como ocurrió durante este trabajo, el procedimiento de modificación del
archivo se puede realizar abriendo el documento .csv en block de notas. El reemplazo se realiza
accediendo a Edición > Reemplazar, lo cual permite acceder a un menú en el cual se indica en
Buscar todos los símbolos “;” y Reemplazar por “,” tal como se ve en la obteniendo el archivo que
se presenta en la Figura 4.
Figura 4: Reemplazo de símbolo delimitador en archivo .csv
Fue complicado verificar que el archivo .csv es muy sensible al uso de “;” en vez de “,”. La única
manera de percatarse de esta situación es por medio del intento de carga en WEKA.
2.2 CARGA DE ARCHIVOS EN WEKA
Inicialmente se intentó definir el archivo .csv ya obtenido anteriormente como un archivo ARFF. La
manera de desarrollar esta etapa fue por medio de la estructuración de la información del archivo
CSV al modelo ARFF tal como se muestra en la Figura 5.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 4
Figura 5: Definición de archivo CSV como ARFF
Además se procedió a cambiar la extensión del archivo desde .csv a .arff por medio de la opción
Guardar Como del block de nota. Al intentar cargar el archivo en el software WEKA no se logró
lectura del mismo.
2.3 VISUALIZACIÓN DE DATOS EN WEKA
Ante esta situación se procedió a una nueva definición del archivo CSV donde la primera fila de
datos corresponde a la identificación del tipo de atributo y las filas siguientes a la información
propiamente tal de la manera que se expone a continuación:
rut,peso,altura,edad,genero 16792985-0,83,167,24,F 17156973-7,49,165,23,F 16433506-2,60,160,25,F 17156722-k,69,168,23,F 17795336-9,56,157,21,F 16509971-0,73,182,25,M 17323008-7,61,171,22,F 18570460-8,62,169,18,M 16619156-4,64,168,24,F 18359802-3,75,168,19,F 6320799-3,73,158,56,F 6624291-9,90,165,60,M
Este nuevo archivo CSV fue cargado en WEKA de manera directa (sin ser transformado a ARFF)
accediendo a la opción Explorer del software. Una vez en la Weka Explorer se utilizó la opción
“Open file…” con la cual se abre el menú que permite buscar y abrir el archivo CSV desarrollado
con anterioridad. Estos pasos se muestran en la Figura 6 marcados como 1, 2 y 3.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 5
Figura 6: Abrir archivo CSV de manera directa en WEKA
Con esta acción se logra una carga exitosa del archivo en WEKA, lo cual permite la visualización de
los datos en un scatterplot accediendo a la opción “Visualice” del programa. La gráfica obtenida se
puede observar en Figura 7.
Figura 7: Visualización de la información en WEKA
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 6
WEKA entrega una serie de opciones que permiten modificar las características de la gráfica
obtenida. Estas opciones son las siguientes:
Figura 8: Opciones de modificación de gráfica en WEKA
- PlotSize: permite modificar el tamaño del diagrama de dispersión presentado.
- PointSize: altera el tamaño de los puntos que representan a cada uno de los datos
disponibles.
- Jitter: modifica las escalas utilizadas en los ejes de las gráficas.
- Colour: permite indicar que atributo será diferenciado por colores en WEKA. En este
caso “genero”.
- Class Colour: da la opción de seleccionar el color con el que se diferenciara el atributo
“genero” en este caso.
- Select Attributes: indica los atributos que serán representados en la gráfica.
- SubSample %: permite seleccionar la cantidad de datos o muestra a representar.
Por cada cambio realizado en alguna de las opciones anteriores se debe seleccionar “Update” a fin
de que se hagan efectivas las modificaciones.
Figura 9: Tranformar archivo CSV en ARFF por medio de WEKA
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 7
Cabe mencionar que el archivo CSV puede ser transformado en ARFF por medio de WEKA una vez
que ha sido leído por el programa. Para ello se debe realizar la misma operación requerida para la
lectura de archivos CSV (Figura 6). Posterior a esto, en el menú “Preprocess”, se debe ir a la opción
“Save…” y guardar el archivo en formato ARFF como se presenta en la Figura 9.
Figura 10: Histograma de los atributos en WEKA.
En la misma opción de “Preprocess” se puede observar que existe la posibilidad de ver los
histogramas de los atributos. En caso de querer mostrar el histograma de todos los atributos
disponibles se puede seleccionar la opción “Visualize All” como se presenta en la Figura 10.
3 SOFTWARE R Otra forma de obtener un scatterplot es por medio de la carga de datos en el software R.
Inicialmente se intentó utilizar el archivo CSV generado en el apartado 2.1 de este informe. Sin
embargo, a pesar de que se logró la lectura de los datos, no se obtuvo un buen reconocimiento
individual para cada uno de los atributos como tampoco la detección de una etiqueta para cada
uno de ellos.
3.1 PREPARACIÓN DE ARCHIVOS PARA SU LECTURA EN R
En consideración de lo expuesto anteriormente se procedió a la confección de un archivo distinto.
Tomando como base el archivo Excel que posee la información acumulada de las 20 personas
consultadas (ver Figura 1) se guardó una copia del tipo “Texto con formato (delimitado por
espacios)” tal como se presenta en la Figura 11.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 8
Figura 11: Transformación de archivo .xlsx (Excel) a .txt separado por tabulaciones
Por medio del procedimiento ya explicado se obtiene un archivo de texto, tipo .txt, donde cada
columna esta diferencia por un espacio, identificando en la primera fila el nombre de cada
atributo tal como se presenta a continuación.
Figura 12: Archivo de texto separado por tabulaciones
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 9
3.2 CARGA DE ARCHIVOS EN R
Una vez confeccionado el archivo con extensión .txt requerido para trabajar en R se procedió a la
carga de la información. En este caso se trabaja con R-Studio el cual corresponde a una consola
que administra archivos R como también facilita su edición.
En la Figura 13 se muestra la consola de trabajo en R. En rojo se enmarcar el área donde se puede
escribir código de tal forma que este pueda ser utilizado y consultado en oportunidades futuras.
En azul se encierra el área de ejecución, sección donde se presentan los resultados numéricos
resultantes de la ejecución del código trabajado. En la sección verde se presentan las gráficas
resultantes de la implementación de códigos.
Figura 13: Estructura R-Studio
El código requerido para la lectura de los datos es el siguiente:
Personas <- read.table("C:/Users/Jorge/Desktop/Utalca 2012/Trimestre
2/Mineria/MinParaR.txt", header=T)
En este código, Personas corresponde al nombre bajo el cual se guarda el conjunto de atributos
disponibles en el archivo de texto que contiene la información de 20 personas. En este caso el
archivo que debe ser cargado se llama MinParaR.txt. Como se observa se ocupa la función
read.table y entre paréntesis (además de entre comillas) se ingresa la ubicación, dentro del
computador, del archivo a ser leído. La instrucción header=T permite indicar que la primera fila del
archivo que está siendo cargado corresponde al rótulo de cada columna de atributos.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 10
Personas
Con esta instrucción se le indica al programa que muestre los datos que han sido registrados bajo
el nombre de “Personas”, el resultado se muestra a continuación (extracto).
> Personas rut peso altura edad genero 1 16792985-0 83 167 24 F 2 17156973-7 49 165 23 F 3 16433506-2 60 160 25 F 4 17156722-k 69 168 23 F 5 17795336-9 56 157 21 F 6 16509971-0 73 182 25 M
colnames(Personas)
Esta opción permite mostrar los atributos contenidos dentro de “Personas”. El resultado es:
> colnames(Personas) [1] "rut" "peso" "altura" "edad" "genero"
Personas$genero
Muestra los géneros que hay dentro de Personas. El signo "$" permite acceder a un dato particular
de la base datos, tal como se muestra a continuación (extracto).
> Personas$genero [1] F F F F F M F M F F F M M F M M M M F M Levels: F M
plot(Personas$peso, Personas$edad, main="DATOS PERSONAS")
Desarrolla un diagrama de dispersión que, en este caso, muestra el peso de las personas en el eje x
y la edad de las mismas en el eje y. La instrucción main= permite definir el título principal del
gráfico. El resultado obtenido se observa en la Figura 14.
Figura 14: Gráfica de dispersión 1
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 11
plot(Personas$peso, Personas$edad, pch=c(21,22)[unclass(Personas$genero)],
main="DATOS PERSONAS")
Unclass(Personas$genero) permite asignar un símbolo a cada especie una vez que se grafiquen los
datos. Esos simbolos se definen como pch=c(21,22) donde 21 corresponde, por ejemplo, a un
círculo. Esto se muestra de mejor manera en la Figura 15.
Figura 15: Gráfica dispersión 2
c(21,22)[unclass(Personas$genero)]
Mapea las categorías y les asigna un valor. Por ejemplo el sexo femenino ahora es representado
por un 21 en vez de F.
> c(21,22)[unclass(Personas$genero)] [1] 21 21 21 21 21 22 21 22 21 21 21 22 22 21 22 22 22 22 21 [20] 22
plot(Personas$altura, Personas$peso, pch=21,
bg=c("red","green3")[unclass(Personas$genero)], main="Datos Personas")
pch=21 designa que la figura para mostrar los datos serán círculos,
bg=c("red","green3","blue")[unclass(Personas$genero)] le asigna un color a cada género. En este
caso se tendrá una gráfica donde todos los datos son círculos pero diferenciados por colores según
sean hombres o mujeres.
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 12
Figura 16: Diferenciación de géneros por color
En este caso particular, Figura 16, se observa en rojo a las mujeres y en verde a los hombres. En
cuanto a una interpretación superficial de esta representación en específico se puede notar que
los hombres e concentran en valores de peso y altura mayores que las mujeres.
3.3 VISUALIZACIÓN DE DATOS EN R
La mejor manera de representar datos multidimensionales es por medio de un scatter plot el cual
permite mostrar la relación entre atributos de manera directa. El código correspondiente para
efectuar este diagrama en R se presenta a continuación.
Figura 17: Scatterplot para 4 atributos
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 13
pairs(Personas[1:4], main = "Data Personas", pch = 21, bg = c("red",
"green3")[unclass(Personas$genero)])
En este caso pairs() permite unir conjuntos de datos. En este caso al indicar Personas[1:4] se
pretende representar los 4 primeros atributos del conjunto de datos personas. El resultado se
observa en la Figura 17.
Dentro de las primeras aproximaciones que se pueden hacer, respecto a la distribución de la
información (interpretaciones que también son válidas para el resultado obtenido en WEKA), se
puede visualizar que:
- los mayores pesos y alturas tienden a estar asociados a hombres.
- los rut están ligados con la edad de cada persona, sin embargo no se marca una
diferencia clara de géneros.
Una variante del código presentado es el siguiente:
pairs(iris[1:4], main = "Data de personas", pch = 21, bg = c("red",
"green3")[unclass(Personas$genero)], lower.panel=NULL,
labels=c("RUT","PESO(kg)","ALTURA(cm)","EDAD(años)"), font.labels=4,
cex.labels=1.2)
Figura 18: Scatterplot modificado
Universidad de Talca Minería de Datos
Jorge Antonio Poblete Pérez 14
En este caso se define:
- lower.panel=NULL: permite definir que toda gráfica bajo la diagonal no sea
diagramada.
- labels=c(“”,””): indentifica cada fila de diagramas de dispersión identificando dentro
del paréntesis, entre comillas, el nombre con el cual serán denotados.
- font.labels=4: en este caso puntual indica que la tipografía utilizada corresponde a la
número 4.
- cex.labels=1.2: puntualmente corresponde al tamaño de la fuente utilizada.
La gráfica, o conjunto de gráficas, que se obtiene es presentada en la Figura 18.