You are on page 1of 7

TRATAMIENTO DE DATOS

CON WEKA

Manuel Sánchez Gomis


Índice

1. Introducción
2. Pasos previos
2.1. Instalación y configuración de la aplicación
2.2. Eliminación de atributos sobrantes
2.3. Eliminación de instancias sobrantes
3. Clasificadores
4. Bibliografía
1. Introducción

En este documento hablaremos sobre las distintas metodologías empleadas en Weka para el
tratamiento de los datos de un concesionario de coches de segunda mano. Dichos datos vienen dados
en un fichero arff compuesto por 44 atributos y 84791 instancias. Los distintos atributos por los que
está compuesto el fichero son:

• Marca • Aparcamiento Asistido


• Modelo • Navegador
• Edición • Asientos Cuero
• Carrocería • Techo Solar
• Potencia • Abs
• Fecha Matriculación • Adaptador Discapacitados
• Cambio • Alarma
• Kilómetros • Asientos Calefacción
• Combustible • Asientos Eléctricos
• Puertas • Baca
• Consumo • Bizona
• 4WD • Bola Remolque
• Airbag • Control Tracción
• Airbag Acompañante • Control Velocidad
• Airbag Lateral • ESP
• Aire Acondicionado • Antiniebla
• Cierre Centralizado • Inmovilizador
• Climatizador • Ordenador a Bordo
• Dirección Asistida • Radio
• Elevalunas • Radio Cd
• Xenón • Tunning
• Llantas • Precio

El objetivo es intentar obtener un modelo que clasifique correctamente el máximo número de


instancias. La fecha de matriculación se ha convertido en un entero: a mayor número, fecha más
reciente.

2. Pasos Previos

En esta sección hablaremos de los pasos previos que se han seguido antes de clasificar los datos.

2.1. Instalación y configuración de la aplicación

En primer lugar se bajo e instalo la aplicación en nuestro PC. Una vez instalada, se creó un acceso en
Windows para poder inicializar la aplicación asignándole 1512 MB a la memoria virtual de java. Para
más información consultar la sección problemas.
2.2. Eliminación de atributos sobrantes

Una vez cargado el fichero en Weka con el explorador, empezaremos eliminando atributos sobrantes.
Los primeros que empezamos a analizar son los de ámbito binario. Para ello en la ventana preprocess
del explorador de Weka, seleccionamos el atributo precio, y en el histograma que aparece a la derecha,
en el menú desplegable, seleccionamos el atributo que queramos analizar. Nos saldrá un histograma
como este:

Precio – Climatizador

Podremos eliminar aquellos atributos binarios en los que en su histograma junto con el precio, el
atributo “no” (valor 0, parte azul del histograma) la forma de su histograma no difiera excesivamente
en el grafico con el histograma completo. Esto viene dado porque las abundancias relativas para cada
precio son parecidas adoptado una forma similar los dos histogramas, cada uno a su escala.
Aunque la clase combustible no es binaria, como prácticamente solo depende de dos instancias (diesel
o gasolina) el histograma toma la forma de una clase binaria y la hemos podido eliminar como en el
ejemplo anterior.
Por otro lado hemos eliminado el atributo edición al considerar que no es necesario para el cálculo de
este problema.
Nos ha faltado una agrupación de atributos (marca – modelo, kilómetros – fecha matriculación) para
eliminar del sistema algunos atributos que unificándolos entre ellos podría beneficiarnos al cálculo del
modelo.

Se han eliminado un total de 24 atributos dejando solo los siguientes:

• Marca • Navegador
• Modelo • Abs
• Carrocería • Inmovilizador
• Potencia • Radio
• Fecha Matriculación • Precio
• Kilómetros • Airbag Lateral
• Puertas • Aire Acondicionado
• Consumo • Cierre Centralizado
• Airbag • Dirección Asistida
• Airbag Acompañante • Elevalunas

2.3. Eliminación de instancias sobrantes

Para eliminar las instancias en primer lugar se ha aplicado el filtro


unsupervised.instances.removepercentage para reducir estas a un 70%, dejando un 30 % restante
como datos de test. Una vez reducido los datos en un 30%, se ha accedido a la pestaña visualize para
eliminar instancias que se dispersaban en el grafico. Para realizar dicha operación, abrimos el grafico a
tratar (por ejemplo, precio – fecha matriculación) y con la opción selectInstance.Polygon elegimos la
zona que queremos mantener en nuestro diagrama:

Posteriormente le damos a la opción submit y nos saca un grafico como el siguiente con todas las
instancias que se dispersan eliminadas. Esta operación se ha realizado en los graficos de precio –
kilómetros y precio – fecha matriculación.
Por último, se ha aplicado el filtro unsupervised.instance.removefolds para realizar una limpieza de
datos para una posterior aplicación de una validación cruzada de 10 pliegues. En total después de
realizar todos los procesos han quedado un total de 5837 datos.

3. Clasificadores

En este apartado hablare sobre los clasificadores utilizados para obtener un modelo y los preprocesos
utilizados en ellos.

En primer lugar he utilizado el método de regresión lineal, pero dado que tenía muchos datos el
programa falla por falta de memoria. Para poder trabaja con el he realizado un filtrado dejando solo las
instancias de la marca Trucks-lkw (47) aplicado el filto unsupervised.instances.removewithvalues.
Después de un proceso de más de media hora, el programa nos devuelve un error del 100%

En segundo lugar he probado con el método de Gauss (GaussianProcess). Primero he realizado este
método con las mismas instancias que en el caso anterior (47) y me ha devuelto el siguiente resultado
en un segundo practicamente:

=== Cross-validation ===


=== Summary ===

Correlation coefficient 0.134


Mean absolute error 7390.7326
Root mean squared error 9661.9946
Relative absolute error 96.5932 %
Root relative squared error 97.5852 %
Total Number of Instances 49

Posteriormente he aplicado el mismo proceso a un total de 584 instancias devolviéndome los


siguientes valores en un tiempo de 71 segundos:

=== Cross-validation ===


=== Summary ===

Correlation coefficient 0.5334


Mean absolute error 6492.0273
Root mean squared error 9560.0672
Relative absolute error 90.2756 %
Root relative squared error 88.703 %
Total Number of Instances 584

Por último a un total de 2134 instancias dándonos el siguiente resultado en un tiempo de media hora:

=== Cross-validation ===


=== Summary ===
Correlation coefficient 0.6825
Mean absolute error 4835.1383
Root mean squared error 7391.6788
Relative absolute error 70.4849 %
Root relative squared error 76.5227 %
Total Number of Instances 2134

Con lo que podemos concluir que a mas instancias este clasificador obtiene mejores resultados y pero
consume mucho más tiempo.

El último clasificador utilizado ha sido el árbol m5p que con un tiempo de 20 minutos y un total de
5838 instancias me ha devuelto un error de:

=== Cross-validation ===


=== Summary ===

Correlation coefficient 0.9192


Mean absolute error 2562.2711
Root mean squared error 4353.505
Relative absolute error 33.0586 %
Root relative squared error 39.4042 %
Total Number of Instances 5838

Por lo que podemos concluir que el árbol m5p da mejores resultados en un espacio de tiempo menor.

4. Bibliografía

Apuntes de la asignatura.
Curso Doctorado Weka realizado por Cesar Ferri Ramírez y José Hernández Orallo.
Documento Pdf pre procesado de datos realizado por José Carlos Cortizo Pérez.
Documento Pdf Fundamentos de la minería de datos de la Universidad de Granada.
Documento Pdf Técnica de análisis de datos en Weka.
Documento Pdf Manual de Weka realizado por Diego Garcia Morate.

You might also like