WEKA v1.1
WEKA v1.1
el pre-procesamiento de datos
Utiliza distintas técnicas como los modelos estadísticos, los algoritmos matemáticos y los algoritmos de
aprendizaje automático que mejoran su rendimiento a través de la experiencia, como las redes neuronales o los
árboles de decisión. A continuación comentaremos las tareas usuales en la MD.
• Clasificación y predicción.
• Es la más interesante de las tareas predictivas y consiste en localizar las relaciones existentes entre
todos los datos (o parte de ellos), con la intención de que se puedan utilizar estos patrones en futuras
predicciones.
• Su aplicación es usual en el estudio de la concesión o no de hipotecas en un banco, en la obtención del
tipo de clientes según el modo en que utilicen la tarjeta bancaria, o en la detección de reconocimiento de
caras en un conjunto de imágenes.
• Utiliza un conjunto de datos conocidos para extraer las reglas de clasificación y posteriormente se aplican
estas reglas al conjunto de los datos cuyo comportamiento se quiere predecir.
• Los algoritmos más utilizados en la clasificación son los árboles de decisión, la clasificación bayesiana,
las redes neuronales y los clasificadores basados en reglas (por ejemplo, clasificación por la regla de los
k-vecinos más cercanos).
Agrupamiento:
Es una tarea descriptiva, y consiste en obtener grupos a partir de los datos registrados. En este caso
se habla de grupos y no de clases como en la clasificación. El objetivo de la tarea es agrupar los
datos en grupos de tal manera que los elementos de cada grupo sean muy similares entre sí y que al
mismo tiempo sean muy diferentes a los del resto de otros grupos.
Regresión:
Pertenece al grupo de las tareas predictivas. Ahora, el objetivo es el de utilizar algoritmos con la
intención de identificar las funciones que modelen con el menor error posible a la base de datos, de
tal manera que la diferencia entre el valor predicho y el real sea mínimo.
Reglas de asociación:
Es otra de las tareas predictivas, que proporcionan algoritmos con la intención de encontrar
relaciones relevantes entre las variables (atributos).
TÉCNICAS Y ALGORITMOS EN LA MINERÍA
DE DATOS
Weka
WEKA:
➢ Weka es un software libre que contiene herramientas de pre-
procesamiento. clasificación, regresión y visualización para datos.
► Para la creación de un archivo arff es necesario tener clara su estructura que se divide en 3 partes:
@relation <nombre_de_la_relación>
Es posible añadir comentarios con el símbolo “%”, que indicará que desde ese símbolo hasta el final
de la línea es todo un comentario. Los comentarios pueden situarse en cualquier lugar del fichero.
Weka
A continuación se mostrará un ejemplo sencillo para comenzar a trabajar con Weka:
Práctica:
Se recopila los siguientes datos durante el período de matrícula en el colegio Academia Virtual,
género, edad, grado, el objetivo es realizar un análisis sobre cuantos estudiantes tenemos de
acuerdo a las variables capturada durante el período de matrícula.
Sexo se represento como Femenino y Masculino
Grado se represento del 1 al 12
El siguiente archivo muestra los datos anteriormente descritos teniendo en cuenta el formato
“arff” ya mencionado. A su vez, deberá ser creado en el Bloc de notas y guardado con la
extensión “ . arff ”.
Carga el archivo con la opción Open File y según el atributo seleccionado en la lista
desplegable situada al lado izquierdo del botón “Visualize All”.
Opción Visualize All
Weka
@relation ejemplo1 @data
• Para poder hacer uso de esta herramienta, se debe seleccionar el botón choose, donde tendremos
acceso a un gran número de opciones, entre las que se encuentran:
• Filtrar atributos
• Modificar el tipo de atributos (como por ejemplo, discretizar).
• Realizar muestreos sobre los datos.
• Unificar los valores de un atributo.
• Normalizar los atributos numéricos.
• Adicionalmente, la opción de preprocesamiento permite realizar filtros sobre los datos con el objetivo de
transformar los mismos.
Weka
► Para acceder a esta opción es necesario
seleccionar el botón Choose donde se despliega
una lista, se debe seguir la siguiente ruta para
encontrar diferentes opciones de filtros:
Weka-> Filters -> Supervised ->Attribute.
Weka-> Filters -> Supervised ->Instance
Weka-> Filters -> unSupervised ->Attribute.
Weka-> Filters -> unSupervised ->Instance
https://youtu.be/1G8-Qub59Us
https://youtu.be/ZlMlSmvDMN8
Weka
► A continuación se mencionarán algunos de los filtros que
aparecen en “Attribute” que es la opción más trabajada
en Weka:
► Atributte: Los filtros aplicados en esta categoría son
aplicados a los atributos.
► AddClassification: Añade un atributo, para esto
debemos proporcionar la posición que va a ocupar, el
nombre y los posibles valores que tendrá separados por
comas; al no especificar el tipo se asumirá que el atributo
es numérico.
► Discretize: Discretiza un conjunto de valores numéricos
en un rango de datos. Transforma datos cuantitativos a
datos cualitativos.
► NominalToBinary: Transforma los valores nominales de
un atributo en un vector cuyas coordenadas son binarias.
Lista desplegable de filtros en la Interfaz Explorer
Preprocesamientos con filtros.
https://txikiboo.wordpress.com/2014/02/01/glosario-de-filtros-de-
preprocesamiento-de-weka/
Weka
PRACTICA FINAL DE FILTROS –Guía Taller 3
► Cargue Data Temporada v1.arff
► Estudie los atributos cargados Ventas, Temporada, Pais
► Transforme atributos de String a Nominal
► Adicione el atributo Ganancia (20%) con AddExpression
► Adicione el atributo Producto con Add y agregue los valores del articulo
principal ReplaceMissingValue
► Adicione sin campos sin valores en atributo 2,3,4,5
ReplaceWithMissingValue
► Adiciones instancias adicionales en modo Editar
► Analice cada gráfica y explique su comportamiento
Weka
Análisis de Resultados
• Uso de Algoritmos
Clasificación:
Cuando estamos interesados en encontrar patrones de comportamientos entre los datos se recurre a la tarea
de clasificación, que suele ser la más frecuente entre las realizadas en minería de datos. El objetivo será el de
encontrar relaciones entre los atributos que permitan saber cuáles son las posibilidades de que el equipo
seleccionado quede en un determinado lugar de la tabla clasificatoria. Esta tarea se lleva a cabo con la
pestaña Classify
Weka
Algoritmos Supervisado -Predicción
Regresión Lineal:
Permite determinar el grado de dependencia de las series de valores X e Y, prediciendo el valor y estimado
que se obtendría para un valor x que no esté en la distribución.
Regresión Lineal:
Aplicaciones de la regresión lineal
Líneas de tendencia
Una línea de tendencia representa una tendencia en una serie de datos obtenidos a través de un largo
período. Este tipo de líneas puede decir si un conjunto de datos en particular (como por ejemplo, el PBI, el
precio del petróleo o el valor de las acciones) han aumentado o decrementado en un determinado período.
Las líneas de tendencia son generalmente líneas rectas, aunque algunas variaciones utilizan polinomios de
mayor grado dependiendo de la curvatura deseada en la línea.
Weka
Algoritmos Supervisado -Predicción
Gastos
Regresión Lineal: Años
Publicida Ventas
d (euros) (euros)
Una empresa muy conocida ha trabajado hasta ahora con la 1999 21 180.2
2000 22 190.5
hipótesis de que las ventas de la empresa dependen linealmente 2001 22 200
de la inversión en gastos de publicidad efectuados. Nos piden la 2002 25 201.9
2003 26 220.2
realización de un análisis que ponga de manifiesto si la hipótesis, 2004 27 230.5
2005 27 240.5
hasta ahora mantenida, se puede seguir sosteniendo en función 2006 30 260.4
de los datos que tenemos en los últimos 20 años: 2007 32 266.3
2008 34 270.5
2009 34 273.5
2010 38 281.6
2011 40 283.4
Se pide: 2012 41 287.7
2013 41 290.7
a) Obtener un modelo lineal que permita estimar las ventas de la 2014 44 295.5
empresa a partir de los gastos invertidos en publicidad. 2015 47 300.4
2016 47 301.3
b) La ecuación del modelo lineal que permite estimar las ventas 2017 49 340.6
2018 49 345.9
de la empresa (Y) a partir de los gastos invertidos en 2019 50 360.7
publicidad (X), ¿Es adecuado suponer que el ajuste entre 2020 52 364.6
• Funciones: corresponden con los métodos que están basados en modelos matemáticos, como por ejemplo: las redes
neuronales, o los diferentes tipos de regresiones.
• Trees: métodos expresados a través de árboles de decisión. En este caso se construye un árbol desde la raíz hasta las
hojas, de tal manera que las ramas se dividen en función de los valores que toman los atributos. Entre todos ellos, el más
popular es el J48 que es una mejora del árbol inicial C4.5 diseñado en 1945.
Al elegir el tipo de método a usar, también existe la posibilidad de elegir el tipo de validación del modelo, que
puede ser:
• Use training set: con esta opción el programa utilizará el método elegido con todos los datos disponibles y luego realizará
una evaluación sobre los mismos datos.
• Supplied test set: podemos realizar una evaluación sobre un conjunto de datos que hemos elegido previamente, que
normalmente serán distintos a los datos del aprendizaje.
• Cross-validation: la evaluación se realizará mediante una técnica de validación cruzada, cuyo objetivo es asegurarse de que
los análisis estadísticos realizados son independientes. De todas las posibilidades, esta opción es la que más tiempo
computacional consume. Con parámetro Folds se puede elegir el número de evaluaciones que deseamos llevar a cabo,
dividiendo el conjunto de datos en datos de prueba y datos de entrenamiento
• Percentage split: en esta última opción podemos definir un porcentaje con el que aprende el modelo, haciéndose la
evaluación con los datos restantes .
Weka
Clasificación (Classify –Tree-J48)
Ejemplo:
• Vamos a trabajar con los datos acerca de los días que se ha podido jugar al tenis, dependiendo de diversos
aspectos meteorológicos.
• El objetivo es poder determinar (predecir) si hoy podremos jugar al tenis.
• Los datos de que disponemos están en el fichero: weather.arff” al cargar en Weka:
Weka
Clasificación (Classify –Tree-J48)
Plain Text
Weka
Clasificación (Classify –Tree-J48)
• Como podemos observar Weka nos informa:
1. En primer lugar de algunos parámetros del
dataset.
2. Nos muestra de manera textual el modelo
aprendido (en este caso el árbol de
decisión).
3. Por último nos incluye información sobre la
evaluación del modelo. En este problema,
el árbol aprendido tiene una precisión
máxima (100%) por lo que todas las
medidas de error son 0.
4. Además podemos conocer más detalles de
la distribución de los ejemplos por clase en
la matriz de confusión).
5. Podemos visualizar el árbol de una manera
más atractiva si pulsamos el botón derecho
sobre el texto trees.J48 de la caja Result-
list. Seleccionamos la opción Visualize
Tree, y obtendremos el árbol de decisión.
6. Nos muestra para cada hoja cuántos
ejemplos de la evidencia son cubiertos.
7. Con el botón derecho sobre el texto
trees.J48 de la caja Result-list tendremos
acceso otras opciones más avanzadas
para el análisis del modelo aprendido.
1 Weka
Clasificación (Classify –Tree-J48)
Aprendizaje Automático - Predicción
3
Weka
Clasificación (Classify –Tree-J48)
Aprendizaje Automático - Predicción
Weka
Predicción en Weka
Videos Educativos del Tema:
https://youtu.be/7CutRIgRT-k
https://youtu.be/-i4rd2g9EzU
https://youtu.be/kFKxUQDnLV8
Weka
Análisis de Resultados
El Estadístico de Kappa:
Se trata de un índice que permite
comparar el nivel de acierto, o ver
si el nivel de acercamiento se ha
debido al azar. El valor de este
parámetro de encuentra entre -1 y
1, siendo el 1 un acercamiento
perfecto; y el -1 significa el total
desacuerdo
Clustering (“Segmentación”)
Clustering (“Segmentación”)
Clustering o Segmentación o Agrupación o Agrupamiento
Permite la identificación de tipologías o grupos donde los elementos guardan gran similitud entre sí y muchas diferencias con los de otros
grupos.
Por ejemplo se puede segmentar:
un colectivo de clientes
el conjunto de valores e índices financieros
el espectro de observaciones astronómicas
el conjunto de zonas forestales
el conjunto de empleados y de sucursales u oficinas, etc.
La segmentación no brinda importantes ventajas que aporta al permitir el tratamiento de grandes colectivos de forma
pseudoparticularizada, en el más idóneo punto de equilibrio entre el tratamiento individualizado y aquel totalmente masificado.
Las herramientas de segmentación se basan en técnicas de carácter estadístico, de empleo de algoritmos matemáticos, de generación
de reglas y de redes neuronales para el tratamiento de registros.
Para otro tipo de elementos a agrupar o segmentar, como texto y documentos, se usan técnicas de reconocimiento de conceptos. Esta
técnica suele servir de punto de partida para después hacer un análisis de clasificación sobre los clusters.
La principal característica de la técnica es la utilización de una medida de similaridad que está basada en los atributos que describen a
los objetos, y se define usualmente por proximidad en un espacio multidimensional.
Para datos numéricos, suele ser preciso preparar los datos antes de realizar data mining sobre ellos, de manera que en primer lugar se
someten a un proceso de estandarización. Una de las técnicas empleadas para conseguir la normalización de los datos es utilizar la
medida z (z-score) que elimina las unidades de los datos.
Clustering (“Segmentación”)
k-Means
• Algoritmo de agrupamiento por particiones.
• Número de clusters conocido (k).
• Cada cluster tiene asociado un centroide(centro geométrico del cluster).
• Los puntos se asignan al cluster cuyo centroide esté más cerca (utilizando cualquier métrica de distancia).
• Iterativamente, se van actualizando los centroides en función de las asignaciones de puntos a clusters,
hasta que los centroides dejen de cambiar.
• El algoritmo k-medias utiliza la medida euclídea
• Un elemento super importante que se toma en cuenta para determinar los cluster son las distancias entre los
elementos o instancias al punto centroide.
• Las medidas de similaridad son destacada por la distancia euclídea.
https://youtu.be/pQrjUt8jMBM
https://youtu.be/ICm004p1ZXY
EJERCICIO- Clustering
Un problema de agrupación Algoritmo SimpleKMeans
Agrupación de Empleados:
La empresa de software para Internet “Memolum Web” quiere extraer tipologías de empleados, con el objetivo de
hacer una política de personal más fundamentada y seleccionar a qué grupos incentivar.
Las variables que se recogen de las fichas de los 15 empleados de la empresa son:
• Sueldo: sueldo anual en euros.
• Casado: si está casado o no.
• Coche: si viene en coche a trabajar (o al menos si lo aparca en el párking de la empresa).
• Hijos: si tiene hijos.
• Alq/Prop: si vive en una casa alquilada o propia.
• Sindic.: si pertenece al sindicato revolucionario de Internet
• Bajas/Año: media del nº de bajas por año
• Antigüedad: antigüedad en la empresa
• Sexo: H: hombre, M: mujer.
Los datos de los 15 empleados se encuentran en el fichero “empleados.csv”. Se intenta extraer grupos de
entre estos quince empleados.
Experimenter- Weka
El Weka Experimenter es un entorno gráfico que permite al usuario crear, ejecutar, modificar y analizar
experimentos sobre tareas de clasificación (o regresión) de un modo ágil y eficaz comparado con el entorno Weka
Explorer.
Por ejemplo, puede crear un experimento que ejecuta varios clasificadores sobre varios conjuntos de datos y
analizar los resultados para determinar si uno de los clasificadores es estadísticamente mejor que los demás.
Definir un experimento
El entorno Experimenter de Weka se compone de varias ventanas dentro de un orden lógico correspondiente a
las diferentes fases del experimento:
• Configurar el experimento
• Ejecutar el experimento
• Analizar los resultados.
EJERCICIO -Experimenter- Weka
1. Desde la ventana Setup, pulsa el botón New para iniciar un nuevo experimento.
2. Esto permite fijar los parámetros por defecto del experimento.
3. Ahora, para abrir el fichero de datos que servirá para aprender (y/o testar) el modelo, pulsa el botón Add New
de la subventana Datasets de la ventana Setup. Y selecciona el dataset iris.arff.
4. Guardar un experimento: Una de las ventajas al trabajar con el entorno Experimenter es la posibilidad de
guardar los resultados de un experimento.
5. Pulsa el botón Save situado arriba de la ventana Setup. Escribe el nombre del fichero con la extensión exp
(por ejemplo, Experiment1.exp). Para recuperar la definición de un experimento, pulsa el botón Open situado
arriba de la ventana Setup y selecciona Experiment1.exp desde la ventana de diálogo.
6. Ejecutar un experimento:
7. Para ejecutar el experimento que acabamos de configurar, selecciona la ventana Run del Experimenter
Environment y pulsa el botón Start. En este caso, se ha ejecutado un experimento por defecto sobre el
dataset iris.arff.
8. La definición por defecto puede ser la siguiente: un SplitDataRandomized con un parámetro fijado a 10 para el
aprendizaje y testeo aleatorios efectuados sobre el dataset iris.arff, utilizando un 66% de casos para el
aprendizaje y el resto para el testeo, y utilizando el clasificador ZeroR.
• Started
• Finished
• There were 0 errors
EJERCICIO -Experimenter- Weka
9. Si el experimento se ha definido correctamente, los 3 mensajes de arriba aparecerán en el panel Log Panel.
10. Los resultados del experimento son guardados en el fichero ResultExperiment1.txt. Es un fichero que
podemos abrir en una hoja de cálculo Excel para su análisis.