Este projeto é um trabalho realizado pelos alunos Gustavo Rodrigues Sousa e Luiz Carlos Coelho Conde para a disciplina de Inteligência Artificial ministrada pelo professor Ahmed Ali Abdalla Esmin pelo DCC da UFLA no primeiro semestre de 2020.
Para executar este programa, é necessário ter o Python instalado (versão 3 ou acima)
Para executar o programa basta estar localizado dentro da pasta do programa e rodar:
python main.py
ou
python3 main.py
Caso você tenha mais de uma versão do python instaladas.
Numa primeira abordagem foi tentado realizar a divisão dos dados sendo os 80% dos primeiros dados para treino e o restante para predição, porém como os dados estão ordenados pelas suas classes, tanto no arquivo de iris quanto no arquivo de spam, o treinamento ficou viciado e ficou especialista em somente 1 tipo de classe mas não os dos outros, por isso foi realizado uma abordagem diferente dos dados, sendo dividido pelo indice mod 5.
Não ouve uma alteração significativa conforme o aumento de k
para k = 1
class | Iris-setosa | Iris-versicolor | Iris-virginica |
---|---|---|---|
Iris-setosa | 10 | 0 | 0 |
Iris-versicolor | 0 | 9 | 0 |
Iris-virginica | 0 | 1 | 10 |
para k = 3
class | Iris-setosa | Iris-versicolor | Iris-virginica |
---|---|---|---|
Iris-setosa | 10 | 0 | 0 |
Iris-versicolor | 0 | 9 | 0 |
Iris-virginica | 0 | 1 | 10 |
para k = 5
class | Iris-setosa | Iris-versicolor | Iris-virginica |
---|---|---|---|
Iris-setosa | 10 | 0 | 0 |
Iris-versicolor | 0 | 9 | 0 |
Iris-virginica | 0 | 1 | 10 |
para k = 7
class | Iris-setosa | Iris-versicolor | Iris-virginica |
---|---|---|---|
Iris-setosa | 10 | 0 | 0 |
Iris-versicolor | 0 | 8 | 0 |
Iris-virginica | 0 | 2 | 10 |
Conforme o aumento de k, o aumento de falsos positivos e de verdadeiros positivios é relevante, conforme é possível ver nas matrizes de confusão. isso indica que os dados utilizados para o treino são majoritariamente positivos, ou seja, spams.
para k = 1
class | 1 | 0 |
---|---|---|
1 | 294 | 67 |
0 | 69 | 491 |
para k = 3
class | 1 | 0 |
---|---|---|
1 | 337 | 167 |
0 | 26 | 391 |
para k = 5
class | 1 | 0 |
---|---|---|
1 | 348 | 225 |
0 | 15 | 333 |
para k = 7
class | 1 | 0 |
---|---|---|
1 | 352 | 292 |
0 | 11 | 266 |