GRUPO 6 PAF MachineLearning
GRUPO 6 PAF MachineLearning
GRUPO 6 PAF MachineLearning
INTENGRANTES:
Docente:
Asignatura:
MACHINE LEARNING
CICLO:
VI
2021 – Perú
RESUMEN
En el presente trabajo describe como a través del machine learning se puede analizar
si un automóvil es accesible o no a raíz de sus características, como una forma de
ayudar al comprador o conductor de autos ya que estos se basan usualmente en el
precio, la seguridad o lo espacioso que es el coche.
El data set elegido tiene un conjunto de datos de evaluación de coches los cuales el
grupo consideró eficientes para la realización del presente trabajo. La página web que
contiene la data set se denomina UC Irvine Machine Learning Repository, un
repositorio con una amplia cantidad de bases de datos.
El trabajo está estructurado de tal forma que se presenta la introducción la cual incluye
el caso de estudio donde se describen los pasos con los cuales se seleccionó, su
utilidad y la contribución a la sociedad que este brinda, seguidamente del contexto del
proyecto donde se describe el caso seleccionado, asimismo se presentan los
resultados los cuales cuentan con la identificación de atributos, la identificación de
etiquetas de clasificación y regresión para en entrenamiento y prueba del dataset.
Finalmente, se presenta la implementación de un programa con interfaz gráfica
realizado en Java donde se vincula con Weka para realizar el aprendizaje de máquina
de acuerdo a los diferentes clasificadores para obtener los mejores resultados y
métricas.
INTRODUCCIÓN
En la actualidad diferentes sectores están trabajando con machine learning
como por ejemplo el informático, corporativo, salud, transporte, entre otros. Se ha
encontrado la solución a la tarea de aprendizaje y predicción en esta disciplina
procedente de la inteligencia artificial. Roman (2019) lo define como “la ciencia que
permite que las computadoras aprendan y actúen como lo hacen los humanos,
mejorando su aprendizaje a lo largo del tiempo de una forma autónoma,
alimentándolas con datos e información en forma de observaciones e interacciones
con el mundo real.” Es una herramienta que captura la información (Big data) con el
objetivo de mejorar el análisis de datos y rendimiento de modelos predictivos,
realizando una predicción futura a través de la implementación de nuevos sistemas o
mejorando los ya existentes.
Respecto a la definición de lo que es una big data, cito lo dicho por la Institución
Universitaria Esumer quien refiere “El big data se ha definido como un activo de
información de alto volumen, alta velocidad y alta variedad, que exigen formas
rentables e innovadoras de procesamiento de la información para una visión mejorada
y la toma de decisiones” Por lo tanto, el Big Data consiste en un proceso que analiza e
interpreta grandes volúmenes de datos, tanto estructurados como no estructurados.
Caso de Estudio
La evolución de la creación de autos ha sido muy demandante para la
sociedad, ya que muchas personas optan para la compra de autos para que
puedan transportarse. Según Pérez (2016), nos menciona que “en la actualidad
existe una gran variedad de automóviles, por lo cual, el usuario pueda elegir
aquel que mejor le sea agradable y adaptable para su gusto.”
Toda persona para que pueda realizar su compra de un determinado auto que
se adapte a su gusto, necesita saber si puede ser accesible, el peso que puede
soportar, el lujo del carro, entre otros; hace que necesite conocer de todo tipo
de carro que le brindan las industrias que exportan dichos automóviles.
Figura 1: Automóvil
Fuente: https://archive.ics.uci.edu/ml/assets/MLimages/Large19.jpg
1.2.
1.3. Transformación
1. Seleccionamos el filtro a usar (RenameAttribute)
2. Damos clic en el atributo, y configuramos sus características de
dicho filtro.
3. Antes de aplicar el filtro con los nuevos datos, verificamos como está
actualmente la dataset.
2.3. Transformación
1. Seleccionamos el filtro a usar (StringToNominal)
2. Damos clic
en el atributo, y configuramos sus características de dicho filtro.
3. Antes de aplicar el filtro con los nuevos datos, verificamos como está
actualmente la dataset.
numeroPuertas
capacidadPersonas
4.
capacidadPersonas
Al aplicar el filtro StringToNominal, ha permitido mostrar los
atributos que anteriormente estaban convertidos en cadena y no se
podían visualizar, recordemos que Weka solo muestra los atributos
que sean de tipo numérico y nominal.
La imagen muestra datos del dataset que son en total 1728, en el cual se tiene
7 atributos, esta ha sido implementada con filtros ya mencionados, lo cual se
tiene que dividir al azar los ejemplos y de esta manera obtener el dataset de
entrenamiento, prueba y validación (donde se puede trabajar la proporción 60,
20, 20).
Primeramente, se tiene los datos sin trabajar y de manera ordenada según el
dataset en el que se ha decidido trabajar.
Total, de datos con los cuales se va a trabajar para obtener nuestras muestras.
Se aplica el filtro RemovePercentage, la cual tiene como función remover el
40% del dataset, lo cual demostrará que podemos con el 60% de datos que
servirá para el entrenamiento.
Después de haber aplicado el filtro se tiene el 60% de los datos los cuales
serán usados en el entrenamiento, con un total de 1037
Posteriormente se activa en true la opción de inverSelect, donde invierte a los
ejemplos que ya han sido seleccionados en primera instancia y muestra los
datos restantes.
En esta parte se ha logrado obtener un 20% del total de datos, los cuales van a
servir para la validación.
Comparación de las tres dataset, el primero que representa el entrenamiento,
el segundo la prueba y el final la validación con la que se trabaja.
Programa para entrenamiento y prueba.
REGRESIÓN LOGÍSTICA
Total,
Total, tiempo
Algoritmo uso de Exactitud Precisión Recall F-Measure AUC
de ejecución
CPU
Regresión
10% 1.98 s 94.79 0.97 0.955 0.96 0.99
Logística
447.0 - 19.0 - 2.0 - 0.0 -
Matriz de 15.0 - 141.0 - 3.0 - 9.0 -
confusión 0.0 - 2.0 - 22.0 - 3.0 -
0.0 - 9.0 - 1.0 - 18.0 -
Total,
Tasa de Total, tiempo
Algoritmo Función Tamaño uso de Exactitud Precisión Recall F-Measure AUC
aprendizaje de ejecución
CPU
Red neuronal
0.1 - [5,3] 20% 4.27 s 625.0 0.993 0.982 0.988 0.987
1
Red neuronal
1 - [3,4,2] 35% 4.84 s 619.0 0.987 0.97 0.98 0.986
2
Red neuronal
0.001 - [2,2] 15% 3.99 s 601.0 0.97 0.96 0.96 0.988
3
460.0 - 8.0 - 0.0 - 0.0 - 456.0 - 12.0 - 0.0 - 0.0 - 448.0 - 20.0 - 0.0 - 0.0 -
Matriz de 3.0 - 165.0 - 0.0 - 0.0 - 5.0 - 163.0 - 0.0 - 0.0 - 15.0 - 153.0 - 0.0 - 0.0 -
confusión 0.0 - 27.0 - 0.0 - 0.0 - 1.0 - 26.0 - 0.0 - 0.0 - 0.0 - 27.0 - 0.0 - 0.0 -
0.0 - 28.0 - 0.0 - 0.0 - 0.0 - 28.0 - 0.0 - 0.0 - 0.0 - 28.0 - 0.0 - 0.0 -
SVM
Tabla 3: Resultados del clasificador SVM.
Total, Total,
Algoritmo Kernel uso de tiempo de Exactitud Precisión Recall F-Measure AUC
CPU ejecución
468.0 - 0.0 - 0.0 - 0.0 - 444.0 - 23.0 - 0.0 - 1.0 - 431.0 - 37.0 - 0.0 - 0.0 -
145.0 - 23.0 - 0.0 - 0.0 - 11.0 - 147.0 - 1.0 - 9.0 - 4.0 - 160.0 - 1.0 - 3.0 -
6.0 - 21.0 - 0.0 - 0.0 - 0.0 - 5.0 - 22.0 - 0.0 - 0.0 - 6.0 - 21.0 - 0.0 -
24.0 - 4.0 - 0.0 - 0.0 - 0.0 - 14.0 - 1.0 - 13.0 - 0.0 - 20.0 - 3.0 - 5.0 -
Matriz de
confusión
467.0 - 1.0 - 0.0 - 0.0 -
77.0 - 91.0 - 0.0 - 0.0 -
3.0 - 24.0 - 0.0 - 0.0 -
2.0 - 26.0 - 0.0 - 0.0 -
BAYESIANO
Tabla 4: Resultados del clasificador Bayesiano.
Para este
Naive Bayes algoritmo se utilizó 13% 0.017 s 89.29 0.92 0.91 0.92 0.97
un K-fold de 10
Para este
BayesNet algoritmo se utilizó 25% 0.54 s 89.0 0.92 0.91 0.92 0.97
un K-fold de 30
429.0 - 39.0 - 0.0 - 0.0 - 428.0 - 40.0 - 0.0 - 0.0 -
Matriz de 35.0 - 129.0 - 0.0 - 4.0 - 36.0 - 126.0 - 0.0 - 6.0 -
confusión 0.0 - 16.0 - 11.0 - 0.0 - 0.0 - 10.0 - 17.0 - 0.0 -
0.0 - 23.0 - 1.0 - 4.0 - 0.0 - 23.0 - 1.0 - 4.0 -
ÁRBOL DE DECISIÓN
Tabla 5: Resultados del clasificador de Árbol de Decisión.
Total,
Total, tiempo
Algoritmo Descripción uso de Exactitud Precisión Recall F-Measure AUC
de ejecución
CPU
Para este
algoritmo se
RandomForest 25% 0.46 s 95.66 0.97 0.96 0.97 0.99
utilizó un K-fold
de 10
Para este
algoritmo se
J48 9% 0.08 s 91.03 0.94 0.92 0.93 0.96
utilizó un K-fold
de 10
451.0 - 16.0 - 1.0 - 0.0 - 431.0 - 34.0 - 2.0 - 1.0 -
Matriz de 13.0 - 147.0 - 2.0 - 6.0 - 23.0 - 134.0 - 7.0 - 4.0 -
confusión 0.0 - 3.0 - 22.0 - 2.0 - 2.0 - 6.0 - 16.0 - 3.0 -
0.0 - 13.0 - 2.0 - 13.0 - 0.0 - 19.0 - 3.0 - 6.0 -
Finalmente, se muestran los mejores resultados de los clasificadores realizados anteriormente, es decir se muestran los mejores desempeños
en base al aprendizaje automático, donde se obtuvo lo siguiente:
Tabla 6: Resumen de los mejores resultados de los clasificadores.
Total,
uso Total, tiempo
Algoritmo Descripción Exactitud Precisión Recall F-Measure AUC
de de ejecución
CPU
Precisión
Exactitud
ca al M no i ón
sti ron SV ia cis
gí eu es
Lo N ay De
n d B de
e s ió Re bol
gr Ár
Re
0.99
0.985
0.98
0.975
0.97
0.965
0.96
0.955
0.95
0.945
Regresión Red Neuronal SVM Bayesiano Árbol de
Logística Decisión
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
Regresión Red Neuronal SVM Bayesiano Árbol de
Logística Decisión
30%
25%
20%
15%
10%
5%
0%
Regresión Red Neuronal SVM Bayesiano Árbol de
Logística Decisión
Figura 9: Gráfico comparativo del uso total del CPU de los Algoritmos
Fuente: Elaboración Propia
CONCLUSIONES
- El software Weka nos permite aplicar una gran variedad de filtros sobre los
datos de nuestra dataset, lo cual nos brinda la capacidad de realizar cualquier
tipo de transformación sobre ellos, desde cambiar el valor o nombre de un
atributo hasta ordenarlos según un criterio determinado.
- La inteligencia artificial está siendo importante para las industrias, el cual esta
rama de la IA, es importante para dar aprendizaje automático a las
computadoras y pueda apoyar a las personas en su labor.
Institución Universitaria Esumer (2018). Big data y los nuevos manejos de información.
Extraído de http://repositorio.esumer.edu.co/bitstream/esumer/1905/1/BIG
%20DATA.pdf
Roman, V. (2019). Introducción al Machine Learning: Una Guía Desde Cero. Extraído
de https://medium.com/datos-y-ciencia/introduccion-al-machine-learning-una-
gu%C3%ADa-desde-cero-b696a2ead359