O presente relatório objetiva a explicação dos procedimentos adotados para a execução do trabalho prático sobre validação cruzada
Por: Sara • 11/10/2018 • 1.531 Palavras (7 Páginas) • 427 Visualizações
...
[pic 5]
Figura 5: Precisão do Algoritmo SMO para cada um dos datasets.
Observa-se que o algoritmo SMO apresentou 100% de precisão ao classificar as informações nos datasets hyperplane_data.lac e stagger_data.lac, e seu pior desempenho diz respeito ao dataset FIFAWorldCupIngles.lac, com uma taxa de acerto próxima a 92%. Além disso, o algoritmo SMO apresentou diferentes tipos de construção. Em três exemplos, a montagem foi extremamente rápida, com o algoritmo demorando no máximo 1,4 segundos para a realização da operação. Já para o dataset stagger_data.lac o algoritmo apresentou uma maior demora, com cerca de 93 segundos para a preparação da informação. Ainda assim, não é possível estabelecer uma relação entre a demora e a efetividade do algoritmo, uma vez que o dataset stagger_data.lac não chegou a demorar 1 segundo.
No geral, o algoritmo SMO apresentou resultados similares, uma vez que a pior validação cruzada do mesmo apresentou um resultado de acerto de 92% dos casos.
Algoritmo J48
O algoritmo J48 é uma implementação do algoritmo ID3 desenvolvido pela equipe do Weka. O algoritmo ID3 (Iterative Dichotomiser 3) define uma árvore de decisão para um dado conjunto de dados. Em cada iteração do algoritmo, calcula-se a entropia de um atributo de um dos conjuntos no qual o algoritmo foi dividido ainda não calculado. Assim, reparte-se o conjunto por esse atributo para a produção de um subconjunto. O algoritmo irá ser interrompido na ocorrência de que todos os elementos pertençam a uma mesma subclasse; ou não existam mais atributos para ser selecionados para o cálculo da entropia; ou não existam mais exemplos no subconjunto gerado.
Para o algoritmo J48, utilizou-se os seguintes parâmetros:
- Cross Validation com 10 k-folds.
As Figuras a seguir mostram os parâmetros obtidos para o J48 na execução dos datasets informados:
[pic 6]
Figura 6: J48 para o dataset FIFAWorldCupIngles.lac
[pic 7]
Figura 7: SMO para o dataset stagger_data.lac
[pic 8]
Figura 8: J48 para o dataset TIMEsPersonOfTheYear.lac
[pic 9]
Figura 9: J48 para o dataset hyperplane_data.lac
Com os resultados obtidos para o J48, o gráfico de barras a seguir consegue descrever a precisão do algoritmo J48 para cada um dos datasets observados
[pic 10]
Figura 10: Precisão do Algoritmo J48 para cada um dos datasets.
É importante notar que apenas dois datasets produziram uma árvore de mesmo tamanho (20 folhas e tamanho 39). Ainda assim, não há correlação entre o tamanho da árvore gerada e a taxa de acertos do algoritmo, uma vez que a maior e a menor árvore geradas (dataset hyperpla_data.lac e stagger_data.lac, respectivamente) obtiveram taxa de 100% de acerto na classificação, enquanto os outros dois não.
Além disso, o tamanho da árvore gerada também não é uma característica que parece influenciar no tempo de execuçãoo do problema, visto que o dataset de maior árvore (tamanho 103), executou em tempo inferior ao dataset com um tamanho intermediário entre as medidas tomadas (tamanho 39).
No geral, o algoritmo J48 apresentou resultados similares, uma vez que a pior validação cruzada do mesmo apresentou um resultado de acerto de 93% dos casos.
Algoritmo NaiveBayes
Os algoritmos de NaiveBayes são uma família de algoritmos que aplicam o teorema de Bayes para classificação de informação utilizando um forte pressuposto de que os atributos são independentes entre si. Trata-se de um dos métodos mais comuns na literatura para a classificação de textos, sendo extensivamente utilizado para a classificação de informações como spam ou não spam; veracidade de informações ligadas a política, esportes, etc.; e outros. Com o uso apropriado de seus parâmetros, os algoritmos dessa família são capazes de competir com algoritmos mais modernos, como os algoritmos de SVM.
Para o algoritmo NaiveBayes, utilizou-se os seguintes parâmetros:
- Cross Validation com 10 k-folds.
As Figuras a seguir mostram os parâmetros obtidos para o NaiveBayes na execução dos datasets informados:
[pic 11]
Figura 11: NaiveBayes para o dataset FIFAWorldCupIngles.lac
[pic 12]
Figura 12: NaiveBayes para o dataset stagger_data.lac
[pic 13]
Figura 13: NaiveBayes para o dataset TIMEsPersonOfTheYear.lac
[pic 14]
Figura 14: NaiveBayes para o dataset hyperplane_data.lac
Com os resultados obtidos para o NaiveBayes, o gráfico de barras a seguir consegue descrever a precisão do algoritmo NaiveBayes para cada um dos datasets observados
[pic 15]
Figura 15: Precisão do Algoritmo NaiveBayes para cada um dos datasets.
Observa-se que para para dois datasets o algoritmo NaiveBayes obteve precisão de 100% de acertos, enquanto em outros dois o acerto foi entre 80% e 85%. Nesse caso, pode-se dizer que a configuração dos parâmetros do algoritmo pode não ter favorecido a aplicação desse algoritmo para o conjunto de dados mostrado.
Algoritmo IBk
O algoritmo IBk é uma implementação de um algoritmo da família KNN (K-Nearest Neighbors). Essa classe de algoritmos pode ser usada tanto para classificação quanto para regressão de dados, de forma que a saída do algoritmo será definida pelo modo como ele foi usado.
Na avaliação de classificação, a saída do algoritmo é um class membership, que é a probabilidade de um objeto pertencer a uma classe. Um objeto será classificado conforme os seus vizinhos, com o objeto sendo atribuído à classe mais
...