O documento descreve a aplicação do método de classificação k-Nearest Neighbors na base de dados Iris, introduzindo os conceitos-chave do método e apresentando resultados da classificação das flores Iris usando quatro atributos morfológicos.
1. Método k-Nearest Neighbor Aplicado a Base de Dados Iris
Michel Alves dos Santos ∗
Dezembro de 2011
Resumo
Neste trabalho são apresentados alguns re-
sultados da aplicação da estratégia k-Nearest
Neighbor à popular base de dados Iris, intro-
duzida por Sir Ronald Aylmer Fisher em 1936
como um exemplo de análise discriminante. Os
dados contêm quatro características de três es-
pécies de flores Iris, da família das Iridáceas:
comprimento da sépala, largura da sépala, com-
primento da pétala e largura da pétala. Ba-
seado na combinação desses quatro atributos,
Fisher desenvolveu um modelo discriminante li-
near para distinguir cada uma das espécies. O
classificador empregado neste trabalho utiliza
esses quatro atributos para construção de uma
medida de dispersão e proximidade que classi-
fique corretamente os 3 tipos de flores: Iris-
Virginica, Iris-Versicolor e Iris-Setosa. A base
de dados contém 150 amostras, sendo 50 de cada
uma das classes.
Figura 1: Sir Ronald Aylmer Fisher (1890 — 1962)
foi um estatístico, biólogo evolutivo e geneticista in-
glês, descrito por Anders Hald como ‘um gênio que
criou praticamente sozinho as fundações para a mo-
derna ciência estatística’. Complementando a me-
dida de informação própria para medir incerteza so-
bre espaços desordenados, Fisher criou uma medida
alternativa de informação apropriada para medir in-
certeza sobre espaços ordenados. Ao lado, gráfico
de distribuição para a largura da sépala dentro da
classe iris-versicolor.
∗Bacharelando em Ciência da Computação, Universi-
dade Federal do Estado de Alagoas (UFAL). E-mail: mi-
chel.mas@gmail.com. Disciplina: Inteligência Artificial
II. Docente Responsável: Aydano Pamponet Machado.
1 Introdução
Classificadores baseados em árvores de deci-
são, redes neurais, redes bayesianas, são caracte-
rizados pelo fato de utilizarem os dados de trei-
namento para construírem um modelo de clas-
sificação, que uma vez encontrado e testado, es-
tará pronto para ser utilizado na categorização
de qualquer novo objeto. O processo de encon-
trar o modelo é lento, mas uma vez encontrado,
o ato de classificar um novo objeto é realizado
de forma rápida. Tais classificadores são chama-
dos de Classificadores Apressados (Eager Clas-
sifiers).
Existem diversos métodos de classificação,
amplamente utilizados na prática, que diferem
dos métodos anteriormente citados pelo fato de
não utilizarem os dados de treinamento para
produzirem um modelo de classificação.
O processo de classificação utilizado por estes
classificadores, ditos preguiçosos, pode ser des-
crito suscintamente da seguinte forma: a cada
novo objeto que se quer classificar, utiliza-se os
dados de treinamento para verificar quais são os
objetos nesta base de dados que mais se asseme-
lham ao novo objeto que se quer classificar. O
objeto será classificado dentro da classe mais co-
mum a que pertencem os objetos mais similares
a ele. Assim, a classificação é feita por analogia.
Nenhum modelo de classificação é criado. Ao in-
vés disto, a cada novo objeto a ser classificado,
os dados de treinamento são escaneados.
Obviamente, classificadores preguiçosos são
computacionalmente dispendiosos. Eles reque-
rem técnicas eficientes de armazenamento e são
adequados para implementação em ambientes
de computação paralela. Uma qualidade de tais
classificadores é que suportam aprendizado in-
cremental. Dois exemplos de classificadores pre-
guiçosos são o k-Nearest Neighbor (k vizinhos
mais próximos) e o Case-based Reasoning (raci-
ocínio baseado em casos). Nesta artigo, iremos
discutir somente o k-Nearest Neighbor e alguns
resultados obtidos através de sua aplicação uti-
1
2. lizando como conjunto de treinamento a base de
dados Iris.
2 k-Nearest Neighbor
Este método foi descrito primeiramente nos
anos 1950. Mas foi somente a partir dos anos 60,
quando computadores mais potentes surgiram,
que o método ganhou popularidade. Ele tem
sido muito usado, desde então, principalmente
em reconhecimento de padrões.
2.1 Descrição do Método
Suponhamos um conjunto D de tuplas de trei-
namento. Cada elemento de D é uma tupla
(x1, x2, . . . , xn, c), onde c é a classe à qual per-
tence a tupla (x1, . . . , xn). A tupla (x1, . . . , xn)
pode ser vista como um ponto num espaço n-
dimensional. Seja Y = (y1, . . . , yn) uma nova
tupla, ainda não classificada. A fim de classificá-
la, calcula-se as distâncias de Y a todas as tu-
plas de treinamento e considera-se as k tuplas de
treinamento mais próximas de Y . Dentre estas
k tuplas, verifica-se qual a classe que aparece
com mais frequência. A tupla Y será classifi-
cada dentro desta classe mais frequente.
2.2 Cálculo de Distâncias
A distância entre duas tuplas é calculada uti-
lizando uma noção de distância, por exemplo, a
distância euclidiana:
d(X, Y ) =
n
i=1
(xi − yi)2 (1)
Geralmente, é preciso normalizar os valores de
cada atributo, a fim de que todos localizem-se
num mesmo intervalo de variação, não havendo
muita discrepância entre os valores dos diferen-
tes atributos, que poderia influir tendenciosa-
mente no cálculo da distância. O processo de
normalização é simples; seja v um valor do atri-
buto A que aparece na tupla Y . Para normali-
zar v consideramos o valor v ∈ [0, 1] calculado
como:
v =
v − minA
maxA − minA
(2)
onde minA e maxA são os valores mínimos
e máximos que pode assumir o atributo A.
Por exemplo, seja A o atributo Renda-Mensal,
e suponhamos que a renda mensal mínima é
R$300,00 e a máxima é R$ 20.000,00. O valor
de R$ 1200,00 é normalizado para 0, 045.
Vale a pena lembrar que dependendo da na-
tureza dos dados outras medidas de distân-
cia podem ser adotadas, tais como Manhattan,
Mahalanobis-L1, Mahalanobis-L2, etc.
2.3 Valor Ideal de k
Como determinar o melhor valor de k? O
melhor valor de k pode ser determinado expe-
rimentalmente. Começando-se com k = 1, e
utilizando-se um conjunto de testes, para esti-
mar o taxa de erro do classificador. Para cada
k, classifica-se as tuplas do conjunto de testes e
verifica-se quantas tuplas foram bem classifica-
das. O valor de k que dá a menor taxa de erro
será o escolhido. Normalmente, os valores de k
escolhidos são 1, 2, 3 e
√
n, onde n é o tamanho
da base de treinamento.
2.4 Complexidade Assintótica
Seja n o tamanho da base de treinamento e
k = 1. Para classificar uma nova tupla são ne-
cessários O(n) comparações. Ordenando e ar-
mazenando as tuplas de treinamento numa ár-
vore de busca (B-tree) por exemplo, o número
de comparações pode ser reduzido para O(logn).
Técnicas de computação paralela reduzem o nú-
mero de comparações a uma constante, indepen-
dente do valor de n.
3 Resultados
Antes de tudo iremos apresentar alguns gráfi-
cos que exibem o comportamento geométrico e
estátistico das amostras ou tuplas pertencentes
a base de dados iris e posteriormente apresen-
taremos os resultados obtidos através da nossa
implementação.
Figura 2: Da esquerda para direita: setosa, versi-
color e virginica. Baseado no Modelo Discriminante
Linear de Fisher, este conjunto de dados tornou-se
um caso de teste típico para muitas técnicas de clas-
sificação em aprendizado de máquina tais como as
Máquinas de Suporte Vetorial.
2