Você está na página 1de 6

Classificador Bayes utilizando o MATLAB

Gerson Vieira Albuquerque Neto

Prof. Ajalmar - Aprendizado de Máquina - Mestrado em Ciências da Computação – IFCE –


2017.1

1 Resumo
Esse relatório tem o objetivo de mostrar os resultados obtidos na classificação utilizando a
base de dados Iris com duas e três classes e Coluna 2C e 3C com Bayes, com o cálculo das
posteriores com a Gaussiana. Os códigos foram desenvolvidos no Matlab utilizando as
práticas sugeridas em sala de aula e pesquisas na internet.

2 Base de Dados
2.1 Base de dados da flor de íris
Foi utilizada uma base de dados disponibilizada próprio Matlab, que fornece os dados de
entrada e saída para cada uma das 3 classes da (Iris Setosa, Iris Versicolour, Iris Virginica).
Cada uma possui 4 parâmetros, sendo eles o comprimento e largura da sépala e pétala. No
total são 150 amostras de Iris, sendo 50 para cada classe.

Para Bayes, de acordo com indicação dada em sala de aula, a priori foi calculada em 1/3
Setosa e 2/3 demais classes, onde:
𝑛𝑢𝑚𝐸𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝐶𝑙𝑎𝑠𝑠𝑒 1
𝑝𝑟𝑖𝑜𝑟𝑖𝐶𝑙𝑎𝑠𝑠𝑒1 =
𝑛𝑢𝑚𝐶𝑙𝑎𝑠𝑠𝑒𝑠

𝑛𝑢𝑚𝐸𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝐶𝑙𝑎𝑠𝑠𝑒 2
𝑝𝑟𝑖𝑜𝑟𝑖𝐶𝑙𝑎𝑠𝑠𝑒2 =
𝑛𝑢𝑚𝐶𝑙𝑎𝑠𝑠𝑒𝑠
Para a análise com 3 dados, a priori ficou definida como 1/3 para cada classe.

𝑝𝑟𝑖𝑜𝑟𝑖𝐶𝑙𝑎𝑠𝑠𝑒3 = 1 – (𝑝𝑟𝑖𝑜𝑟𝑖𝐶𝑙𝑎𝑠𝑠𝑒1 + 𝑝𝑟𝑖𝑜𝑟𝑖𝐶𝑙𝑎𝑠𝑠𝑒2)

2.2 Base de Dados da Coluna Vertebral


A base contém parâmetros biomecânicos e foi utilizada a que está no Site UCI Machine
Learning (http://archive.ics.uci.edu/ml/datasets/Vertebral+Column).

Assim como a Iris, a base de dados (dataset) foi dividido usando o cálculo da Priori.

3 Classificação
Foram calculados os valores para cada um dos atributos a serem testados através da
fórmula Gaussiana, e posteriormente são comparados com a função MAX do Matlab, para
definir a que classe pertence o dado, que retorna uma matriz com o valor das classes, que
por sua vez é convertido para binário para a comparação na Matriz Confusão.

4 Resultados Obtidos
4.1 Iris – Duas Classes
Foram feitas classificações utilizando todos os atributos (colunas 1 a 4) e utilizando apenas
as colunas 3 e 4, que em testes já realizados com outros classificadores, sempre apresentam
os melhores resultados. O resultado nas duas classificações foi sempre de 100%, uma vez que
a classe Setosa é completamente separável da classe Virgínica+Versicolour. Apenas a
Classificador Bayes utilizando o MATLAB

Gerson Vieira Albuquerque Neto

Prof. Ajalmar - Aprendizado de Máquina - Mestrado em Ciências da Computação – IFCE –


2017.1

classificação com as colunas 1 e 2 teve uma taxa de 99,3%, com uma classificação errada da
classe1.

Figura 1- Matriz Confusão: Obtida para Classe1 = Valores Setosa, e Classe 2 = Valores Setosa + Valores Virgínica,
o resultado para as colunas 3 e 4 foi mesmo.

4.2 Iris – Três Classes


Foram feitas classificações utilizando apenas as colunas 3 e 4, que em testes já realizados
com outros classificadores, sempre apresentam os melhores resultados. O resultado foi de
uma média de aproximadamente 97,36%. A classificação com as colunas 1 e 2 teve uma taxa
média de acerto de 77,3%.
Classificador Bayes utilizando o MATLAB

Gerson Vieira Albuquerque Neto

Prof. Ajalmar - Aprendizado de Máquina - Mestrado em Ciências da Computação – IFCE –


2017.1

Figura 2- Matriz Confusão: Obtida para Classe1 = Valores Setosa, Classe 2 = Valores Virgina, e classe 3 = Valores
Versicolour, considerando apenas os atributos das colunas 1 e 2.

4.3 Coluna 2C
Foram feitas classificações utilizando todos os atributos (colunas 1 a 6) e utilizando apenas
as colunas 5 e 6. O resultado foi de 82,6% para a classificação com todas as colunas e de
81,43% utilizando apenas as colunas 5 e 6.
Classificador Bayes utilizando o MATLAB

Gerson Vieira Albuquerque Neto

Prof. Ajalmar - Aprendizado de Máquina - Mestrado em Ciências da Computação – IFCE –


2017.1

Figura 3 – Resultado da Matriz Confusão com todas as colunas

Figura 4 - Resultado da Matriz Confusão com um dos testes com as colunas 5 e 6.


Classificador Bayes utilizando o MATLAB

Gerson Vieira Albuquerque Neto

Prof. Ajalmar - Aprendizado de Máquina - Mestrado em Ciências da Computação – IFCE –


2017.1

4.4 Coluna 3C
Assim como a Iris, essa base possui 3 classes para Classificação, então foram feitos testes
utilizando a classe1 com os valores das classes DH, classe2 SL, e classe 3 NO. Foram feitas
classificações utilizando todos os atributos (colunas 1 a 6) e utilizando apenas as colunas 4 e
5, que, após uma combinação de testes entre todas as duplas de colunas possíveis,
apresentaram os melhores resultados. O resultado nas duas classificações foi de 83,26% para
a inclusão de todas as colunas e de 79,12% utilizando apenas as colunas 5 e 6.

Figura 5 – Nota-se um avanço do percentual à medida que o holdout cresce


Classificador Bayes utilizando o MATLAB

Gerson Vieira Albuquerque Neto

Prof. Ajalmar - Aprendizado de Máquina - Mestrado em Ciências da Computação – IFCE –


2017.1

Figura 6 - Resultado de um dos testes da Matriz Confusão com as colunas 5 e 6

5 Considerações finais
Foram apresentados os resultados de classificação utilizando o algoritmo de Bayes. Senti uma
maior dificuldade para fazer o código desse classificador, e como já tinha feito anteriormente
a esse o Naive Bayes, notei também que o Naive apresentou melhores resultados.
Comparado com outros trabalhos (KNN e DMC), foi visto um resultado melhor na
classificação nos casos de duas classes.

Você também pode gostar