1. An´alise da Qualidade do Vinho(Wine Quality)
Aristidis de Jesus Ornai
Universidade de ´Evora
m6463@alunos.uevora.pt
Resumo
A qualidade do vinho ´e essencial no crescimento econ´omico do produto numa f´abrica. Nenhuma
f´abrica deixa de pensar que o seu produto ´e melhor do que os da concorrˆencia. Muitas vezes n´os n˜ao
seremos capaz de provar um vinho antes de comprar, mas a informac¸˜ao est´a dispon´ıvel nos r´otulos
do vinho para ajudar a decidir, mas vamos precisar de uma certa quantidade de conhecimento sobre
os produtores. Pode-se perguntar o que ´e que faz existir um vinho de melhor qualidade do que o
outro? Tecnicamente, a qualidade do vinho tem dois principais factores que s˜ao a viticultura, que ´e
a forma que as uvas s˜ao cultivadas e vinificac¸˜ao, que ´e como eles s˜ao posteriormente transformados
em vinho.
Nos sistemas de classificac¸˜ao de qualidade dentro da Uni˜ao Europeia existe alguma orientac¸˜ao,
por exemplo,o Country Wine e o Table Wine. A comparac¸˜ao entre os dois, o Country Winequality
deve ser de melhor qualidade do vinho de Tabel Wine devido `as leis de produc¸˜ao de vinho. Em regra
geral, quanto maior a escala de qualidade, melhor o vinho deve ser. Como acontece em qualquer
ind´ustria, sempre haver´a variac¸˜ao nos produtos, aqueles que se orgulham do seu produto em produzir
vinho excepcional na categoria de qualidade e aqueles que fazem apenas o suficiente para permanecer
dentro dos seus limites. Vinhos produzidos fora da Europa n˜ao est˜ao sujeitos a um controlo muito
rigoroso, torna-se mais def´ıcil para o consumidor identificar os melhores vinhos. Forc¸as do mercado,
ou seja, o prec¸o ´e frequentemente ´e o ´unico guia, estabelecendo se o produtor de vinho tem uma boa
reputac¸˜ao. Muitas vezes os vinhos feitos a partir de boa qualidade.
O objectivo deste artigo ´e investigar e comparar v´arias classificac¸˜oes num conjunto de dados da
qualidade do vinho(Wine Quality). O Weka(Waikato Environment for Analysis Knowledge) vers˜ao
3.6 baseando em java, ´e a ferramenta utilizada. A comparac¸˜ao de algoritmos ter´a como base o valor
m´edio de precis˜ao e recall, bem como o tempo necess´ario para construir a velocidade do tempo na
escolha do modelo. Os algoritmos utilizados s˜ao: Naive bayes, LibSVM, IBK, JRip, OneR e J48.
No fim conclui-se que o algoritmo que tem um desempenho superior ´e o IBK.
1 Introduc¸˜ao
Baseia-se no artigo Vitivinicultura-Diagn´ostico Sectorial, hist´oricamente, os vinhos portugueses sempre
caracterizaram-se por uma grande variedade de uvas regionais, o que d´a um sabor especial ao produto
de cada regi˜ao. Na perspectiva de desenvolvimento, Portugal ´e um pa´ıs com um precioso potencial para
a produc¸˜ao de vinhos de qualidade, onde crescem as boas condic¸˜oes clim´aticas e geol´ogicas. No ano
de 2008/2009 os vinhos com denominac¸˜ao de origem protegida representam 74% da produc¸˜ao total.
Em grande parte, este valor ficou a dever-se ao peso que os vinhos do Porto detˆem nesta categoria.
A tendˆencia no peri´odo 2000-2009 tem sido de estabilizac¸˜ao em todos os tipos de vinhos produzidos
em Portugal. Por exemplo, falando-se de vinho do Porto, importa assinalar que no ano 2000-2005 o
vinho licoros com a designac¸˜ao de origem protegida Porto registou um ligeiro decr´escimo em mat´eria
de produto exportado, em volume e em valor, tendˆencia esta que se manteve at´e ao ano 2009. Todavia,
no ano de 2010, as exportac¸˜oes no Douro crescerem 10% no primeiro semestre. Com esse produto,
podemos manter e aumentar com o suporte de investimento em novas tecnologias, para obter a sua maior
qualidade de crescimento no mercado econ´omico.
Este artigo de qualidade do vinho ´e modelado numa abordagem de classificac¸˜ao que preserva a
ordem da notas. O conjunto de dados do vinho tem um total de 4898 instˆancias, com 11 atributos mais
o atributo de output. A implementac¸˜ao desses dados ´e testar e comparar o desempenho entre v´arios
algoritmos diferentes.
1
2. Aristidis Jesus
Tabela 1: Nome de atributo, Valor e Tipo
Atributos Valor Tipo
FixedAcidity [4.6,15.9] REAL
VolatileAcidity [0.12,1.58] REAL
CitricAcid [0.0,1.0] REAL
ResidualSugar [0.9,15.5] REAL
Chlorides [0.012,0.611] REAL
FreeSulfurDioxide [1.0,72.0] REAL
TotalSulfurDioxide [6.0,289.0] REAL
Density [0.99007,1.00369] REAL
PH [2.74,4.01] REAL
Sulphates [0.33,2.0] REAL
Alcohol [8.4,14.9] REAL
2 Dados
2.1 Os Tipos de Dados
O conjunto de dados da qualidade do vinho est´a dispon´ıvel no Machine Learning Repository-UCI. Estes
dados s˜ao p´ublicos e dispon´ıveis para pesquisa, criado pelos seguintes autores: Paulo Cortez(Univ.
Minho), Ant´onio Cerdeira, Fernando Almeida, Telmo Matos e Jos´e Reis no ano de 2009 em Porto-
Portugal. Baseando-se na referˆencia (UCI), criaram dois conjuntos de dados que s˜ao amostras do Red
wine e White wine. Nesses dados existem 4898 instˆancias e nenhum dos valores s˜ao perdidos. A tabela
1 construida com 11 atributos que foram identificados como vari´avel input baseado em physicochemical
e mais uma vari´avel de output baseando em dados sensoriais. O quality ´e uma vari´avel de output, uma
classe em que o valor varia de 0 a 10, o que na p´r´atica vai variar de muito ruim (0) a excelente (10). As
classes s˜ao ordenadas e n˜ao balanceadas, no exemplo, a maioria dos dados s˜ao normais (4, 5 0u 6).
Os dados s˜ao discretos, isto significa que cont´em um n´umero finito de valores sem continuidade entre
eles que ´e suportado por todos os tipos de dados de minerac¸˜ao de dados. A informac¸˜ao sobre os atributos
no conjunto de dados ´e mostrado na tabela 1.
2.2 Citac¸˜oes das Referˆencias
O conjunto de dados obtido sobre a Qualidade do Vinho foi nos dado pelos autores, Paulo Cortez, juliana
Teixeira, Ant´onio Cerdeira, Fernando Almeida, Telmo Matos e Jos´e Reis no Departamento de Sistemas
de Informac¸˜ao / Algoritmi Center, Universidade do Minho, 4800-058 Guimar˜aes-Portugal. O tema es-
colhido foi ”Using Data Mining for Wine Quality Assessment“ utilizando v´arios modelos como por
exemplo: Multiple Regression(MR), Neural Networks(NN) e Support Vector Machines(SVM).
Michal Hor´ak, Semestral Work, course 336VD-CZECH TECHNICAL UNIVERSITY IN PRAGUE,
2009/2010 escreveu o artigo: ”Prediction of wine quality from physicochemical properties”. A ferra-
menta utilizada pelo autor neste artigo foi o Matlab-version 7.9.0.529(R2009b), e o algoritmo de ´arvore
da regress˜ao.
3 Descric¸˜ao dos Algoritmos
As organizc¸˜oes necessitavam de melhorar os m´etodos para armazenar os dados, que veio a ser conseguido
com o progresso tecnol´ogico, nomeadamente a evoluc¸˜ao dos sistemas de recolha e armazenamento de
dados. Um dos m´etodos utilizados que satisfazeram essas necessidades ´e a minerac¸˜ao de dados, que ´e
2
3. Aristidis Jesus
uma tecnologia que combina m´etodos de an´alise tradicionais com algoritmos sofisticados para processar
grandes volumes de dados.
3.1 Naive Bayes
A classificac¸˜ao bayesiana, ou classificac¸˜ao de Naive Bayes, baseia-se no “Teorema de Bayes“ que
pode ser usado para prever a probabilidade de pertencer a uma classe. A partir dos resultados obti-
dos, concluiu-se que este algoritmo, tal como o IBK e o OneR, tˆem o melhor tempo de execuc¸˜ao, mas,
em relac¸˜ao aos outros parametros, j´a n˜ao se revela t˜ao bom. Segundo essa classificac¸˜ao pode-se as-
sumir que o efeito do estatuto de uma determinada classe ´e independente dos valores de outros atributos.
Esta suposic¸˜ao costuma ser chamada de classe condicional independente que foi feita para simplificar os
calculos em quest˜ao.
3.2 LibSVM
LibSVM ´e uma biblioteca para o Support Vector Machines(SVM). SVM ´e um modelo preditivo,pois
prevˆe o futuro com cen´arios que foram dados. Usando dados hist´oricos faz-se a previs˜ao dos dados para
o treinamento e dos dados para testes. Na previs˜ao, utiliza-se a classificac¸˜ao SVM, ou a regress˜ao. O
conceito b´asico do algoritmo SVM ´e a separac¸˜ao de classes, em essencial, SVM encontra uma hyperplane
que separa o campo ideal entre as duas classes, maximizando a margem entre o ponto mais pr´oximo da
classe.
3.3 IBK
O m´etodo K-Nearest Neighbor ´e um m´etodo para a classificac¸˜ao de objetos, baseado na proximidade de
dados ao objecto, de acordo com o n´umero de vizinhos mais pr´oximos ou o valor de k. Esta classificac¸˜ao
K-Nearest Neighbor ´e feito atrav´es de pesquisa dos dados de teste e selecionando a classe com a maioria
dos membros. Vizinhos pr´oximos ou distantes s˜ao geralmente calculadas com base na distˆancia euclidi-
ana.
3.4 JRip
O algortimo JRip ou IREP integra a simplificac¸˜ao de ´arvores pela reduc¸˜ao do erro atrav´es da t´ecnica
dividir-para-conquistar. Este algoritmo possui um conjunto de regras que s˜ao testadas uma por vez.
Depois que uma regra ´e encontrada, todos os exemplos que s˜ao cobertos por ela s˜ao eliminados. Este
processo ´e repetido at´e que n˜ao existam exemplos corretamente classificados, ou at´e que a regra encon-
trada pelo IREP (Incremental Reduced Erro Prunning) possua um erro inaceit´avel. Ele ´e uma variac¸˜ao
do REP (Reduced Error Pruning) ou algoritmo de poda pela reduc¸˜ao do erro.
3.5 OneR
Este algoritmo ´e uma das formas mais elementares de encontrar regras muito simples a partir de um
conjunto de instˆancias. O m´etodos OneR gera uma ´arvore de decis˜ao de apenas um n´ıvel, que ´e expressa
atrav´es de um conjunto de regras que testa apenas um atributo em particular. ´E um m´etodo simples,
econ´omico e frequentemente obt´em boas regras para caracterizar a estrutura de dados. Muitas vezes a
estrutura dos registros ´e simples, tornando um ´unico atributo capaz de classificar uma instˆancia com um
bom n´ıvel de precis˜ao. Mesmo que isto n˜ao acontec¸a, ´e sempre bom comec¸ar os testes pelos m´etodos
mais simples. Utiliza-se o atributo do m´ınimo-erro para a predic¸˜ao ou uma t´ecnica de simplificac¸˜ao de
´arvores que melhoram erros em conjuntos de dados com ru´ıdos.
3
4. Aristidis Jesus
Tabela 2: Avaliac¸˜ao da matriz de custos
A B C D E F
A 0 1 2 3 4 5
B 1 0 1 2 3 4
C 2 1 0 1 2 3
D 3 2 1 0 1 2
E 4 3 2 1 0 1
F 5 4 3 2 1 0
Tabela 3: Comparac¸˜ao de percentagem correcto
Dataset Naive Bayes LibSVM IBK JRip OneR J48
Winequality 60.67 68.41 v 75.85 v 67.52 v 36.68 * 70.15 v
(v/ /*) (1/0/0) (1/0/0) (1/0/0) (0/0/1) (1/0/0)
3.6 J48
O algoritmo ´arvore de decis˜ao ´e amplamente usado para os problemas de classificac¸˜ao. O algoritmo
usado na ´arvore de decis˜ao J48 ´e uma variante do C45 que foi utilizado em linguagem de programac¸˜ao
java. J48 serve para verificar o ganho de informac¸˜ao que tem sido normalizado para produzir um atributo
selecionado e selecionar os dados. ´Arvore de decis˜ao ´e tamb´em um dos m´etodo de classificac¸˜ao que
utiliza uma representac¸˜ao em estrutura de ´arvore (´arvore) e a sua finalidade ´e de prever ou explicar a
classificac¸˜ao da divis˜ao de classes de cada aributo.
4 Resultados
4.1 Resultados Obtidos
Nesta fase, apresentam-se os resultados obtidos no processo de classificac¸˜ao nas tabelas 3, 4, 5, 6, 7 e as
avaliac¸˜oes de matriz de custos na tabela 2 que tiveram um bom desempenho.
4.2 Medidas de Desempenho
Da tabela 8 pode-se concluir, em geral que o algoritmo KNN(Lazy IBK), principalmente usando a
An´alise de Dados com Test Options ”CrossValidation, 10 Folds”´e uma t´ecnica eficaz na resoluc¸˜ao do
caso da classificac¸˜ao da qualidade do vinho tendo uma tendˆencia a alta precis˜ao. Esse algortimo tamb´em
considerando ´e o melhor algortimo em termos de computac¸˜ao de modo a ver com o tempo que leva
para contruir um modelo. Assim, o algoritmo que tem mais eficiˆencia e efic´acia na gest˜ao de dados da
qualidade do vinho ´e KNN (Lazy IBK). A julgar pelo segundo tempo ´e 0 e o c´alculo m´edio de precis˜ao
e recall ´e 0.754.
O Root Mean-Squared Erro(tabela 8) ´e usado para medir o sucesso de uma predic¸˜ao num´erica. Este
valor ´e calculado pela m´edia da raiz quadrada da diferenc¸a entre o valor calculado e o valor correcto de
cada algoritmo utilizado. ´E somente a raiz quadrada do mean-squared-error que d´a o valor do erro entre
os valores actuais e os valores preditos.
Precis˜ao(Precision)(tabela 8) ´e o valor da predic¸˜ao positiva ou n´umero de casos positivos por total
de casos cobertos, muito influenciada pela especificidade e pouco pela sensitividade. Sensitividade ´e o
n´umero de casos positivos que s˜ao verdadeiramente positivos sendo especificidade o n´umero de casos
negativos que s˜ao verdadeiramente negativos.
4
5. Aristidis Jesus
Tabela 4: Root-mean-squad-error
Dataset Naive Bayes LibSVM IBK JRip OneR J48
Winequality 0.30 0.32 v 0.26 * 0.27 * 0.46 v 0.28 *
(v/ /*) (1/0/0) (0/0/1) (0/0/1) (1/0/0) (0/0/1)
Tabela 5: IR-Precission
Dataset Naive Bayes LibSVM IBK JRip OneR J48
Winequality 0.91 0.94 0.95 v 0.98 v 0.51 * 0.94 v
(v/ /*) (0/1/0) (1/0/0) (1/0/0) (0/0/1) (1/0/0)
Recall(Cobertura)(tabela 8) ´e o valor da cobertura de casos muito influenciada pela sensitividade
e pouco pela especificidade. ´E calculada por n´umero de casos cobertos pelo n´umero total de casos
aplic´aveis.
F-measure(tabela 8) ´e usada para mensurar a performance contando que combina valores de cober-
tura e precis˜ao de uma regra numa ´unica f´ormula. ´E calculada por 2TP/2TP+FP+FN, onde TP(true
positive) s˜ao os verdadeiros positivos, FP(false positive) s˜ao os falsos positivos, FN(false negative) s˜ao
os falsos negativos ou (2*recall*precision/recall+precision).
5 Conclus˜oes
O algor´ıtmo de comparac¸˜ao que usa ferramenta Weka 3.6.5 pode ser visto a partir de algum outro valor
gerado entre m´edia de precis˜ao e m´edia de recall de modo que a m´edia de desempenho possa ser calculada
de cada algoritmo para cada classe. Em geral, o desempenho do algoritmo KNN (LazyIBK) ´e melhor
do que os outros algoritmos, como Naive bayes, LibSVM, JRip, OneR e J48. Alguns dos factores que
tornam o algoritmo KNN (Lazy IBK) melhor do que outros, ´e a capacidade de Lazy learner mais para
modelar explicitamente, porque o caso destes dados atributos como apenas um Real, torna o mapeamento
´e mais facil usando KNN. Neste caso observa-se a partir do n´ıvel de precis˜ao e recall que s˜ao mais
elevados do que com outros algoritmos. Quanto `a velocidade na construc¸˜ao de um algor´ıtmo de modelo,
K-Nearest Neighbour mais pr´oximos ´e o mais r´apido em comparac¸˜ao aos outros algor´ıtmos.
Referˆencias
[1], Kivanc Kilicer, Wine Recognition Analysis by Using Data Mining, T.C.Bahcesehir University,
Istanbul Turkey,s 2005, http://www.alunos.uevora.pt/(til)l20291/thesis, (Acedido em 18/12/2011),
[2], Michal Hor´ak, Prediction of wine quality from physicochemical properties, Czech Technical
University in Prague, 2009-2010, (Acedido em 14/12/2011),
[3], Paulo Cortez, Juliana Texeira, Ant´onio Cerdeira, Fernando Almeida, Telmo Matos, Jos´e Reis,
Using Data Mining for Wine Quality Assesment, Dep. of Information Systems/Algoritmi Centre, Uni-
versity of Minho, http://www3.dsi.uminho.pt/pcortez, (Acedido em 14/12/2011),
[4], Al´ıpio M.Jorge, Alneu A.Lopes,Solange O. Rezende, I Workshop on Web and Text Intelli-
gence(WTI 2008) Proceedings, BA: ICMC/USP, 2008, (Acedido em 18/12/2011),
[5], GPP-Gabinete de Planeamento e Pol´ıticas, Vitivinicultura-Diagn´ostico Sectorial, Minist´erio da
Agricultura, do Desenvolvimento Rural e das Pescas, 2007,
5