Вы находитесь на странице: 1из 9

Análisis de la calidad de vinos italianos usando un arboles de decisión

Alvaro Pacompia Lerma

Escuela profesional de Ingeniería de Sistemas, Universidad Nacional del Altiplano

Puno, Perú

alvaropacompialerma@hotmail.com

RESUMEN

Este informe trata sobre el uso del árbol de decisión (Decisión Tree Classification),
el cual realiza la clasificación de la base de datos de Wine; se hace el uso de Jupyter
Notebook y de la librería Sklearn. El objetivo principal de este trabajo es la
evaluación de los datos de las instancias de clasificación del árbol de decisión. Los
resultados presentados en este estudio indican que Decision Tree Classification el
realiza una clasificación del 96.29% de exactitud.

PALABRAS CLAVE: Arboles de Decisión, Vino.

ABSTRACT

This report deals with the use of the decision tree (Tree Classification Decision),
which performs the classification of the Wine database; Jupyter Notebook and the
Sklearn library are used. The main objective of this work is the evaluation of the data
of the classification instances of the decision tree. The results presented in this study
indicate that Decision Tree Classification performs a 96.29% accuracy rating.

KEYWORDS: Decision Tree, Wine


INTRODUCCIÓN

El vino es una de las bebidas más valiosas del mundo, abarca en todos los
mercados del mundo. En la antigüedad, la calidad del vino solo estaba
determinados por expertos en vino. Hoy en día cada vez se van automatizando
mediante dispositivos; gracias a estos dispositivos se puede determinar el tipo de
vino o algunas cosas en específico.

La base de datos Vino fue el resultado del análisis químico de vinos cultivados en
la región de Italia, pero derivados de tres cultivos diferentes. Nuestra tarea es hacer
uso de árboles de decisión para su clasificación. El árbol de decisión es un modelo
de predicción, dado un conjunto de datos se fabrican diagramas de construcciones
lógicas, que sirven para representar y categorizar una serie de condiciones que
ocurren de forma sucesiva, para la resolución de un problema.

MATERIAL Y MÉTODOS

Jupyter Notebook

Es un entorno de trabajo web de código abierto, interactivo que permite desarrollar


código en Python de manera dinámica, a la vez que integrar en un mismo
documento tanto bloques de código como texto, gráficas o imágenes. Es un SaaS
utilizado ampliamente en análisis numérico, estadística y machine learning, entre
otros campos de la informática y las matemáticas. [1]

Librerías

Pandas:

Pandas es una biblioteca de código abierto con licencia BSD que proporciona
estructuras de datos de alto rendimiento y fáciles de usar, y herramientas de
análisis de datos para el lenguaje de programación Python. [2]

Matplotlib:

Matplotlib es una biblioteca de trazado 2D de Python que produce cifras de calidad


de publicación en una variedad de formatos de papel y entornos interactivos en
todas las plataformas. Matplotlib se puede usar en los scripts de Python, las
carcasas de Python e IPython, el cuaderno Jupyter, los servidores de aplicaciones
web y cuatro kits de herramientas de interfaz gráfica de usuario. [3]

Scikit-Learn:

Es una biblioteca de aprendizaje automático de software gratuito para el lenguaje


de programación Python. Cuenta con varios algoritmos de clasificación, regresión
y agrupación, que incluyen máquinas de vectores de soporte, bosques aleatorios,
aumento de gradiente, medios K y DBSCAN, y está diseñado para interactuar con
las bibliotecas numéricas y científicas de Python NumPy y SciPy. [4]

Decision Tree Algorithm

El árbol de decisión es un modelo de predicción, dado un conjunto de datos se


fabrican diagramas de construcciones lógicas, que sirven para representar y
categorizar una serie de condiciones que ocurren de forma sucesiva, para la
resolución de un problema; es una estructura de árbol similar a un diagrama de flujo
donde un nodo interno representa una característica (o atributo), la rama representa
una regla de decisión y cada nodo hoja representa el resultado. El nodo superior
de un árbol de decisión se conoce como nodo raíz. [5]

Figura 1: Diagrama de un árbol de Decisión

Fuente: Autor (2019)


Funcionamiento:

Figura 2: Diagrama de un árbol de Decisión

Fuente: Autor (2019)

Dataset

La base de datos del vino es el resultado del análisis químico de los vinos cultivados
en una región de Italia, pero derivados de tres cultivares diferentes. El análisis
determino la cantidad de 13 componentes encontrados en cada tipo de vino.

Información de los Atributos

Los atributos son:

a) Alcohol
b) Ácido málico
c) Ceniza
d) Alcalinidad de la ceniza
e) Magnesio
f) Fenoles totales
g) Flavanoides
h) Fenoles no flavanoides
i) Proantocianinas
j) Intensidad del color
k) Matiz
l) OD280 / OD315 de vinos diluidos
m) Prolina
Todos los atributos son continuos. No hay estadísticas disponibles, pero se
sugiere estandarizar las variables para ciertos usos. [6]

Resumen Estadístico

Tabla 1: Resumen Estadístico de Wine Dataset


Desviación
Atributo Media Mínimo 25% 50% 75% Máximo
Estándar

Alcohol 13.0006180 0.8118270 11.030 12.36250 13.050 13.67750 14.830

Malic acid 2.3363480 1.1171460 0.740 1.60250 1.865 3.08250 5.800

Ash 2.3665170 0.2743440 1.360 2.21000 2.360 2.55750 3.230

Alcalinity Ash 19.4949440 3.3395640 10.600 17.20000 19.500 21.50000 30.000

Magneisium 99.7415730 14.2824840 70.000 88.00000 98.000 107.00000 162.000

Phenols 2.2951120 0.6258510 0.980 1.74250 2.355 2.80000 3.880

Flavanoids 2.0292700 0.9988590 0.340 1.20500 2.135 2.87500 5.080

Nonflavanoid 0.3618540 0.1244530 0.130 0.27000 0.340 0.43750 0.660

Proanthoacyanins 1.5908990 0.5723590 0.410 1.25000 1.555 1.95000 3.580

Color intensity 5.0580900 2.3182860 1.280 3.22000 4.690 6.20000 13.000

Hue 0.9574490 0.2285720 0.480 0.78250 0.965 1.12000 1.710

OD 2.6116850 0.7099900 1.270 1.93750 2.780 3.17000 4.000

Proline 746.8932580 314.9074740 278.000 500.50000 673.500 985.00000 1680.000

Fuente: Autor (2019)


Salidas:

Tabla 02: Salidas

# Tipo de Vino Cantidad Peso


1 Vino 1 59 59
2 Vino 2 71 71
3 Vino 3 48 48

Fuente: Autor (2019)

Heat Map:

Figura 3: Heat Mapa


Fuente: Heat Map Jupyter Notebook (Autor)

Tabla con valores específicos para la red neuronal de clasificación del vino

Tabla 03: Valores para la clasificación del árbol

Entropy
Criterion
Gini
0.25
Test Train (%)
0.30
Min Samples Split 20
Min Samples Leaf 5
Test Size 25%

Fuente: Autor (2019)


RESULTADOS Y DISCUSIÓN

La clasificación del Dataset Wine, se realizó usando el algoritmo Decision Tree


Classification de Sklearn.

Pruebas:

Tabla 04: Pruebas

Test Train Max


Criterion Accuracy F1 Score Recall
(%) Depth

Entropy 1 0.533333333333333 0.372486772486772 0.533333333333333


Entropy 2 0.955555555555556 0.955850727387729 0.955555555555556
Entropy 3 0.955555555555556 0.955850727387729 0.955555555555556
Entropy 4 0.933333333333333 0.933173919974494 0.933333333333333
Entropy 5 0.933333333333333 0.933173919974494 0.933333333333333
0.25
Gini 1 0.666666666666667 0.615415415415415 0.666666666666667
Gini 2 0.844444444444444 0.841994936112583 0.844444444444444
Gini 3 0.933333333333333 0.933280640421543 0.933333333333333
Gini 4 0.933333333333333 0.933280640421543 0.933333333333333
Gini 5 0.933333333333333 0.933280640421543 0.933333333333333
Entropy 1 0.592592592592593 0.445009232106006 0.592592592592593
Entropy 2 0.944444444444444 0.944141385140524 0.944444444444444
Entropy 3 0.962962962962963 0.963055648240833 0.962962962962963
Entropy 4 0.944444444444444 0.944141385140524 0.944444444444444
Entropy 5 0.944444444444444 0.944141385140524 0.944444444444444
0.3
Gini 1 0.629629629629630 0.560473477140144 0.629629629629630
Gini 2 0.870370370370370 0.867694719546571 0.870370370370370
Gini 3 0.944444444444444 0.944375857338820 0.944444444444444
Gini 4 0.944444444444444 0.944375857338820 0.944444444444444
Gini 5 0.944444444444444 0.944375857338820 0.944444444444444

Fuente: Autor (2019)

 Mejor Resultados:
o Criterion Entropy para un árbol de decisión un máximo de 3 de
profundidad; con 0.30% de Datos de Entrenamiento
 Accuracy
0.962962962962963
Salida:

Figura 4: Diagrama del árbol de Decisión

Fuente: Autor (2019)

Tabla 05: Salida

Correctly Classified Instances 52 96.29%


Incorrectly Classified Instances 2 3.71%

Fuente: Autor (2019)

Matriz de Confusión:

Tabla 06: Matriz de confusión


A B C <-- clasificacion
18 1 0 a=1
0 21 1 b=2
0 0 13 c=3

Fuente: Autor (2019)

18 + 21 + 13
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = × 100%
18 + 1 + 20 + 1 + 13

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝟗𝟔. 𝟐𝟗%


CONCLUSIONES

En conclusión, esta investigación se realizó en base a arboles de clasificación para


la base de datos del Vino; se hizo el uso del Decisión Tree Classification de Scikit-
Learn para ver cuál era la clasificación que lograba, que exactitud, siendo así que
el modelo llega a tener una exactitud del 96.29 % cabe mencionar que esto se logra
con un max de 3 de profundidad del árbol y con test train del 30 %, esto se
determinó en base a pruebas, puesto que al aumentar el número de profundidades
la exactitud tiende a decrecer un mínimo.

REFERENCIAS

[1] Jupyter, «Jupyter,» [En línea]. Available: https://jupyter.org/. [Último acceso:


04 Junio 2019].

[2] Pandas, «Python Data Analysis Library,» [En línea]. Available:


https://pandas.pydata.org/. [Último acceso: 06 Junio 2019].

[3] Mathplotlib, «Mathplotlib,» [En línea]. Available: https://matplotlib.org/. [Último


acceso: 06 Junio 2019].

[4] Scikit-Learn, «Scikit-Learn,» [En línea]. Available: https://scikit-


learn.org/stable/. [Último acceso: 05 Junio 2019].

[5] P. N. Stuart Russell, Inteligencia Artificial Un Enfoque Moderno, Madrid:


Pearson Education, 2004.

[6] U. M. L. Repository, «Wine Data Set,» 01 Julio 1991. [En línea]. Available:
https://archive.ics.uci.edu/ml/datasets/Wine. [Último acceso: 06 Mayo 2019].

Вам также может понравиться