mÁster en estadÍstica aplicada - universidad de granada
TRANSCRIPT
MÁSTER EN ESTADÍSTICA APLICADA
TÉCNICAS DE CLASIFICACIÓN EN MINERÍA DE
DATOS Y SOFTWARE ORANGE CANVAS. APLICACIÓN
CON DATOS METEOROLÓGICOS
TRABAJO FIN DE MÁSTER
REALIZADO POR:
Silvia Mariana Haro Rivera
TUTOR:
Juan Antonio Maldonado Jurado
2016-2017
2
Agradecimientos
Un agradecimiento especial a:
Mi tutor Juan Antonio Maldonado, por la guía brindada para culminar este
trabajo.
Mi familia: María, Rodrigo, Gabriel y Danna; por el tiempo no compartido
y su paciencia.
Silvia Mariana Haro Rivera
3
ÍNDICE GENERAL
Contenido No Página
Portada……………………………………………………………………………… 1
Agradecimientos…………………………………………………………………..... 2
Índice General……………………………………...………………………………. 3
Introducción………………………………………………………………………… 5
1. MINERÍA DE DATOS……………………………………………............... 6
1.1 Introducción………………………………………………………………. 6
1.1.1 Técnicas supervisadas….………………………………………… 7
1.1.2 Técnicas no supervisadas…..……..……………………………… 7
1.2 Software para minería de datos………………………………………….. 7
1.2.1 Weka……………………………………………………………… 7
1.2.2 Rapid Miner….…………………………………………………… 8
1.2.3 Knime..…………………………………………………………… 8
1.2.4 JHepWork……………………………………..………………….. 8
1.2.5 Data Mining Add-In for Excel………………..………………….. 8
1.2.6 R……………………………..………………..………………….. 8
1.2.7 NLTK………………………..………………..………………….. 8
1.2.8 Clementine/SPSS.…………...………………..………………….. 8
1.2.9 SAS Enterprise Miner/SAS.....………………..………………….. 8
1.2.10 Orange…………………….....………………..………………….. 8
2. ORANGE CANVAS…….…………………………………………............... 9
2.1 Introducción………………………………………………………………. 9
2.2 Funcionalidades de Orange….……………………………………………. 9
2.3 Instalación………………..….……………………………………………. 10
2.4 Los datos…………………….……………………………………………. 13
2.5 Componente Data………..….……………………………………………. 13
2.6 Componente Visualize…..….……………………………………………. 17
2.7 Componente Model……...….……………………………………………. 20
2.8 Componente Evaluate……….……………………………………………. 23
2.9 Componente Unsupervised….……………………………………………. 24
3. TÉCNICAS DE CLASIFICACIÓN APLICADAS A DATOS
OBTENIDOS POR EL CENTRO DE INVESTIGACIÓN DE
ENERGÍAS ALTERNATIVAS Y AMBIENTE DE LA ESCUELA
SUPERIOR POLITÉCNICA DE CHIMBORAZO (ESPOCH)………….
27
3.1 Centro de Energías Alternativas de la ESPOCH…………………………. 27
3.2 Clasificadores……………….……………………………………………. 27
3.2.1 Agrupamiento Clustering...…..……………....………………….. 28
3.2.2 Clasificador Bayesiano.……..………………..………………….. 29
3.2.3 Vecinos más cercanos (Nearest Neighbours)..………………….. 29
3.2.4 Vecinos más cercanos Fuzzy (K-NN Fuzzy)..…………………... 30
3.2.5 Árboles de decisión………………………………………………. 30
4
3.3 Clasificación con Orange Canvas…………………..……………………. 30
3.4 Aplicación y Análisis de los datos……………….………………………. 32
Paso 1: Carga del fichero…….....…..………………..………………….. 33
Paso 2: Selección de la variable objetivo de estudio..………………….. 34
Paso 3: Aplicación de los métodos de clasificación...………………….. 35
3.5 Conclusiones……………………..……………….………………………. 54
REFERENCIAS…………………………………………………………………… 58
5
Introducción
La minería de datos como herramienta estratégica es clave para explotar el
conocimiento de los datos, su objetivo es analizar los datos desde todas las perspectivas
estratégicas, con el fin de transformar la información y el conocimiento. En general la
minería de datos se soporta mediante utilidades informáticas que sirven de instrumentos
para el análisis de datos. Mediante la minería de datos se puede: ordenar, clasificar,
filtrar y resumir todas las relaciones que un dato puede tener dentro de la información,
está centrada no solo en extraer conocimiento sino en encontrar las relaciones o
correlaciones que la información, vista desde diferentes ámbitos, tiene con otros datos
aparentemente no conectados y, generalmente, recogidos en enormes bases de datos
relacionales. La minería de datos en variables meteorológicas tiene una gran aplicación
e interés en la actualidad; pues, brinda alternativas diferentes a los métodos
tradicionales de análisis y permite estimar variables diversas en casos específicos.
El estudio de variables meteorológicas es de vital importancia, permite identificar el
comportamiento de variables físicas de relevancia y definir el clima. En Ecuador se
realizan estudios e investigaciones meteorológicas relacionados con las variables
meteorológicas históricas, predicción meteorológica; con el objetivo de realizar
pronósticos de tiempo, así como operación y mantenimiento de la red automática; que
tienen como tarea mantener las estaciones meteorológicas en óptimo estado para que los
datos receptados sean confiables y de buena calidad. Los estudios climáticos sirven
como insumo para el desarrollo socioeconómico del país, y permiten elaborar boletines
climáticos y agroclimáticos haciendo uso de información obtenida en tiempo real y
analizado en diferentes espacios temporales.
El presente trabajo tuvo como objetivo aplicar técnicas de clasificación en minería de
datos meteorológicos aplicando el software Orange Canvas. Las variables de estudio
fueron: temperatura del aire, humedad relativa, presión barométrica, radiación solar
difusa, radiación solar global, temperatura del suelo y velocidad de viento. Los datos
empleados corresponden a los recolectados de la estación meteorológica Cumandá
ubicada en la provincia de Chimborazo-Ecuador.
En primera instancia se realiza una introducción a la minería de datos y los diferentes
paquetes gratuitos que permiten realizar estudios en este ámbito. Posteriormente se
describe el software Orange Canvas y por último se realiza la aplicación de los
clasificadores con el software.
6
1. MINERÍA DE DATOS
1.1 Introducción
La minería de datos no es nueva, desde los años sesenta los estadísticos manejaban
términos como data fishing, data mining o data archeology, pero a principios de los
años ochenta se empezaron a fortalecer los términos de minería de datos.
La minería de datos surge del análisis de grandes volúmenes de información con el
objetivo de extraer conocimiento que contribuya a la toma de decisiones, ésta es
efectiva cuando los datos tienen características que permiten una interpretación de
acuerdo a la experiencia humana, espacio y tiempo.
La minería de datos cubre relaciones, tendencias, desviaciones, comportamientos
atípicos, patrones y trayectorias ocultas; con el propósito de soportar los procesos de
toma de decisiones con mayor conocimiento. La minería de datos combina técnicas
semiautomáticas de inteligencia artificial, análisis estadístico, bases de datos y
visualización gráfica, para la obtención de información que no esté representada
explícitamente en los datos.
Las fases por las que debería pasar este proceso de descubrimiento de conocimiento
son:
Figura 1: Fases de la minería de datos
DATOS
CONOCIMIENTO
Base de datos
Selección
Procesado
Selección de características
Modelo
Extracción de conocimiento
Interpretación Evaluación
7
Las técnicas de Minería de Datos se clasifican en supervisadas y no supervisadas.
1.1.1 Técnicas supervisadas
En estas técnicas generalmente se tiene un atributo llamado clase, donde se determina si
los atributos pertenecen o no a un determinado concepto. Dentro de este grupo se tiene:
1. Predicción: dentro de éstas están la regresión, árboles de predicción y estimador
de núcleos.
2. Clasificación: esta técnica busca relaciones entre las variables. Se puede citar: la
tabla de decisión, árboles de decisión, inducción de reglas, Bayesiana, basada en
ejemplares, redes neuronales y técnicas genéticas
1.1.2 Técnicas no supervisadas
Estas técnicas no supervisan el proceso: los atributos son ordenados sin la guía de una
clase. En este grupo se encuentran:
1. Clustering o segmentación de datos, se utiliza para la exploración de conjuntos de
datos para determinar si pueden ser agrupados en un número pequeño de grupos o
clústeres de objetos similares entre ellos. Entre los principales se tiene: Numérico,
conceptual y probabilístico.
2. Asociación: trabaja con una agrupación a priori.
Es importante tomar en cuenta que la minería de datos construye modelos de forma
automática, mientras que las técnicas estadísticas “clásicas” son manejadas y orientadas
por un estadístico profesional. El Data Mining utiliza técnicas estadísticas pero también
inteligencia artificial y a mayor dimensionalidad del problema se pueden obtener
mejores soluciones.
1.2 Software para minería de datos
Existen varios paquetes que permiten aplicar patrones de comportamiento y de relación
entre los datos, entre los que podemos enunciar:
1.2.1 Weka: (Waikato Environment for Knowledge Analysis).
http://www.cs.waikato.ac.nz/ml/index.html. Este software maneja lenguaje Java, y
es una herramienta para aplicación de tareas de data mining. Permite
procesamiento previo, clustering o generación de grupos de datos, clasificación,
regresiones, visualización y selección de propiedades. La técnica que emplea se
basa en la hipótesis de que los datos se encuentran disponibles en un solo archivo
o relacionados, donde cada dato está ubicado de acuerdo a su atributo.
8
1.2.2 Rapidminer: (Yale=Yet Another Learning Enviroment). https://rapidminer.com/.
Es un entorno para aprendizaje mecánico y experimentos de data mining. Sus
resultados se muestran en archivos XML, cuenta con una interfaz gráfica y
combina esquemas y atributos de evaluación.
1.2.3 Knime: (Konstanz Information Miner). https://www.knime.com/downloads. Es
un software de integración de datos, permite el procesamiento, análisis y
exploración de datos. Crea flujos de datos, ejecuta análisis selectivos, analiza
resultados, modela y genera vistas interactivas; facilitando la toma de decisiones.
En el sitio oficial se pueden encontrar extensiones que permiten un trabajo más
extenso para: edición de texto, imágenes, series de tiempo, entre otras.
1.2.4 JHepWork: https://sourceforge.net/projects/jhepwork/. Es una herramienta
gratuita, diseñada para científicos, ingenieros y estudiantes. Permite el análisis de
datos mediante la creación de un entorno amigable. Tiene librerías en Java para
funciones matemáticas y algoritmos de minería de datos. El lenguaje que utiliza
este software es Jython aunque funciona en Java.
1.2.5 Data Mining Add-In for Excel: https://support.office.com/en-us/article/Data-
Mining-Add-ins-cbbce629-df1a-4b15-b40e-c494fec4f022. Es una herramienta
que se puede instalar a la suite de Office y que incluye herramientas de análisis de
tablas y una función llamada Data Mining Client.
1.2.6 R: https://www.r-project.org/. Es uno de los programas más utilizados, se debe
emplear código de programación para realizar los análisis. Es potente pues
paulatinamente se desarrollan paquetes que pueden ser incluidos en el software.
1.2.7 NLTK: http://www.nltk.org/. Es una herramienta de procesamiento de lenguaje,
minería de datos, aprendizaje automático, raspado de datos, y otras tareas de
procesamiento del lenguaje. Está escrito en Python.
1.2.8 Clementine/SPSS: https://www.ibm.com/analytics/us/en/technology/spss/. Es
una herramienta de data minig que permite desarrollar modelos predictivos y
desplegarlos para la toma de decisiones. Combina técnicas de modelamiento con
herramientas de acceso y exploración de datos en una interfaz simple e intuitiva.
1.2.9 SAS Enterprise Miner / SAS: https://www.sas.com/en_us/software/enterprise-
miner.html. Proporciona una gran cantidad de modelos y alternativas. Permite
determinar pautas y tendencias, explica resultados conocidos e identifica factores
que permiten asegurar efectos deseados. Compara los resultados de las distintas
técnicas de modelado, tanto en términos estadísticos como de negocios.
1.2.10 Orange: Es un componente de minería de datos que permite una programación
visual, rápida y versátil para un análisis exploratorio de datos. Es amigable e
9
intuitiva. Permite procesamiento, filtros de información, modelación de datos,
evaluación de modelos y técnicas de exploración. Está escrito en C++ y Python.
2. ORANGE CANVAS
2.1 Introducción
Orange es un software libre de aprendizaje automático para Data Mining
y análisis predictivo; escrito en C++ que implementa algoritmos de minería de datos, así
como operaciones de procesamiento y representación gráfica de datos. Fue desarrollado
en el laboratorio de Bioinformática de la Facultad de Informática y Ciencias de la
Información de la Universidad de Ljubljana, Eslovenia.
En sus inicios Orange se ha utilizado en estudios de biomedicina, bioinformática,
investigación genómica e incluso en enseñanza. La interfaz gráfica de usuario permite al
usuario arrastrar y soltar los módulos, conectarlos para evaluar y probar diferentes
algoritmos.
La utilidad que tiene este software en la minería de datos radica en que permite analizar
detalladamente grandes cantidades de bases de datos de manera automática con el
objetivo de explicar su comportamiento, lo cual permite reunir y transformar los datos
en información, de manera que se pueda optimizar el proceso en la toma de decisiones.
Para acceder a las componentes del programa puede ser por medio de:
Scripts desde Python, o
Widgets (componentes GUI) desde Canvas.
2.2 Funcionalidades de Orange
Entre las principales funcionalidades de Orange están:
Los usuarios pueden crear sus propios flujos de trabajo interactivos con el
objetivo de analizar y visualizar los datos con mayor amplitud.
Permite rediseñar y adaptar la herramienta a las necesidades del usuario y/o de la
empresa.
La visualización de la información puede realizarse en distintos formatos,
diagramas de dispersión, gráficos de barras, árboles o redes y mapas de color, lo
cual permite mostrar con mayor claridad los resultados para interpretar de mejor
forma la información.
10
2.3 Instalación
Para instalar el software es necesario ingresar al sitio oficial: http://orange.biolab.si/ y
descargar el instalador, la última versión es 3.4.4. Para la instalación se requiere:
Python, para scripting
Los paquetes Qt, PyQt, PyQwt para utilizar Canvas y Widgets
El paquete GraphVlz para ciertos widgets
El paquete completo para Windows, puede descargarse de:
https://orange.biolab.si/download/, se muestra en la figura:
Figura 2. Sitio oficial de Orange
El proceso de instalación es sencillo, se debe seguir los pasos e instalar todo lo que pida
el programa. Finalizada la instalación se puede acceder a la interfaz de inicio:
Figura 3. Interfaz de inicio
11
Mediante esta interfaz el usuario puede seleccionar las opciones:
New, genera un nuevo flujo de trabajo. Con esta opción se muestra una ventana
donde se asigna un nombre al trabajo y una descripción del mismo.
Figura 4. Interfaz New
Open, abre un flujo de trabajo existente buscando en el directorio del computador.
Recent, busca y abre un flujo de trabajo reciente. Mediante la ventana que se
muestra en la figura se accede a los trabajos recientes.
Figura 5. Interfaz Recent
Tutorials, se enlaza con youtube para acceder a videos tutoriales sobre el manejo y
uso del programa.
12
Figura 6. Interfaz youtube Tutorials
Examples, muestra una ventana con ejemplos sobre el manejo del programa.
Figura 7. Interfaz Examples
Get Started, se enlaza con la web y muestra una introducción sobre la instalación
y manejo del programa.
13
Figura 8. Enlace Get Started
2.4 Los datos
Orange Canvas permite trabajar con bases de datos cuyas extensiones son: Excel (.xlsx),
texto (.txt) o archivos separados por comas (.csv). También el software permite trabajar
con bases que pueden ser descargadas de una dirección URL. Entre las principales
opciones que presenta Orange Canvas están:
2.5 Componente Data
Esta ventana permite la entrada/salida de datos, soporta los formatos C4.5, assitant, retis
y tab(nativo). Permite el pre-procesamiento de los datos. El menú de esta componente
se muestra en la figura:
Figura 9. Interfaz Data
14
Esta componente consta de los siguientes widgtes:
File
Esta pestaña lee datos desde un archivo de entrada o desde la web, la salida es una tabla.
Haciendo doble click se muestra una ventana con el historial de los archivos abiertos, el
mismo que contiene el directorio, el tamaño y número de tipos de datos.
SQL Table
Con esta pestaña el usuario puede acceder a datos almacenados en una base SQL.
Data Table
Este widget recibe uno o más conjuntos de datos en su entrada y los presenta como una
hoja de cálculo. Los datos pueden ordenarse por valores de atributo, esta opción admite
la selección manual de instancias de datos.
Paint Data
Este widget admite la creación de un nuevo conjunto de datos mediante la colocación
visual de puntos de datos en un plano de dos dimensiones. Los puntos de datos se
pueden colocar en el plano individualmente (Put) o en un número mayor mediante el
cepillado (Brush). Los puntos de datos pueden pertenecer a clases si los datos están
destinados a ser utilizados en el aprendizaje supervisado.
Data Info
Esta pestaña presenta información sobre las características del tamaño del conjunto de
datos, los objetivos, los atributos, metas y ubicación.
Data Sampler
Con este widget se pueden implementar varios tipos de muestreos, produciendo un
conjunto de datos muestreados.
15
Select Columns
Mediante esta opción se pueden seleccionar columnas, donde el usuario puede decidir
qué atributos se utilizaran y cómo. Los atributos naranja pueden ser discretos, continuos
o una cadena de caracteres y se marcan con D, C, S respectivamente.
Select Rows
Este widget selecciona un subconjunto de un conjunto de datos de entrada, basado en
las condiciones definidas por el usuario. Las instancias que coinciden con la regla de
selección se colocan en el canal de datos de emparejamiento de salida. Los términos de
condición se definen mediante la selección de un atributo, la selección de un operador y
definiendo el valor a ser utilizado en el término de condición.
Rank
El widget rango considera conjuntos de datos etiquetados por clase (clasificación o
regresión) y anota los atributos de acuerdo con su correlación con la clase.
Merge Data
Con este widget se puede combinar horizontalmente dos conjuntos de datos en función
de los valores de los atributos seleccionados. Se requiere en la entrada dos conjuntos de
datos, la fusión se realiza mediante valores de los atributos seleccionados.
Concatenate
Este widget concatena múltiples conjuntos de instancias (conjuntos de datos). La
combinación es vertical en el sentido de que dos conjuntos de 10 y 5 instancias
producen un nuevo conjunto de 15 instancias.
Transpose
Con esta opción se puede transponer la tabla de datos.
16
Randomize
El widget Randomize recibe un conjunto de datos en la entrada y genera el mismo
conjunto de datos en que se barajan las clases, atributos y/o metas.
Preprocess
Este widget ofrece cinco métodos de pre-procesamiento para mejorar la calidad de los
datos. Con esta opción se puede discretizar inmediatamente los valores continuos o
continuar con los discretos, imputar valores perdidos, seleccionar las características
relevantes o centrarlos y escalarlos. Básicamente este widget combina cuatro widgets
separados para un procesamiento más simple.
Impute
Algunos algoritmos de Orange no pueden manejar valores desconocidos en los datos,
por lo que este widget hace lo que los estadísticos llaman imputación; lo que consiste en
sustituir valores perdidos por valores calculados a partir de los datos o establecidos por
el usuario.
Color
Con este widget se puede configurar la leyenda de color en las visualizaciones de
acuerdo a las preferencias del usuario. Ofrece una variedad de colores para presentar los
datos. Se combina con la mayoría de widgets de visualización.
Continuize
El widget continuar recibe un conjunto de datos en la entrada y emite el mismo conjunto
de datos en el que los atributos discretos (incluidos los atributos binarios) se sustituyen
por los continuos.
Create Class
Crea un nuevo atributo de clase a partir de un atributo de cadena o discreto existente. El
widget coincide con el valor de cadena del atributo seleccionado y construye un nuevo
valor definido por el usuario para las instancias coincidentes.
17
Discretize
Este widget discretiza los atributos continuos con un método seleccionado.
Feature Constructor
Este constructor de funciones permite agregar características manualmente. Se puede
elegir el tipo de función (discreta, continua o cadena) y cuáles son sus parámetros
(nombre, valor, expresión).
Purge Domain
En muchas ocasiones los atributos nominales pueden contener valores que no aparecen
en los datos. Este widget permite purgar un atributo y si éste no tiene ningún valor
puede ser eliminado.
Save Data
Con este widget se puede guardar los datos en un archivo con un nombre específico. El
widget no guarda los datos cada vez que recibe una señal en la entrada, ya que esto
sobrescribe el archivo, en su lugar los datos se guardan sólo después de que se establece
un nuevo nombre al archivo o el usuario presiona el botón guardar.
2.6 Componente Visualize
Los widgets de esta componente brindan varias opciones para la visualización de los
datos. Se tienen las siguientes opciones:
Figura 10. Componente Visualize
18
Tree Viewer
Este es un widget versátil con visualización 2D de árboles de clasificación y regresión.
El usuario puede seleccionar un nodo, instruyendo al widget para que emita los datos
asociados con el nodo; permitiendo así el análisis exploratorio de datos.
Box Plot
Con este widget se muestra las distribuciones de valores de atributo. Sirve para
comprobar si un nuevo dato presenta una anomalía, como por ejemplo valores
duplicados, outliers y similares.
Distributions
Esta opción muestra la distribución de valores de atributos discretos o continuos. Para
los discretos el widget muestra cuántas veces cada valor de atributo aparece en los
datos, si los datos contienen una variable de clase mostrará las distribuciones de clase
para cada uno de los valores de atributo.
Scatter Plot
Este widget visualiza un diagrama de dispersión bidimensional para atributos con
valores continuos y discretos, los datos se muestran como una colección de puntos, cada
uno de los cuales tienen el valor del atributo del eje X que determina la posición en el
eje horizontal y el valor del atributo del eje Y que determina la posición en el eje
vertical.
Sieve Diagram
Mediante esta opción se puede visualizar las frecuencias en una tabla de contingencia
bidireccional y compararlas con las frecuencias esperadas bajo la suposición de
independencia.
Mosaic Display
Esta es una representación gráfica de una tabla de frecuencias de dos vías o una tabla de
contingencia. Se utiliza para visualizar datos de dos o más variables cualitativas,
19
proporciona al usuario los medios para reconocer más eficientemente las relaciones
entre diferentes variables.
Linear Projection
Este widget muestra proyecciones lineales de datos etiquetados en la clase.
Heat Map
Heat Map es un método gráfico para visualizar valores de atributos por clase en una
matriz de dos vías. Solo funciona en conjuntos de datos que contienen variables
continuas.
Venn Diagram
Este widget muestra relaciones lógicas entre conjuntos de datos. Es una proyección que
muestra dos o más conjuntos de datos representados por círculos de diferentes colores.
Las intersecciones son conjuntos que pertenecen a más de un conjunto de datos.
Silhouette Plot
Con este widget se puede realizar una representación gráfica de la consistencia dentro
de los grupos de datos y proporciona al usuario los medios para evaluar visualmente la
calidad del clúster.
Pythagorean Tree
Los árboles pitagóricos son fractales planos que pueden usarse para representar las
jerarquías generales de los árboles.
Pythagorean Forest
Con este widget se muestra todos los modelos de árboles de decisión aprendidos del
widget de bosque al azar. El mejor árbol es el que tiene las ramas más cortas y más
fuertemente coloreadas. Este widget muestra tanto los resultados de clasificación como
los de regresión.
20
CN2 Rule Viewer
Este es un widget que muestra las reglas de clasificación CN2. Si los datos están bien
conectados, después de la selección de reglas se puede analizar qué instancias respetan
las condiciones.
Nomogram
El nomogram permite la representación visual de algunos clasificadores. Ofrece una
visión de la estructura de los datos de entrenamiento y los efectos de los atributos en las
probabilidades de clase. Además ofrece un soporte interactivo para la predicción de
probabilidades de la clase.
2.7 Componente Model
Los widgets que integran esta componente permiten realizar regresión y clasificación, se
muestran en la figura:
Figura 11. Componente Model
Constant
Este widget genera un modelo que predice la mayoría de las tareas de clasificación y el
valor medio para las tareas de regresión. Muestra frecuencias relativas de las clases en
el conjunto de entrenamiento. Para la regresión muestra un predictor para la media de la
variable de la clase.
21
CN2 Rule Induction
El algoritmo CN2 es una técnica de clasificación diseñada para la inducción eficiente de
reglas sencillas y comprensibles de forma “si entonces”, predice incluso en dominios
donde el ruido puede estar presente. Este modelo funciona solo para clasificar.
KNN
Este widget utiliza el algoritmo KNN que busca k ejemplos de entrenamiento más
cercano en el espacio y utiliza su promedio como predicción.
Tree
Este es un algoritmo simple que divide los datos en nodos considerando la pureza de la
clase. Está diseñado internamente y puede manejar conjuntos de datos discretos y
continuos. También puede utilizarse para tareas de clasificación y de regresión.
Random Forest
Este método es utilizado para la clasificación, regresión y otras tareas. El bosque al azar
construye un sistema de árboles de decisión. Cada árbol se desarrolla a partir de una
muestra bootstrap de los datos de entrenamiento. Cuando se desarrollan árboles
individuales se dibuja un subconjunto arbitrario de atributos.
SVM
La máquina de soporte vectorial (SVM) es una técnica de aprendizaje automático que
separa el espacio de atributos con un hiperplano, lo cual permite maximizar la imagen
entre las instancias de diferentes clases o valores de clase. Este widget genera
predicciones de clase.
Linear Regression
Este widget construye un aprendiz/predictor que aprende una función lineal a partir de
sus datos de entrada. El modelo puede identificar la relación entre un predictor y la
variable respuesta. Se puede además, especificar parámetros de regularización de Lasso,
misma que minimiza la función de pérdida de mínimos cuadrados mediante L1 y
también la regularización de Ridge con la norma L2.
22
Logistic Regression
Este widget genera el modelo de regresión logística a partir de los datos. Sólo funciona
para tareas de clasificación.
Naive Bayes
Es un modelo Bayesiano que se emplea en los datos. Sólo funciona para tareas de
clasificación.
AdaBoost
Es un algoritmo de aprendizaje automático, formulado por Yoav Freund y Robert
Schapire. Se puede emplear con otros algoritmos de aprendizaje para aumentar su
rendimiento.
Stochastic Gradient Descent
Este dispositivo utiliza un descenso de gradiente estocástico que minimiza una función
de pérdida elegida con una función lineal. El algoritmo aproxima un gradiente
verdadero considerando una muestra a la vez, y actualiza simultáneamente el modelo
basado en el gradiente de la función de pérdida. Para la regresión devuelve los
predictores como minimizadores de la suma. Es muy útil para conjuntos de datos a gran
escala y escasos.
Save Model
Este widget permite al usuario guardar el modelo generado.
Load Model
Con esta opción el usuario puede acceder a modelos generados anteriormente.
23
2.8 Componente Evaluate
Esta componente permite realizar evaluaciones al conjunto de datos. Los widgets de
esta componente son:
Figura 12. Elementos de la componente Evaluate
Test & Score
Este widget hace dos cosas: en primer lugar, muestra una tabla con diferentes medidas
de rendimiento del clasificador, como la precisión de clasificación y el área bajo la
curva. En segundo lugar, emite resultados de evaluación que pueden ser utilizados por
otros widgets para analizar el rendimiento de clasificadores como; ROC Analysis o
Confusion Matrix.
Predictions
Este widget recibe un conjunto de datos y uno o más predictores (clasificadores), genera
los datos y las predicciones.
Confusion Matrix
La matriz de confusión muestra la proporción de número de instancias entre la clase
predicha y la real, y la selección de los elementos. De esta manera, se puede observar
24
qué instancias específicas fueron clasificadas erróneamente y cómo el widget
normalmente obtiene los resultados de la evaluación Test & Score.
ROC Analysis
Este widget muestra las curvas ROC para los modelos probados y el casco convexo
correspondiente. Sirve como medio de comparación entre los modelos de clasificación.
La curva traza una tasa de falsos positivos en el eje X contra una tasa verdadera positiva
en el eje Y. Cuanto más cerca de la curva sigue el borde izquierdo y luego el borde
superior del espacio ROC, más preciso será el clasificador. Dados los falsos positivos y
falsos negativos, el widget también puede determinar el clasificador óptimo y el umbral.
Lift Curve
La curva de elevación muestra la relación entre el número de instancias que se
predijeron como positivas y que realmente son positivas, y por tanto, mide el
rendimiento de un clasificador elegido contra un clasificador aleatorio. El gráfico se
construye con el número acumulativo de casos sobre el eje X y el número acumulativo
de verdaderos positivos en el eje Y. la curva de elevación se utiliza para segmentar la
población y para determinar el clasificador óptimo y su umbral.
Calibration Plot
El diagrama de calibración traza probabilidades de clase contra las predichas por un
clasificador.
2.9 Componente Unsupervised
Esta componente proporciona algoritmos no supervisados, es decir cuenta con
algoritmos de agrupamiento. Los widgets de esta componente son:
Figura 13. Elementos de la componente Unsupervised
25
Distance File
Con este widget se puede elegir una lista de archivos de distancia gradados previamente,
los carga para posteriormente producir un informe.
Distance Matrix
Este widget crea una matriz de distancia bidimensional, misma que contiene distancias
tomadas por parejas entre los elementos de un conjunto. El número de elementos en el
conjunto de datos define el tamaño de la matriz.
Distance Map
El mapa de distancias visualiza distancias entre objetos. La visualización es la misma
que si se imprimiera una tabla de números, excepto que los números son reemplazados
por puntos coloreados. El usuario puede seleccionar una región del mapa y el widget
emitirá las instancias o atributos correspondientes.
Hierarchical Clustering
Este widget calcula el agrupamiento jerárquico de tipos de atributos de objetos a partir
de una matriz de distancias y muestra un dendrograma correspondiente.
K-Means
Este widget aplica el algoritmo de agrupación K-Means a los datos y genera un nuevo
conjunto de datos en el que se utiliza el índice de clúster como un atributo de clase. El
atributo de clase original si existe, se mueve a atributos meta. También muestra las
puntaciones de los resultados de agrupación para varios k en el widget.
Manifold Learning
Esta técnica encuentra una variedad no lineal dentro del espacio bidimensional superior.
Luego, el widget emite nuevas coordenadas que corresponden a un espacio
bidimensional. Los datos se pueden visualizar con un diagrama de dispersión u otros
widgets de visualización.
26
PCA
Este widget permite calcular la transformación lineal PCA de los datos de entrada.
Produce un conjunto con pesos de instancias individuales o pesos de componentes
principales.
Correspondence Analysis
El análisis de correspondencias CA calcula la transformación lineal CA de los datos de
entrada. Aunque es similar al PCA, CA calcula la transformación lineal en datos
discretos en lugar de en datos continuos.
Distances
Este widget calcula distancias entre filas o columnas en un conjunto de datos.
Distance Transformation
El widget transformación de distancias se utiliza para la normalización y la inversión de
matrices de distancia. La normalización de datos es necesaria para que todas las
variables sean proporcionales entre sí.
MDS
El escalamiento multidimensional es una técnica que encuentra una proyección de
puntos de dimensiones bajas, donde intenta ajustar distancias entre puntos lo más
posible. El ajuste perfecto es típicamente imposible de obtener ya que los datos son de
alta dimensión o las distancias no son euclidianas. Como entrada el widget necesita un
conjunto de datos o una matriz de distancias. El algoritmo mueve iterativamente los
puntos alrededor de una especie de simulación de un modelo físico, el cambio de la
posición del punto en cada intervalo de tiempo corresponde a la suma de las fuerzas que
actúan sobre ella.
Save Distance Matrix
Este widget guarda la matriz de distancias.
27
3. TÉCNICAS DE CLASIFICACIÓN APLICADAS A DATOS
OBTENIDOS POR EL CENTRO DE INVESTIGACIÓN DE
ENERGÍAS ALTERNATIVAS Y AMBIENTE DE LA ESCUELA
SUPERIOR POLITÉCNICA DE CHIMBORAZO (ESPOCH)
3.1 Centro de Energías Alternativas y Ambiente de la ESPOCH
El Grupo de Energías Alternativas y Ambiente (GEAA)
http://190.15.135.179/ceaa_espoch/ trabaja en el área energética y ambiental desde
1995, sin embargo el grupo se legalizó en Julio de 2014 y mediante resolución se unen
el GEAA-ESPOCH y el GEA-FIE para formar el Centro de Energías Alternativas y
Ambiente.
El CEAA de la Facultad de Ciencias de la ESPOCH, forma parte del Servicio Nacional
de Meteorología e Hidrología (INAMHI) de Ecuador, mismo que realiza trabajos de
investigación y desarrollo en el ámbito de la Meteorología e Hidrología Operativa.
Actualmente el INAMHI cuenta con una red de 238 estaciones meteorológicas
distribuidas en todo el país.
La provincia de Chimborazo está situada en la zona 17 sur, en la región interandina y
cuenta con 18 estaciones meteorológicas ubicadas en: Urbina, San Juan, Quimiag,
Tunshi, Alao, Pishillí Yacupungo, Atillo, Multitud, Cumandá Achupallas, Jubal,
ESPOCH, UNACH, Loma de Rasutambo, Rumignokiana, San José de Chocón, San
José de Igualata, Aña Moyocanchi. La información recolectada por los sensores se
almacena en un dataloger y posteriormente migra a un servidor que se encuentra
ubicado en el CEAA.
El CEAA tiene como objetivo desarrollar antecedentes científicos, tecnológicos e
innovadores y los relacionados con el conocimiento ancestral, para la aplicación de
Energías Alternativas y Protección Ambiental.
3.2 Clasificadores
Es la habilidad para adquirir una función que mapee (clasifique) un elementos de dato a
una de entre varias clases predefinidas. Un objeto se describe a través de un conjunto de
características (variables o atributos) { } El objetivo de la tarea de
clasificación es clasificar el objeto dentro de una de las categorías de la clase
{ }
28
Las características o variables elegidas dependen del problema de clasificación. Las
etapas que se emplean en el proceso de clasificación son:
1. Construcción del modelo. Describe el conjunto de clases (predeterminadas)
Cada ejemplo se sabe que pertenece a una clase (etiqueta del atributo clase)
Se emplea un conjunto de ejemplos para la construcción del modelo: conjunto
de entrenamiento.
El modelo obtenido se representa como un conjunto de reglas de clasificación,
árboles de decisión, fórmula matemática, etc.
2. Utilización del modelo. Consiste en validar el modelo
Estimación de la precisión del modelo. Se emplea un conjunto de ejemplos
para la construcción del modelo, se compara la clase determinada por el
modelo con la clase real y se verifica la precisión del modelo.
Entre los principales clasificadores que se emplean en la minería de datos se tiene:
3.2.1 Agrupamiento Clustering
Este clasificador tiene por objetivo dividir objetos caracterizados por
propiedades en clústeres o grupos. Supóngase el conjunto de datos
{ } un subconjunto del espacio real p-dimensional. Cada
{
} se denomina vector característico,
es la j-ésima observación
Ya que los elementos de un clúster deben ser tan similares entre sí como sea posible y a
la vez deben ser tan diferentes a los elementos de otros clústeres como también sea
posible, el proceso se controla por el uso de medidas de similitud basadas en distancias,
es así que la similitud o la diferencia entre dos puntos y pueden interpretarse como
la distancia entre esos puntos.
Cada partición { } puede verse desde dos perspectivas: fuzzy y no
fuzzy, conocida esta última como crisp. Si se desea realizar una partición del conjunto
en clústeres se tendría { } subconjuntos. Para cada uno de estos
subconjuntos se define un conjunto borroso sobre el conjunto universo ,
[ ] que asigna lo que se conoce como grado de pertenencia de cada objeto al
subconjunto . En el caso de conjuntos crisp un objeto se dice que pertenece a un
dado y no pertenece al resto, por el contrario; en el caso de conjunto fuzzy se dice que
un conjunto puede pertenecer a diferentes subconjuntos.
29
3.2.2 Clasificador Bayesiano
La clasificación mediante el algoritmo Bayesiano ofrece la solución óptima de la
probabilidad de pertenencia de cada muestra a todas las clases. Para la evaluación de
esta regla se requiere un conocimiento a priori de la probabilidad y la densidad de las
clases.
De acuerdo a la teoría general de la probabilidad de Bayes, dado el objetivo es asignar
a alguna de las clases existentes. Supóngase que las clases son ; para cada
una de ellas se puede estimar la función de densidad de probabilidad, por lo que para la
observación se trata de determinar la probabilidad a posteriori de que dicha muestra
pertenezca a la clase , misma que se puede calcular por:
( | ) ( | )
∑ ( | )
Donde ) es la función de densidad de probabilidad para la clase .
3.2.3 Vecinos más cercanos (Nearest Neighbours)
El método K-NN (Nearest Neighbours) fue desarrollado por Fix y Hodges (1951). Se
parte de un conjunto de datos previamente etiquetados en la fase de entrenamiento, en la
fase de clasificación se pasa a una nueva muestra, la cual será una de las clases
disponibles en la fase de entrenamiento (Dasarathy y Sánchez, 2000).
Se emplea la clasificación supervisada estimando la distancia de cierto número de
muestras ( vecinos) a la muestra que se pretende clasificar, determinando su
pertinencia a la clase de la que encuentre más vecinos etiquetados, considerando el
criterio de mínima distancia.
Esta técnica es válida solo para datos numéricos, no para clasificadores de textos. En
función del tipo de datos que se desea evaluar, a veces es conveniente utilizar más o
menos vecinos, la primera opción reduce el ruido de clasificación, sin embargo las
clases se hacen muy parecidas, lo cual es inconveniente al momento de decidir la clase a
la que pertenece la muestra evaluada. Es por ello que se aplican reglas que determinan
qué hacer en caso de empate.
El principal problema que se puede presentar en este algoritmo es cuando hay ruido o
los datos contienen características irrelevantes. Una forma de corregirlo es asignando un
peso a las distancias de cada atributo. Dado un conjunto de muestras
{ } con función de distancia , se tiene:
1. Vecino más cercano: localizar la muestra en más cercana a , con
y .
30
2. Rango r: dado un umbral y n punto , no considerará los puntos que
satisfacen .
3.2.4 Vecinos más cercanos Fuzzy (K-NN Fuzzy)
Es una variante de vecinos más cercanos que tampoco necesita conocimiento a priori de
las muestras. Es una estrategia mejorada que utiliza la lógica Fuzzy, de manera que una
condición de bondad evalúa las muestras para que éstas puedan pertenecer a más de una
clase. El conjunto de muestras desconocidas se asocia a cada clase en función de la
distancia a los vecinos conocidos más cercanos a la misma, asignando un grado de
pertenencia que indicará cuánto pertenece la muestra a cada uno de los clústeres.
La idea es asignar una función de distancias desde los vecinos más cercanos, éstos
rodearán la muestra y podrán pertenecer a distintas clases, manteniendo el principio de
K-NN, la decisión se toma con la información extraída de los vecinos más próximos.
El método K-NN Fuzzy genera modelos de clasificación precisos al compararlo con
otros paradigmas utilizados en los problemas de clasificación, y tiene un rendimiento
muy bueno.
3.2.5 Árboles de decisión
Los árboles de decisión son herramientas analíticas empleadas para el descubrimiento
de reglas y relaciones mediante la ruptura y subdivisión sistemática de la información
contenida en el conjunto de datos. El árbol de decisión se construye partiendo el
conjunto de datos en dos (CART) o más (CHAID) subconjuntos de observaciones a
partir de los valores que toman las variables predictoras, después éstos subconjuntos se
vuelven a particionar empleando el mismo algoritmo.
La raíz del árbol es el conjunto de datos inicial, los subconjuntos y subsubconjuntos
conforman las ramas del árbol. El conjunto en el que se realiza una partición se llama
nodo y permite bifurcar en función de los atributos y sus valores. Las hojas del árbol
proporcionan predicciones.
El método CHAID (Chi Squares Automatic Interaction Detector) se emplea cuando el
objetivo es dividir una población en distintos segmentos considerando un criterio de
decisión.
3.3 Clasificación con Orange Canvas
Orange implementa varios algoritmos de clasificación, (Moriana Becerra, 2015) tanto a
nivel alternativo como complementarios, entre los cuales se tiene:
31
Rule Induction (rules)
Support Vector Machines (svm)
K-nearest neighbors (knn)
Naive Bayes classifier (bayes)
Classification trees (tree)
Logistic regression (logreg)
Neural Network Learner (neural)
Orange Canvas cuenta con los siguientes métodos que permiten modificar los
parámetros asociados al clasificador. Se muestran en la figura:
Figura 14. Opciones para modificar parámetros en los clasificadores
Cross validation: la validación cruzada es una técnica utilizada para evaluar los
resultados de un análisis estadístico y garantizar que son independientes de la
partición entre datos de entrenamiento y prueba. En Orange Canvas el algoritmo
divide al conjunto de datos en pliegues (generalmente entre 5 o 10). El algoritmo
se prueba manteniendo ejemplos de un pliegue a la vez, el modelo se induce de
otros pliegues y se clasifican ejemplos del pliegue retenido. Esto se repite para
todos los pliegues.
Random sampling (muestreo aleatorio simple): divide aleatoriamente los datos en
el entrenamiento y el conjunto de pruebas en la proporción fijada por el usuario,
se repite el proceso durante el número especificado de veces.
Leave one out: es similar al cross validation pero tiene una instancia a la vez,
induce el modelo de todos los demás y luego clasifica las instancias presentadas.
Este método es muy estable, fiable pero lento.
32
Test on train data: utiliza todo el conjunto de datos para el entrenamiento y luego
para la prueba; este método siempre da resultados erróneos.
Test on test data: este test permite introducir otro conjunto de datos con ejemplos
de prueba (desde otro archivo o seleccionados en otro widget).
3.4 Aplicación y Análisis de los datos
Los datos empleados en este trabajo fueron proporcionados por el CEAA de la estación
meteorológica Cumandá y corresponden a las variables: temperatura del aire, humedad
relativa, presión barométrica, radiación solar difusa, radiación solar global, temperatura
del suelo y velocidad de viento; mismas que fueron registradas por día y hora (00:00 a
23:00) durante los 12 meses del año 2015. El fichero de datos contiene 92.136
observaciones y las variables son:
VARIABLE DESCRIPCIÓN
DIA Día
MES Mes
AÑO Año
HORA Hora
TEMP Temperatura
HUMREL Humedad Relativa
PREBARO Presión Barométrica
RADIFU Radiación Difusa
RSG Radiación Solar Global
TEMPSU Temperatura del suelo
VV Velocidad de Viento
Preparación de los datos
Para el estudio se eliminaron las variables: DIA, MES AÑO y HORA. Se ha generado
una variable categórica (ESCALA) considerando la hora, bajo las siguientes
restricciones:
Escala-I: horas comprendidas entre las 01:00 y 06:00
Escala-II: horas comprendidas entre las 07:00 y 12:00
Escala-III: horas comprendidas entre las 13:00 y 18:00
Escala-IV: horas comprendidas entre las 19:00 y 00:00
El objetivo del análisis es aplicar las técnicas de clasificación en la base de datos
descrita anteriormente, empleando el programa Orange Canvas y determinar los factores
que caracterizan los grupos horarios propuestos. Los pasos aplicados son los siguientes:
33
Paso 1: Carga del fichero
Cargamos el fichero de datos DATOS.xlsx en el software Orange Canvas. El número de
variables y su tipo se puede ver en la figura:
Figura 15. Carga de fichero de datos
La figura muestra que se han cargado 8376 instancias y 8 atributos. La siguiente figura
muestra un reporte sobre el directorio donde se encuentra el fichero de datos, el nombre
de las variables y el número de observaciones por fila.
Figura 16. Interfaz de Reporte del archivo de datos
34
Mediante el widget Data Table se puede visualizar los datos con los que se trabajó. Se
muestra en la figura:
Figura 17. Base de datos
Paso 2: Selección de la variable objetivo de estudio
Antes de proceder a realizar el estudio es importante seleccionar la variable “objetivo”
(target) respecto a la cual se realiza la clasificación, en nuestro caso seleccionamos la
variable nominal ESCALA fijada anteriormente. La figura muestra el proceso de
selección:
Figura 18: Selección de la variable Objetivo
35
Paso 3: Aplicación de los métodos de clasificación
Se seleccionaron los siguientes métodos:
1) Método Naive Bayes
Para aplicar este método seguimos los siguientes pasos: Data (File) – Model (Naive
Bayes)-Evaluate (Test & Score y Confusion Matrix). La siguiente figura muestra los
widgets empleados y la secuencia de enlaces:
Figura 19. Secuencia clasificador Naive Bayes
1.1) Aplicando Cross validation
Mediante esta opción se obtuvieron los siguientes resultados:
Figura 20. Test & Dcore, Cross validation
En Orange Canvas se pueden determinar los siguientes parámetros:
Classification acccuary (CA): Es la proporción de ejemplos correctamente
clasificados.
36
Precisión y Exactitud: La primera se refiere a la dispersión del conjunto de valores
obtenidos de mediciones repetidas de una magnitud. Cuanto menor es la
dispersión mayor la precisión; y la segunda, se refiere a cuán cerca del valor real
se encuentra el valor medido. En términos estadísticos, la exactitud está
relacionada con el sesgo de una estimación. Cuanto menor es el sesgo más exacta
es una estimación. Estos indicadores de precisión se pueden calcular por:
Precisión:
Exactitud:
Donde:
tp: es el número de verdaderos positivos
tn: es el número de verdaderos negativos
fp: número de falsos positivos
fn: número de falsos negativos
Recall (sensibilidad o exhaustividad): es la proporción de verdaderos positivos
entre todos los casos positivos en los casos. Si su resultado es uno entonces se han
encontrado verdaderos positivos en la base de datos, por lo que no existiría ruido
ni silencio informativo. Por el contrario si su valor es cero los datos no poseen
relevancia alguna. La sensibilidad se calcula por:
Donde sus parámetros se definieron en el inciso anterior.
La figura 20 muestra: la proporción de datos correctamente clasificados (CA=78%), la
proporción de verdaderos positivos entre los casos clasificados como positivos
(Precisión=74.3%) y la proporción de verdaderos positivos entre todos los casos
positivos en los datos (Recall=72.2%).
El software permite visualizar los resultados por clase, teniendo:
37
CLASE CA Precisión Recall
escala-I 0.883 0.747 0.801
escala-II 0.871 0.753 0.722
escala-III 0.905 0.801 0.824
escala-IV 0.901 0.821 0.772
Figura 21. Test & Score por Clase. Cross validation, Naive Bayes
De acuerdo a los resultados obtenidos podemos determinar que se presentó una mejor
precisión en la clase escala-IV con un 82.1%, seguida por escala-III con 80.1%.
Matriz de Confusión
La matriz de confusión permite la visualización del desempeño de un algoritmo que se
emplea en aprendizaje supervisado. Las columnas representan el número de
predicciones de cada clase, mientras que cada fila representa las instancias en la clase
real.
La matriz de confusión (Figura 22) indica que de los 2094 datos del grupo escala-I,
1678 se clasificaron correctamente, 398 se han clasificado en escala-II y 18 en escala-
38
IV. Además; 1511 de escala-II, 1726 de escala-III y 1617 de escala IV también se han
clasificado correctamente dentro de sus respectivos grupos con igual número de datos.
Figura 22. Matriz de confusión, Cross Validation
1.2) Aplicando Random Sampling
Mediante este método el fichero de datos se divide en dos, con un porcentaje de 66%, la
figura 23 muestra el proceso de aplicación:
Figura 23. Test & Score, Random Sampling
Mediante este método podemos determinar que la proporción de datos correctamente
clasificados es de 77.8%, con una precisión del 75% y un Recall del 77.8%.
39
Por clase se obtuvieron los siguientes resultados:
CLASE CA Precisión Recall
escala-I 0.882 0.746 0.802
escala-II 0.869 0.750 0.718
escala-III 0.902 0.798 0.815
escala-IV 0.901 0.819 0.775
Aplicando el método Random sampling; se determinó la mayor precisión en la clase
escala-IV con un 81.9%, seguida por escala-III con 79.8%. Los resultados generales de
la matriz de confusión son:
Figura 24. Matriz de confusión, Random sampling
Se puede observar que el 80.2% de los datos del grupo I se han clasificado
correctamente en ese grupo mismo que corresponde a 28565 observaciones de 35600,
71.8% para el grupo II, el 81.5% y 77.5% para las clases III y IV respectivamente.
1.3) Aplicando Leave one out
Considerando una instancia a la vez se obtuvo como resultado:
40
Figura 25. Test & Score, Leave one out
Aplicando este tipo de muestreo se observa una precisión del 75.2% al aplicar el método
Naive Bayes. Los resultados por clase no se pudieron computar y por tal razón no se
muestran sus resultados. La figura 26 muestra los resultados de la matriz de confusión.
Figura 26. Matriz de confusión, Leave on out
Los resultados de la matriz de confusión son: 79.8% de datos correctamente clasificados
en la primera clase, 72.1%, 82.3% y 77.2% para las clases restantes.
1.4) Aplicando Test on train data
Aplicando este tipo de muestreo se obtuvieron los siguientes resultados:
41
Figura 27. Test & Score, Test on rain data
La precisión del modelo Test on train data es del 75.3% y con una proporción de
correcta clasificación del 77.9%. Por clase se obtuvo:
CLASE CA Precisión Recall
escala-I 0.882 0.747 0.799
escala-II 0.871 0.753 0.721
escala-III 0.904 0.801 0.823
escala-IV 0.900 0.819 0.773
Se pudo determinar que con este modelo la mayor clasificación se presenta en la clase
escala-III con un 90.4% de datos correctamente clasificados, seguido por escala-IV con
un 90%.
Figura 28. Matriz de confusión, Test on train data
42
La figura 28 muestra la matriz de confusión, con el número de datos clasificados
correctamente en cada una de las clases y sus respectivos porcentajes. El mayor número
de datos correctamente clasificados en su respectiva clase corresponde a escala-III con
un 82.3%.
2) Método CN2 Rule Induction
Para aplicar este método seguimos los siguientes pasos: Data (File) – Model (CN2 Rule
Induction)-Evaluate (Test & Score y Confusion Matrix). La siguiente figura muestra los
widgets empleados y la secuencia de enlaces:
Figura 29. Secuencia clasificador CN2 Rule Induction
Con el widget CN2 Rule Induction se tienen las opciones:
Figura 30. Interfaz widget CN2 Rule Induction
43
a. Name, aparece el nombre de la regla de clasificación, en nuestro caso CN2 rule
inducer.
b. Rule ordering (orden de reglas):
Ordered (ordenado), induce reglas ordenadas (lista de decisiones). Mediante
esta opción se encuentran las condiciones de la regla y la clase de la mayoría se
asigna en el encabezado o inicio.
Unordener (no ordenado), induce reglas no ordenadas (conjunto de reglas).
Asigna reglas para cada clase de forma individual considerando los datos
originales.
c. Covering algorithm (algoritmo de cobertura):
Exclusive (exclusivo), cubre una instancia de aprendizaje remueve una
consideración adicional.
Weighted (ponderación), después de cubrir una instancia de aprendizaje,
disminuye su peso y su impacto en las iteraciones adicionales del algoritmo.
d. Rule search (búsqueda de regla):
Evaluation measuer (medida de evaluación), se puede seleccionar:
Entropy (entropía), es una medida de imprevisibilidad del contenido.
Laplace Accuracy
Weighted Relative Accuracy
Beam width (anchura del haz), selecciona la mejor regla y monitorea un
número fijo de alternativas.
e. Rule filtering (filtrado de reglas):
Mínimum rule coverage (cobertura mínima de la regla), cubre un mínimo
número de reglas.
Máximum rule length (longitud máxima de la regla), las reglas encontradas
pueden combinar como máximo el número máximo permitido de selectores.
Default alpha, es test de significación para eliminar las reglas más
especializadas (menos frecuentes aplicables) con respecto a la distribución
inicial de las clases.
Parent alpha, prueba de significancia para eliminar las reglas más
especializadas (con menos frecuencia aplicable) con respecto a la distribución
de la clase padre.
Para el estudio se han considerado los siguientes pasos: Rule ordering (Ordered) -
Covering algorithm (Exclusive) – Rule search (Entropy) y mediante el widget CN2
Rule Viewer se puede descubrir subgrupos, mismos que permiten maximizar la
precisión de la clasificación, los resultados se muestran en la figura:
44
Figura 31. Clasificación de subgrupos mediante la regla CN2 Rule Induction
La figura 31 muestra instancias de los datos filtrados, se obtuvieron 1250 subgrupos
clasificados bajo las condiciones de una regla ordenada, cobertura exclusiva y con
evaluación la entropía.
A través del widget Test & Score y con un muestreo Cross validation se obtuvo una
precisión de 75.5%, la proporción de datos correctamente clasificados es del 79.2% y
una proporción de verdaderos positivos entre todos los casos positivos en los datos del
78.9%, los resultados se muestran en la figura:
Figura 32. Test & Score, CN2 Rule Induction
45
Aplicando los otros tipos de muestreo se obtuvo:
TIPO DE
MUESTREO
CA Precisión Recall
Random
sampling
78.2% 73.2% 80.2%
Test on train
data
100% 100% 100%
De acuerdo a la tabla se puede decir que la clasificación fue óptima cuando se empleó el
método Test on train data.
3) Método K-NN (K-nearest neighbors)
Los vecinos más cercanos es un algoritmo no paramétrico supervisado, que se emplea
para clasificación y regresión. En el primer caso, el objeto es clasificado por un voto
mayoritario de sus vecinos con el objeto asignado a la clase más común entre sus k
vecinos más cercanos. Si k=1 el objeto se asigna a la clase de ese único vecino más
cercano. La figura muestra la secuencia de widgets empleados.
Figura 33. Secuencia clasificador K-NN
Para este clasificador se emplearon 5 vecinos cercanos, una métrica euclidea y como
peso la distancia, se muestra en la figura 34:
Figura 34. Parámetros del método K-NN
46
El resumen de resultados de este clasificador considerando los diferentes tipos de
muestreo se detallan en la tabla:
TIPO DE
MUESTREO
CA Precisión Recall
Cross
validation
78.6% 81.0% 79.7%
Random
sampling
77.9% 80.6% 79.6%
Leave one out 78.5% 80.8% 80.0%
Test on train
data
100% 100% 100%
Los resultados de la matriz de confusión son:
Cross validation
Figura 35. Matriz de confusión, Cross validation
Se puede observar que el mayor porcentaje de datos correctamente agrupados en su
grupo corresponde a escala-I con un porcentaje del 84.1% y el menor es de escala IV
con el 68.7%.
Random sampling
Aplicando este tipo de muestreo se obtienen porcentaje de: 83.9%, 79.6%, 81.3% y 67%
para los 4 grupos de la clase ESCALA, igual que el caso anterior el mayor y menor
porcentaje se presentan en escala I y IV respectivamente. Figura 36.
47
Figura 36. Matriz de confusión, Random sampling
Leave one out
Figura 37. Matriz de confusión, Leave one out
La figura 37 muestra la matriz de confusión, número de instancias correctamente
agrupadas en sus respectivos grupos y el porcentaje al que corresponde la agrupación.
Los resultados son similares a los dos casos anteriores.
Test on train data
En este tipo de muestreo, las clasificaciones se realizan en su totalidad con un 100% de
clasificación correcta en cada una de las clases. Se muestra en la figura 38.
48
Figura 38. Matriz de confusión, Test on train data
4) Tree (árbol)
Este tipo de árbol se construye mediante una poda directa. Usa un algoritmo simple que
divide los datos en nodos por pureza de clase.
Los árboles de decisión tienen varios fines; uno de ellos es la clasificación, permitiendo
descubrir si los datos tienen objetos bien diferenciados que puedan ser interpretados de
manera significativa en el contexto de una teoría sustantiva. El algoritmo para la
construcción del árbol de decisión funciona de la siguiente forma:
Primero, comprueba todas las variables y encuentra una que divide los datos en
subconjuntos que son tan distintos como sea posible, en el caso ideal, el atributo
distinguiría perfectamente entre las clases, en la práctica, trata de llegar tan cerca
como sea posible.
Luego repite la búsqueda del mejor atributo en cada uno de los subgrupos.
El proceso continúa para todos los subgrupos hasta que se cumplan ciertos criterios de
detención:
1. El número de instancias de datos en un grupo es pequeño para dividirlos más.
2. Los subgrupos son lo suficientemente puros (idealmente, todas las instancias
pertenecen a la misma clase, por lo que no hay necesidad de dividirlos más),
3. No hay más características útiles para dividir por el árbol y es demasiado grande.
Los widgets y enlaces empleados para la construcción del árbol de decisión en Orange
Canvas se muestran en la figura:
49
Figura 39. Secuencia para construcción del árbol de decisión
Para la clasificación del árbol de decisión se emplearon los siguientes parámetros:
Figura 40. Parámetros del árbol de decisión
Induce binary tree (Induce el árbol binario), construye un árbol binario.
Min. number of instances in leaves (número de instancias en hojas), el algoritmo
construye 2 hojas por rama.
Do nor aplit subsets smaller than (No divida subconjuntos más pequeños que),
mediante esta opción prohíbe al algoritmo dividir los nodos con menos que el
número dado de instancia.
Unit the maximal tree depth to (Unidad de profundidad máxima del árbol),
limita la profundidad del árbol de clasificación al número especificado de
niveles y nodos.
Classification. Stop when majority reaches (Deténgase cuando se alcance la
mayoría), con esta opción se detiene la división de los nodos después de
alcanzar un umbral de mayoría especificado.
50
Mediante el widget Tree Viewer se puede realizar la visualización del árbol de decisión.
Entre las opciones que tiene están:
Información sobre la entrada de datos
Display:
Zoom, amplia o reduce el tamaño del árbol.
Width, selecciona el ancho del árbol. Los nodos muestran burbujas de
información cuando se ciernen sobre ellos.
Depth, selecciona la profundidad del árbol.
Edge width, selecciona el ancho del borde. Presenta las siguientes opciones:
Fixed, todos los bordes serán de igual ancho.
Relative to root, el ancho del borde corresponderá a la proporción de
instancias en el nodo correspondiente con respecto a todas las instancias de
los datos de entrenamiento. Bajo esta selección, el borde se hará más
delgado y más delgado al atravesar hacia el fondo del árbol.
Relative to parent. Relativo a padre hace que el ancho de borde corresponda
a la proporción de instancias en los nodos con respecto a las instancias en su
nodo padre.
Target class, define la clase de destino y puede ser cambiada.
La aplicación con los datos seleccionados se realizó con las asignaciones dadas por
defecto y con 4 niveles de profundidad. El árbol de decisión se muestra en la figura:
Figura 41. Árbol de decisión
51
De acuerdo al árbol obtenido se puede decir que: si la radiación solar global (RSG) es
mayor que 0.252 entonces predice la presión barométrica (PRESIBARO) dentro de la
case III; esto es, en el horario de 13:00 a 18:00. De similar forma, si la radiación solar
global es menor o igual que 0.252 predice la temperatura (TEMP), en el horario de
01:00 a 06:00 (escala-I). De igual manera se puede interpretar las ramas inferiores del
árbol obtenido.
Los resultados del test se muestran en la tabla:
TIPO DE
MUESTREO
CA Precisión Recall
Cross
validation
82.1% 80.3% 78.4%
Random
sampling
81.7% 80.0% 78.8%
Leave one out 82.3% 80.2% 78.0%
Test on train
data
96.2% 96.4% 94.7%
Los resultados de la matriz de confusión son:
Figura 42. Matriz de confusión, Cross validation
52
Figura 43. Matriz de confusión, Leave one out
Figura 44. Matriz de confusión, Test on train data
5) Random Forest
El bosque aleatorio es una modificación de bagging que construye una larga colección
de árboles no correlacionados y luego los promedia. Permite estimar variables que son
importantes en la clasificación, así como datos perdidos. Cada árbol se construye
considerando el siguiente algoritmo:
1. Sea N el número de casos de prueba, M el número de variables en el clasificador.
2. Sea m el número de variables de entrada a ser usado para determinar la decisión
en un nodo dado; m debe ser mucho menor que M.
3. Se elige un conjunto de entrenamiento para este árbol y el resto se utiliza como
casos prueba para estimar el error.
4. Para cada nodo del árbol, se elige aleatoriamente m variables en las cuales se
basa la decisión. Se calcula la mejor partición del conjunto de entrenamiento a
partir de las m variables.
53
Para la predicción, un nuevo caso es empujado hacia abajo por el árbol. Luego se le
asigna la etiqueta del nodo terminal donde termina. Este proceso es iterado por todos los
árboles en el ensamblado y la etiqueta que obtenga la mayor cantidad de incidencias es
reportada como predicción.
Los resultados del test considerando los diferentes muestreos son:
TIPO DE
MUESTREO
CA Precisión Recall
Cross
validation
84.7% 83.9% 81.1%
Random
sampling
84.7% 83.1% 81.9%
Leave one out 84.9% 83.9% 82.4%
Test on train
data
97.6% 97.4% 96.5%
La matriz de confusión se muestra en la figura:
Figura 45. Matriz de confusión. Cross validation
Se puede observar que el mayor número de datos correctamente agrupados en su grupo
corresponde a escala-III.
54
Figura 46. Matriz de confusión. Leave one out
Figura 46. Matriz de confusión Test on train data
3.5 Conclusiones
Los enlaces y widgets empleados en el estudio se muestran en la figura:
Figura 47. Widgets y enlaces empleados en el estudio
55
Los resultados se resumen en la siguiente tabla:
Clasificador Test de prueba CA(%) Precisión(%) Recall(%)
Naive Bayes
Cross validation 78.0 74.3 72.2
Random sampling 77.8 75.0 77.8
Leave one out 77.9 75.2 72.1
Test on train data 75.3 77.9 72.3
CN2 Rule
Induction
Random sampling 78.2 73.2 80.2
Test on train data 100 100 100
K-NN
Cross validation 78.6 81.0 79.7
Random sampling 77.9 80.6 79.6
Leave one out 78.5 80.8 80.0
Test on train data 100 100 100
Tree
Cross validation 82.1 80.3 78.4
Random sampling 81.7 80.0 78.8
Leave one out 82.3 80.2 78.0
Test on train data 96.2 96.4 94.7
Random
Forest
Cross validation 84.7 83.9 81.1
Random sampling 84.7 83.1 81.9
Leave one out 84.9 83.9 82.4
Test on train data 97.6 97.4 96.5
De la tabla podemos concluir que los clasificadores Naive Bayes, CN2 Rule Induction y
K-NN presentan valores superiores al 75% de instancias correctamente clasificadas. El
árbol de decisión (Tree) y el bosque aleatorio (Random forest) superaron el 80%. Ver
resultados en figuras 48 y 49.
En cuanto a los métodos que permiten modificar los parámetros asociados al
clasificador se pudo determinar que validación cruzada (Cross validation), es el que
presenta mejores resultados en todas las aplicaciones. La mayor precisión se presentó en
el bosque aleatorio
Los resultados del test on train data en los clasificadores CN2 Rule Induction y K-NN
son del 100%, pero no son confiables pues emplean todo el conjunto de datos para el
entrenamiento y luego para la prueba.
La mayor precisión se alcanza en el clasificador bosque aleatorio, con un 83.9%
aplicando validación cruzada, seguido por el muestreo aleatorio simple con un
porcentaje del 83.1% de verdaderos positivos entre los casos clasificados como
positivos. En el mismo caso se determinó que la proporción de verdaderos positivos
entre todos los casos positivos en los casos (sensibilidad) es mayor en el mismo
clasificador.
Se pudo evidenciar que los resultados en los clasificadores mediante los diferentes
métodos no varían en proporciones significativas.
56
Figura 48. Test & Score, Cross validation
Figura 49. Test & Score, Random sampling
57
Figura 50. Test & Score, Leave one out
Figura 51. Test & Score, Test on train data
58
REFERENCIAS
Bastidas P., 2016. Análisis de Rendimiento de Librerías de aprendizaje
automático a través de lenguaje de programación Python para hacer predicciones,
estimaciones y clasificadores. Trabajo de titulación. Universidad Técnica
Particular de Loja.
Piorno G., 2008. Diseño de un nuevo clasificador supervisado para minería de
datos. Trabajo de investigación. Universidad Complutense de Madrid.
García F., 2013. Aplicación de técnicas de Minería de Datos a datos obtenidos por
el Centro Andaluz de Medio Ambiente (CEAMA). Trabajo fin de máster.
Universidad de Granada.
Bustamante A., Martínez A., Espitia J., 2013. Análisis de datos meteorológicos
para identificar y definir el clima en Yopal, Casanare. Rev. Med. No. 25: 85-92.
INAMHI, 2017a. Condiciones Climáticas en Ecuador.
http://186.42.174.231/index.php/clima/cambio-climatico [2015].
INAMHI, 2017b. La Meteorología.
http://www.serviciometeorologico.gob.ec/clima/ [2017].
Stajdohar M., Demsar J., 2013. Interactive Network Exploration with Orange.
Journal of Statistical Software. Volumen 53.
Ho Tin Kam, 1995. Random Decision Forests(PDF). Proceedings of the 3rd
International Conference on Document Analysis and Recognition, Montreal, QC.
Molina J., García J. Técnicas de Minería de Datos basadas en Aprendizaje
Automático. Capítulo 3.
Demsar J., Zupan B., ORANGE: Data Mining Fruitful and Fun. University of
Ljubljana.
Demsar J. 2010. Data Mining. Material for lectures on Data mining at Kyoto
University.
Jovic A., Brkic K., Bogunovic N. An overview of free software tolos for general
data minind. University of Zagreb.
Girija S., Giri M., Shashifhara M., 2013. Naive Bayesian algorithm employed in
health care. International Journal. Volume 3.
Sharma N., Bansal K. 2015. Performance of Data Mining Tools: A Case Study
Base don Classification Algorithms and Datasets. International Journal of
Advance Research in Computer Science and Software Engineering. Volume 5.
Rojas S., Rodríguez N., 2013. Goldenberry: EDA Visual Programming in Orange.
GECCO.
M. Pelikan and H. M¨uehlenbein 1999. The bivariate marginal distribution
algorithm. In R. Roy, T. Furuhashi, andP. Chawdhry, editors, Advances in Soft
Computing. Springer London.