O presente relatório objetiva a explicação dos procedimentos adotados para a execução do trabalho prático sobre validação cruzada
Por: user13123 • 19/6/2017 • Monografia • 1.572 Palavras (7 Páginas) • 504 Visualizações
Trabalho de DWMD
Vítor Machado Guilherme Barros
Max Wilson Ramos
Introdução
O presente relatório objetiva a explicação dos procedimentos adotados para a execução do trabalho prático sobre validação cruzada. Foram utilizados os datasets cedidos pelo professor, a ferramenta Weka e um programa na plataforma Java (também cedido pelo professor) para a transformação dos arquivos do formato .lac para o formato .arff, suportado pela ferramenta Weka.
Datasets Utilizados
Foi requerido o uso dos seguintes datasets:
- eleicoesPresidenciaisDilma.lac
- felipemelo.lac
- TIMEsPersonOfTheYear.lac
- sea.test.csv
- stagger_data.arff
Dentre os tais itens, os datasets eleicoesPresidenciaisDilma.lac e felipemelo.lac não foram utilizados no presente trabalho pois não houve conversão correta do arquivo .lac e não existia tal dataset dentre o conjunto cedido pelo professor. Sendo assim, adotou-se outros dois diferentes datasets: FifaWorldCupIngles.lac e hyperplane_data.lac. Sendo assim, a lista de datasets efetivamente utilizados nesse trabalho é:
- hyperplane_data.lac
- FifaWorldCupIngles.lac
- TIMEsPersonOfTheYear.lac
- sea.test.csv
- stagger_data.arff
Algoritmos Utilizados
A Tabela 1 relaciona os algoritmos usados para cada um dos datasets explorados no presente trabalho.
SMO | J48 | NaiveBayes | IBk | DecisionTable | SMOReg | |
hyperplane_data | x | x | x | x | ||
FifaWorldCupIngles | x | x | x | x | ||
TIMEsPersonOfTheYear | x | x | x | x | ||
sea.test | x | x | x | |||
stagger_data | x | x | x | x |
Tabela 1. Algoritmos Utilizados por Dataset
Os algoritmos foram utilizados conforme a especificação do trabalho, que requeria o uso dos algoritmos SMO, J48, NaiveBayes e IBk. Os algoritmos DecisionTable e SMOReg foram unicamente empregados no dataset sea.test pois o mesmo não permitia o uso dos algoritmos SMO, J48 e NaiveBayes. Além disso, também não foi possível aplicar um algoritmo de natureza bayesiana ao dataset mencionado, de forma que ele foi submetido apenas a três algoritmos, enquanto os demais foram submetidos a quatro.
No presente trabalho, a discussão será feita algoritmo a algoritmo para cada dataset utilizado. Dessa forma, as análises serão conduzidas conforme a disposição dos algoritmos na Tabela 1, se iniciando para o algoritmo SMO, e finalizando com o algoritmo SMOReg.
Algoritmo SMO
O algoritmo SMO (Sequential Minimal Optimization) é amplamente utilizado em problemas de otimização que surgem durante o treinamento de SVM (Support Vector Machine). Trata-se de um algoritmo que divide o problema original em uma série de problemas menores que são resolvidos analiticamente.
Para o algoritmo SMO, os parâmetros utilizados foram:
- Cross-Validation com 10 folds
As Figuras a seguir mostram os parâmetros obtidos para o SMO na execução dos datasets informados:
[pic 1]
Figura 1: SMO para o dataset FIFAWorldCupIngles.lac
[pic 2]
Figura 2: SMO para o dataset stagger_data.lac
[pic 3]
Figura 3: SMO para o dataset TIMEsPersonOfTheYear.lac
[pic 4]
Figura 4: SMO para o dataset hyperplane_data.lac
Com os resultados obtidos para o SMO, o gráfico de barras a seguir consegue descrever a precisão do algoritmo SMO para cada um dos datasets observados
[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.
...