TÂNIA DOS SANTOS LIMA ESTUDO COMPARATIVO DOS ALGORITMOS DE CLASSIFICAÇÃO DA FERRAMENTA WEKA Palmas - TO 2005 TÂNIA DOS SANTOS LIMA ESTUDO COMPARATIVO DOS ALGORITMOS DE CLASSIFICAÇÃO DA FERRAMENTA WEKA “Trabalho de Conclusão de Curso apresentado como requisito parcial de disciplina Estágio Supervisionado em Sistemas de Informação, orientado pela Profª. Thereza Patrícia Pereira Padilha”. Palmas - TO 2005 iii TÂNIA DOS SANTOS LIMA ESTUDO COMPARATIVO DOS ALGORITMOS DE CLASSIFICAÇÃO DA FERRAMENTA WEKA “Trabalho de Conclusão de Curso apresentado como requisito parcial de disciplina Estágio Supervisionado em Sistemas de Informação, orientado pela Profª. Thereza Patrícia Pereira Padilha”. Aprovado em de 2005 BANCA EXAMINADORA _______________________________________________ Profª. Thereza Patrícia Padilha Pereira Centro Universitário Luterano de Palmas _______________________________________________ Prof. Fernando Luiz de Oliveira Centro Universitário Luterano de Palmas _______________________________________________ Profª. Madianita Bogo Centro Universitário Luterano de Palmas Palmas-TO 2005 iv SUMÁRIO 1 INTRODUÇÃO......................................................................................................11 2 REVISÃO DA LITERATURA ..............................................................................13 2.1 APRENDIZADO DE MÁQUINA .................................................................................................................. 13 2.2 APLICAÇÕES DE APRENDIZADO DE MÁQUINA ........................................................................................ 14 2.3 PROCESSO KDD ..................................................................................................................................... 14 2.3.1 Fases do Processo KDD ........................................................................................................................ 15 2.4 MINERAÇÃO DE DADOS .......................................................................................................................... 16 2.4.1 Associação ............................................................................................................................................. 17 2.4.2 Agrupamento ou clustering.................................................................................................................... 18 2.4.3 Classificação.......................................................................................................................................... 19 2.5 FERRAMENTA WEKA............................................................................................................................. 19 2.5.1 Ambiente da Ferramenta WEKA............................................................................................................ 19 2.6 ALGORITMOS DE CLASSIFICAÇÃO POR REGRAS DA FERRAMENTA WEKA................................................ 28 3 MATERIAL E MÉTODOS ...................................................................................31 3.1 LOCAL E PERÍODO .................................................................................................................................. 31 3.2 MATERIAIS........ ..................................................................................................................................... 31 3.2.1 Hardware ............................................................................................................................................... 31 3.2.2 Software licenciando e gratuito ............................................................................................................. 31 3.2.3 Fontes bibliográficas ............................................................................................................................. 32 3.2.4 Metodologia ........................................................................................................................................... 32 4 RESULTADOS E DISCUSSÃO ............................................................................33 4.1 CONJUNTOS DE DADOS ........................................................................................................................... 33 4.2 RESULTADOS DOS EXPERIMENTOS REALIZADOS UTILIZANDO OS ALGORITMOS DE CLASSIFICAÇÃO DE REGRAS DE DECISÃO.........................................................................................................................................39 4.2.1 Regras geradas pelos algoritmos........................................................................................................... 40 4.2.2 Instâncias classificadas corretamente e incorretamente ....................................................................... 57 4.2.3 Matriz de confusão e tempo de execução............................................................................................... 63 5 CONSIDERAÇÕES FINAIS .................................................................................69 6 REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................72 v LISTA DE FIGURAS Figura 1. Etapas do Processo de Descoberta de Conhecimento em Base de Dados. (REZENDE, 2003) .......15 Figura 2. Agrupamento hipotético do perfil das mulheres ..............................................................................18 Figura 3. Tela inicial da ferramenta WEKA....................................................................................................20 Figura 4. Execução do Simple CLI em linha de comando...............................................................................20 Figura 5. Arquivo sem formatação do ARFF. .................................................................................................23 Figura 6. Arquivo com formatação ARFF.......................................................................................................23 Figura 7. Tela do Explorer WEKA. ................................................................................................................21 Figura 8. Tela principal do Classify. ...............................................................................................................24 Figura 9. Opção para escolha do algoritmo classificador. ...............................................................................25 Figura 10. Opções de saída dos dados processados.........................................................................................27 Figura 11. Resultado do classificador. ............................................................................................................27 Figura 12. Árvore de Decisão do Conjunto de Dados iris. ..............................................................................43 Figura 13. Regras geradas a partir do algoritmo OneR. ..................................................................................53 vi LISTA DE GRÁFICOS Gráfico 1. Conjunto de íris (treinamento)........................................................................................................34 Gráfico 2. Conjunto de íris (teste) ...................................................................................................................35 Gráfico 3. Conjunto de titanic (treinamento)...................................................................................................36 Gráfico 4. Conjunto de titanic (teste) ..............................................................................................................36 Gráfico 5. Conjunto de bandeiras (treinamento). ............................................................................................39 Gráfico 6. Conjunto de bandeiras (teste) .........................................................................................................39 Gráfico 7. Comparação dos conjuntos de dados utilizando o algoritmo j48.PART. .......................................59 Gráfico 8. Comparação dos conjuntos de dados utilizando o algoritmo OneR , MBS igual a 6. ....................60 Gráfico 9. Comparação dos conjuntos de dados utilizando o algoritmo OneR, MBS igual a 22. ...................61 vii LISTA DE TABELAS Tabela 1: Algoritmo de classificação por técnica............................................................................................25 Tabela 2: Forma genérica de uma tabela de decisão (BORGES, 2005). .........................................................30 Tabela 3: Atributos, tipo e valores do conjunto de dados iris..........................................................................34 Tabela 4: Atributos, tipos e valores dos conjuntos de dados titanic. ...............................................................35 Tabela 5: Atributos, tipos e valores do conjunto de dados bandeira. ..............................................................38 Tabela 6: Experimentos utilizando o algoritmo j48.PART. ............................................................................42 Tabela 7: Regras de Decisão - Conjunto de Dados Iris. ..................................................................................43 Tabela 8: Comparação das instâncias que geraram as regras. .........................................................................45 Tabela 9: Regras de decisão - Conjunto de dados Titanic...............................................................................45 Tabela 10: Experimentos utilizando o algoritmo OneR. .................................................................................52 Tabela 11: Experimentos utilizando o algoritmo DecisionTable. ...................................................................55 Tabela 12: Classificação das instâncias a partir do algoritmo j48.PART........................................................58 Tabela 13: Classificação das instâncias a partir do algoritmo OneR , MBS igual a 6.....................................59 Tabela 14: Classificação das instâncias a partir do algoritmo Oner, MBS igual a 22. ....................................60 Tabela 15: Classificação das instâncias a partir dos algoritmos DecisionTable, CV igual a 1. ......................61 Tabela 16: Classificação das instâncias a partir dos algoritmos DecisionTable, CV igual a 8. ......................62 Tabela 17: Matriz de confusão do j48.PART utilizando os conjuntos de dados íris, titanic e bandeiras. .......63 Tabela 18: Tempo de execução do algoritmo j48.PART. ...............................................................................64 Tabela 19: Matriz de confusão do OneR utilizando os conjuntos de dados íris, titanic e bandeiras, MBS igual a 6. ...........................................................................................................................................................65 Tabela 20: Matriz de confusão do OneR utilizando os conjuntos de dados íris, titanic e bandeiras, MBS igual a 22. .........................................................................................................................................................66 Tabela 21: Matriz de confusão do DecisionTable utilizando os conjuntos de dados íris, titanic e bandeiras, CV igual a 1. ...................................................................................................................................66 Tabela 22: Matriz de confusão do DecisionTable utilizando os conjuntos de dados íris, titanic e bandeiras, CV igual a 8. ...................................................................................................................................67 viii LISTA DE ABREVIATURAS BS binarySplits CV crossVal IA Inteligência Artificial ICC Instâncias classificadas corretamente ICI Instâncias classificadas incorretamente KDD Knowledge discovery in database MBS minBucketSize MD Mineração de Dados WEKA Waikato Environment for Knowledge Analysis ix RESUMO A área de descoberta de conhecimento a partir dos dados tem sido bastante explorada em empresas devido aos vários benefícios que são obtidos, tais como a identificação de perfil de consumidores. Para isso, é necessária a aplicação de um ou mais algoritmos de mineração de dados. A ferramenta WEKA contém um conjunto de algoritmos de mineração que possibilita a descoberta do conhecimento de forma automática. Este trabalho visa apresentar o estudo sobre três algoritmos de mineração, sob o paradigma de regras de produção, e investigar o seu comportamento usando três conjuntos de dados disponíveis na web. Palavras-chave: Processo de descoberta de conhecimento, ferramenta WEKA, algoritmos de mineração. x ABSTRACT The area of discovery of knowledge from the data has been sufficiently explored in companies due to the some benefits that are gotten, such as the identification of profile of consumers. For this, the application of one or more algorithms of mining of data is necessary. Tool WEKA contains a set of mining algorithms that make possible the discovery of the knowledge of automatic form. This work aims at to present the study on three algorithms of mining, under the paradigm of production rules, and to investigate its behavior using three available data sets in web. Keywords: Knowledge discovery in database, Machine Learning, Data mining. 11 1 INTRODUÇÃO Num processo de tomada de decisão, a informação tem um papel significante para o processo de descoberta de conhecimento a partir de banco de dados. A descoberta de conhecimento em banco de dados (Knowledge Discovery in Database - KDD) é uma área da Inteligência Artificial (IA) que visa analisar informações de forma automática e extrair delas conhecimentos (padrões). Uma informação pode ser vista como um dado tratado e útil por auxiliar no processo de tomada de decisões nas empresas, por exemplo. O KDD é uma tecnologia computacional com finalidade de descoberta de padrões, ou seja, obtenção do conhecimento a partir de um conjunto de dados transformados (FAYYAD et all., 1996) (LIEBSTEIN, 2005) (COELHO, 2005). Essa técnica é composta por quatro etapas para extração das informações, tais como: pré-processamento, transformação, mineração de dados e pós-processamento. Na etapa de pré-processamento, os dados são selecionados e analisados para serem transformados. A transformação é o tratamento dos dados oriundo de bases de dados, pois, estes podem ter valores inconsistentes. Após a transformação, passam pelo processo de mineração no qual é obtido o conhecimento. MD é um passo do processo KDD que explora as informações de uma base com finalidade de obter o conhecimento através de seus algoritmos ou sistemas de aprendizagem de máquina (DIAS, 2002). Os sistemas de aprendizagem de máquina têm como propósito fazer descobrimento de novos conhecimentos automaticamente (PILA, 2001). A ferramenta WEKA (Waikato Environment for Knowledge Analysis), por exemplo, é uma ferramenta que, no seu ambiente, incorpora um conjunto de algoritmos de aprendizado de máquina na qual possibilita a extração do conhecimento (WEKA, 2005). Esta ferramenta tem obtido bastante sucesso na comunidade dos pesquisadores de IA por disponibilizar um conjunto de recursos para a execução do processo KDD. Sendo assim, é possível observar, notoriamente através de artigos científicos, dissertações e teses, que existe um grande interesse, pela comunidade, na investigação dos algoritmos de aprendizagem de máquina disponibilizadas na ferramenta WEKA. O pós-processamento é um processo que avalia os dados explorados, o conhecimento, através dos algoritmos de MD. A avaliação é para descobrir se os conhecimentos obtidos são relevantes na tomada de decisões. Este trabalho tem como objetivo estudar os recursos disponíveis e o funcionamento de três algoritmos de classificação da ferramenta WEKA, que são One-R, J48.PART e 12 DecisionTable, para identificar seus desempenhos utilizando conjuntos de dados hipotéticos. Para isso, serão realizados diversos experimentos com os algoritmos citados, alterando inclusive os valores dos parâmetros disponíveis em cada algoritmo. O presente trabalho encontra-se estruturado da seguinte forma: o capítulo 2 abordará as definições fundamentais da aprendizagem de máquina e as suas aplicações, do processo de descoberta de conhecimento em banco de dados, mineração de dados e sobre a ferramenta WEKA. São descritos um histórico da ferramenta WEKA, o ambiente, seus algoritmos de classificação e o tipo de entrada para a execução dos algoritmos. No capítulo 3 abordam-se as metodologias usadas para o desenvolvimento do trabalho, bem como o local, o período e os materiais. O capítulo 4 apresenta os resultados e discussões sobre o estudo comparativo dos algoritmos de classificação definidos utilizando três conjuntos de dados. No capítulo 5 serão apresentadas as conclusões sobre o trabalho realizado através do estudo dos algoritmos de classificação do WEKA. Por fim, o capítulo 6 expõe as referências bibliográficas. 13 2 REVISÃO DA LITERATURA Neste capítulo são descritos na seção 2.1 os conceitos de sistemas de aprendizagem de máquina; na seção 2.2 são descritas as aplicações dos sistemas de aprendizado de máquina; na seção 2.3 são apresentadas algumas definições do processo de descoberta de conhecimento em base de dados, e na subseção 2.3.1 as fases do processo KDD. A seção 2.4 apresenta os conceitos da Mineração de Dados (Data Mining-DM) e, em seguida, as suas principais tarefas; na seção 2.5 a descrição geral da ferramenta WEKA com enfoque na tarefa de classificação e o tipo do arquivo suportado, o formato ARFF na subseção 2.5.1.1; na seção 2.6 são descritos sobre os algoritmos de classificação da ferramenta WEKA. 2.1 Aprendizado de Máquina O aprendizado de máquina é uma forma implementada capaz de extrair novos conhecimentos de maneira automática. Normalmente são regras que ajudam no processo de tomada de decisão. Para Rezende (2003), AM é visto como um sistema que, a partir de um conjunto de dados, é possível obter conhecimentos e analisá-los. Para implementar um sistema de aprendizado de máquina devem ser considerados os requisitos da aprendizagem como, por exemplo, a aprendizagem dedutiva e indutiva. Neste trabalho será focada a aprendizagem indutiva, pois os algoritmos de regras de decisão, na classificação de dados hipotéticos da ferramenta WEKA, são indutivos (HONORATO, 2005) (WEKA, 2005). A aprendizagem indutiva, segundo Colman et. all. (2002), permite a obtenção do conhecimento a partir de uma base de dados composta por fatos. Os fatos são as hipóteses na qual se pretende chegar a uma conclusão. Nos sistemas baseados em aprendizagem de máquina indutivos, Batista (2003) o descreve como um sistema que se fundamenta nas práticas realizadas anteriormente para encontrar o conhecimento ou padrões, o qual toma decisões com base nestas práticas. Com a necessidade, não só de organizar os dados em registros computacionais e realizar as operações básicas de consultas e inserção a fim de manter um controle dentro da organização, as técnicas de mineração de dados, fases do processo KDD dentro da área de aprendizagem de máquina, possibilita por meio das informações ou dos dados processados, a obtenção de conhecimentos que equivalem a valores que auxiliam na tomada de decisões. 14 2.2 Aplicações de Aprendizado de Máquina A aprendizagem de máquina pode ser utilizada em algumas áreas em que se pretende encontrar padrões, tais como ciências médicas, biológicas, determinação de tendências de marketing, entre outras. Segundo Sousa (2004), o uso de algoritmos de aprendizagem de máquina na área de descoberta de farmácos ajuda na redução de tempo ao realizar as pesquisas sobre as moléculas que são adequadas de uma determinada proteína, de maneira automática. As moléculas mutantes de hemoglobina são investigadas para simular as mutações. Esses sistemas de aprendizagem de máquina podem ser utilizados também na área da geografia, os quais permitem encontrar ocorrências de desmoronamento devido às chuvas intensas. Para Souza (2004), o armazenamento dos dados sobre as chuvas intensas na cidade do Rio de Janeiro possibilita encontrar e visualizar a análise sobre o escoamento para prevenir as pessoas que moram nas encostas dos morros. Outro exemplo de utilização seria o Sistema de Avaliação de Ensino Institucional, que tem como propósito avaliar o curso através das opiniões obtidas de professores e alunos a respeito do desempenho das aulas ministradas, do comportamento dos professores e com relação à estrutura dos cursos oferecidos pela universidade. Com estas informações adquiridas a partir das opiniões dos alunos e professores, foi possível encontrar novos conhecimentos, os quais podem ser visualizados em forma de relatório (LACERDA et. all., 2004). Esses novos conhecimentos equivalem a informações que podem auxiliar a direção de uma universidade, por exemplo, na sua forma de aplicação da educação, estrutura física, corpo docente, entre outros aspectos. 2.3 Processo KDD Anterior ao surgimento das ferramentas analíticas como a OLAP (on-line analytical processing), por exemplo, que realizam o processamento analítico dos dados, segundo Silva (2002a), os bancos de dados convencionais permitiam que fossem feitas apenas as operações tradicionais como consulta, inserção, atualização e exclusão dos dados na base, os quais tinham como saídas às informações que não poderiam ajudar um gerente a tomar uma decisão estratégica através das mesmas. 15 Com o passar do tempo, crescia a necessidade de usar uma ferramenta para analisar uma base de dados e apresentar informações que pudessem ajudar na tomada de decisão. Para realizar um processo de análise é preciso percorrer algumas fases, pois os dados não tratados podem acarretar informações incorretas. As informações obtidas por meio de análises são denominadas de conhecimento. Para atingir o objetivo do KDD, foi criado e formalizado um conjunto de fases que devem ser executadas, sendo denominado de processo descoberta de conhecimento em base de dados. O processo de descoberta de conhecimento em base de dados (KDD) é uma técnica criada para extrair conhecimento de dados processados (LIEBSTEIN, 2005) (GOMES, 2002). O KDD é um processo complexo que encontra e apresenta informações relevantes para a tomada de decisão e determina como é adquirido um novo conhecimento. 2.3.1 Fases do Processo KDD Segundo Fayyad et all. (1996), o processo KDD consiste em várias fases: seleção, préprocessamento, transformação, mineração de dados (data mining) e interpretação/ análise dos dados processados. Neste trabalho será dado um maior enfoque na fase de mineração de dados, pois serão estudados e utilizados algoritmos de MD da ferramenta WEKA. Figura 1. Etapas do Processo de Descoberta de Conhecimento em Base de Dados. (REZENDE, 2003) 16 A figura 1 demonstra as fases do processo de descoberta de conhecimento, que inicia com o conhecimento do domínio, em que são identificadas as bases de dados que servirão como subsídios na obtenção do conhecimento. A seleção dos dados é a primeira etapa do processo KDD que tem como propósito buscar nas diversas fontes os dados que possuem relevâncias para exploração, os quais podem estar em vários formatos, uma vez que as organizações podem possuir bancos de dados com tecnologias diferentes. Um outro fator importante na seleção é escolher os dados para satisfazer o que deve ser atingido como, por exemplo, na área do marketing, que são selecionados os dados que possam ajudar a obter uma possível estratégia, a fim de conhecer o perfil dos clientes. Na área médica, por sua vez, pode-se tentar descobrir as possíveis doenças que os pacientes têm. Uma escolha errada dos dados pode levar as informações errôneas, o que prejudica a tomada de decisão (BATISTA, 2003). No pré-processamento é feita integração dos dados, eliminação de dados redundantes ou faltantes e a transformação para que os dados processados assumam um único formato. Após o processamento dos dados, são realizadas minerações de dados, para a extração de padrões e posteriores análises com a finalidade de se tomar decisões com o conhecimento obtido (REZENDE, 2003). Essa fase busca melhorar os dados selecionados, pois os mesmos podem ter informações que não poderão ajudar na descoberta de conhecimento. Para Berson (1997), os dados devem passar pelos processos de limpeza, integração para que posteriormente sejam transformados. A transformação dos dados é a fase após o pré-processamento que consiste em converter os dados, que possuem formatos diferentes, em formatos que possam ser entendidos pelo algoritmo de mineração de dados como, por exemplo, o ARFF (formato da ferramenta WEKA). Os dados são padronizados em um único formato para que algoritmo os entenda (SILVA, 2000). A mineração de dados é uma fase que reúne um conjunto de técnicas capazes de retirar dos dados tratados novos conhecimentos (REZENDE, 2003). A etapa de mineração de dados será descrita com mais detalhadamente na seção 2.4. A interpretação/análise é feita após a mineração dos dados, buscando estimar os resultados encontrados pelo algoritmo minerador a partir de conjunto de dados. 2.4 Mineração de Dados 17 Mineração de dados é um método que possibilita aos usuários obterem os conhecimentos de grandes bancos de dados (FAYYAD et. all., 1996). Para analisar as informações é necessário usar alguns procedimentos técnicos da mineração dos dados que podem determinar algumas características, tais como perfil, tendências, marketing, etc. A obtenção do conhecimento das informações que estão armazenadas nas bases é feita com a extração dos dados, na qual são usados os algoritmos de mineração. Ramos (1999), Fayyad et. all. (1996) e Gurovitz (1996) descrevem duas funcionalidades relevantes da mineração de dados, a descoberta do conhecimento e a previsão. A descoberta do conhecimento é a busca pelas informações importantes para a tomada de decisão, que não provêm de bases de dados operacionais, as quais podem ser realizadas apenas as operações tais como, inserção, alteração, atualização e exclusão de valores para os atributos e não podem suportar esse tipo de análise. Para o caso proposto, serão utilizados conjuntos de dados que passaram pelas fases de processamento e transformação por estarem aptos para este tipo de análise, ou seja, mineração de dados. A previsão contribui para o conhecimento das informações, auxiliando o gerente a definir as possibilidades de ocorrência de ações capazes de determinar comportamentos e perfis de clientes. As análises e previsões minimizam esforços como o tempo que seria gasto para determinar esses comportamentos ou erros que são prejudiciais ao tomar decisões. Existem várias ferramentas que consiste em um conjunto de algoritmos que realizam a tarefa da fase de mineração de dados, tais como MLC++ e WEKA. O MLC++ é uma ferramenta de mineração de dados, baseada em aprendizagem de máquina, que foi desenvolvida na linguagem C++, para extração de novos conhecimentos, e fornece como resultados para análise taxas de precisão, de aprendizado e a matriz de confusão (REZENDE, 2003). O WEKA será abordado na subseção 2.5 com maior ênfase por ser a ferramenta usada na mineração de dados deste trabalho. Segundo Berson (1997) e Ramos (1999), a mineração de dados pode ser realizada de acordo com algumas tarefas de mineração, tais como: associação, agrupamento e classificação. A seguir será apresentada uma breve descrição de cada uma dessas tarefas. 2.4.1 Associação Segundo Brusso (2000), as regras de associação são derivadas dos relacionamentos entre os dados processados, associações de condição e resultados. Na associação busca-se 18 encontrar a relação que existe entre os valores do conjunto de dados analisado. As relações encontradas ajudarão no processo de tomada de decisão. Um exemplo de regra de associação, para estimar a porcentagem e saber se houve um aumento nas vendas, são feitas associações do cliente do sexo masculino e do produto que comprado, que são fraldas, pode se inferir que a pessoa do sexo masculino também compra cervejas. Segundo Brusso (2000), é feito um cálculo da porcentagem da associação para encontrar a freqüência da compra de fraldas pelo do cliente do sexo masculino que também compra cervejas, então com isso realizar promoções e colocar os produtos um próximo ao outro para aumentar as vendas. 2.4.2 Agrupamento ou clustering No agrupamento criam-se conjuntos que possuem características semelhantes, com o intuito de agrupar os atributos dos dados processados. Esse conjunto ou classe pode determinar comportamentos de usuários. As similaridades do conjunto de dados é que determina um novo conjunto ou classe (RAMOS, 1999). A Figura 2 demonstra um tipo de agrupamento hipotético do perfil das mulheres, determinado através das coordenadas, quantidade de filhos e escolaridade. Figura 2. Agrupamento hipotético do perfil das mulheres. Como pode ser verificado na figura 2, as mulheres que têm apenas o ginásio ou ensino médio possuem em média de 3 a 5 filhos. O agrupamento é do perfil das mulheres que possuem essa escolaridade e a respectiva quantidade de filhos. 19 2.4.3 Classificação A classificação é uma tarefa da mineração de dados que consiste em avaliar os dados processados, classificando-os de acordo com as suas características. Para classificar, criam-se classes caracterizadas, e os dados processados são relacionados a essa classe por meio das peculiaridades (SILVA, 2000). Ao utilizar os algoritmos de classificação, podem-se definir os relacionamentos contidos entre os atributos dos dados processados, os quais poderão determinar uma previsão. Existem diferenças entre a associação e a classificação. Na associação é feita uma relação entre as hipóteses e a sua ocorrência para encontrar um conhecimento. Na classificação cria-se uma classe a partir das características das hipóteses (BRUSSO, 2000). Por exemplo, se os alunos acessam o sistema e têm senha de administrador de pelo menos uma máquina, então estão cursando o sétimo período. Pode-se prever e definir que é um aluno estagiário pela relação dos atributos. Com essas hipóteses é possível criar uma classe de perfil dos usuários. 2.5 Ferramenta WEKA A ferramenta WEKA foi desenvolvida pelos pesquisadores da universidade de Waikato na Nova Zelândia no ano de 1999. É uma ferramenta de mineração de dados implementada em Java que oferece suporte para vários sistemas operacionais (Windows e Linux). WEKA é um software livre por ser uma ferramenta que possui o código aberto e tem fins acadêmicos, estando disponível na pagina do próprio WEKA para ser utilizado por qualquer usuário (KIRKBY, 2004). 2.5.1 Ambiente da Ferramenta WEKA A tela principal da ferramenta é o WEKA GUI Chooser e dispõe dos botões, Simple CLI, Explorer e Experimenter, conforme pode ser vista na Figura 3. O ambiente para 20 realização de análises é o Explorer. O Simple CLI serve apenas para mostrar como são executados os algoritmos do WEKA por linha de comando. A figura 4 mostra como ocorre a execução por linha de comando (KIRKBY, 2004) (WEKA, 2005). Figura 3. Tela inicial da ferramenta WEKA. Figura 4. Execução do Simple CLI em linha de comando. Para ser usado o ambiente gráfico WEKA Knowledge Explorer da ferramenta precisase clicar no botão Explorer localizado na tela inicial. Esse é constituído pelas abas de Preprocess, Classify, Cluster, Associate, Selected attributes e Visualize. A aba do Classify terá maior ênfase de explanação deste trabalho, porque este é destinado a fazer o comparativo dos algoritmos de classificação. Cada uma dessas abas do Explorer tem as suas funcionalidades e ficam ativas após a seleção de um conjunto de dados na aba do préprocessamento (KIRKBY, 2004) (WEKA, 2005). No pré-processamento (Preprocess), pode ser aberto um arquivo que tem o formato ARFF, suportado pela ferramenta WEKA. O arquivo com a extensão ARFF será comentado na 21 subseção 2.5.1.1. A partir dos dados carregados no Preprocess é possível realizar a tarefa de mineração, com os algoritmos da aba do Classify, para encontrar o conhecimento, o que terá mais enfoque de explicação (KIRKBY, 2004) (WEKA, 2005). A mineração só poderá ser feita se os dados estiverem pré-processados e transformados, conforme citado na subseção 2.3.1. A subseção 2.5.1.1 expõe os passos para a transformação de um conjunto de dados préprocessado. Agrupamento (Cluster) utiliza os algoritmos para encontrarem dados que tenham semelhança, formando grupos ou perfis (WEKA, 2005). A associação (Associate) serve para agregar as regras encontradas, descobrimento das regras de associação, a partir da utilização de algoritmos é feita à associação dos valores dos atributos. Para selecionar e definir a relevância dos atributos utiliza-se a Seleção de Atributos (Select Attributes). Por fim, a visualização do conhecimento, com a definição de instâncias do arquivo ARFF que representam as coordenadas “x” e “y”, dá-se através do visualizador (Visualize) (WEKA, 2005). A Fig. 7 mostra a tela do Explorer WEKA, com a aba do Preprocess selecionada. Figura 7. Tela do Explorer WEKA. 2.5.1.1 Arquivo ARFF 22 Para analisar os dados processados por meio da ferramenta WEKA é necessário transformar os dados do banco de dados em um arquivo que esteja com a extensão *.arff (Attribute Relation File Format). Primeiro é preciso exportar os dados da base para o formato com delimitações, separados por vírgulas (o próprio sistema de gerenciamento de banco de dados possibilita essa exportação) e ser salvo com a extensão CSV. Após ter sido exportado e salvo como CSV, o arquivo é aberto como texto simples e novamente salvo com a extensão ARFF. Para transformar no formato ARFF é necessário seguir os seguintes passos: 1. Abrir o arquivo com as delimitações em um editor de textos; 2. Adicionar um nome para o conjunto de dados após @relation. Forma genérica: @relation <nome_do_conjunto>. Por exemplo, @relation DiabeteMellitus. 3. Em uma nova linha inserir os nomes dos atributos do conjunto de dados depois de @attribute. Exemplo da forma genérica: @attribute <nome_do_atributo> o próximo atributo deve estar em outra linha. O atributo tem o seu tipo numéricos representados por numeric ou real, ou nominais. Se possuir valores nominais como ‘sim’, ‘não’, ‘F’ ou ‘M’ devem ser apresentados dentro de chaves como: @attribute sexo {F,M} os valores dentro das chaves, automaticamente vão ser reconhecidos como os valores de cada atributo. Caso exista atributo que não possua valor, este deve ser substituído por ‘?’ interrogação; 4. Acrescentar o @data para que o algoritmo minerador entenda que vem logo após são os dados processados para a predição. 5. É opcional usar comentários dentro do arquivo, mas se necessário deve estar entre os símbolos ‘%’ porcentagem. Exemplo: %<comentário> %; 6. Salvar o arquivo: escolher a opção Salvar como..., selecionar em Salvar como tipo: Texto sem formatação. Por fim, inserir um nome para o arquivo como: <nome_do_arquivo>.arff e o arquivo já estará pronto para ser analisado. Conforme mostra a figura 5, o arquivo não está formatação que a ferramenta precisa, pois foram apenas exportados de uma base de dados. Este arquivo está aberto como texto simples. Na figura 6 é apresentado o conjunto que foi formatado seguindo os passos de formatação. 23 Figura 5. Arquivo sem formatação do ARFF. Figura 6. Arquivo com formatação ARFF. 2.5.1.2 Classificação (Classify) A Figura 8 (1) mostra a tela principal do Classify a qual permite que o usuário possa classificar os dados processados na predição (WEKA, 2005). Esta aba contém o campo classificador (Classifier), indicado pelo número 2, onde pode ser definido o algoritmo de classificação que será utilizado. O Test Options (3) apresenta as opções que definem como será feito o teste e tipo de saída após a mineração de dados (4). A Figura 8 (5) mostra o local onde pode ser selecionado o atributo da predição. O botão Start (6) inicia a execução da tarefa de mineração. Caso a tarefa de mineração esteja sendo executada, poderá ser parada no botão, Stop (7). O Result list 24 (8) mostra a lista com os tipos dos algoritmos usados na tarefa de mineração, que podem ser selecionados posteriormente para visualizar o resultado no Classifier output (12). Cada vez que é utilizado um algoritmo na tarefa de mineração também é mostrado um texto de Log (9) e o Status (10). 1 2 11 3 4 5 7 6 8 9 10 Figura 8. Tela principal do Classify. O Classifier, do classificador Classify da ferramenta WEKA é a parte que dispõe os vários tipos de algoritmos de classificação. Os algoritmos de classificação implementados na ferramenta WEKA utilizam as técnicas de aprendizagem de máquina tais como regras, árvore de decisão, bayesianos, redes neurais, aprendizado lazy (preguiçoso) e aprendizado meta. Para a mineração pode ser escolhido apenas um algoritmo por vez (WEKA, 2005). A lista dos algoritmos de classificação pode ser vista ao clicar na opção GenericObjectEditions (1), conforme figura 9. 25 1 Figura 9. Opção para escolha do algoritmo classificador. A tabela 1 apresenta as técnicas de classificação utilizada na ferramenta WEKA, com os respectivos algoritmos. Técnica de classificação Algoritmo(s) Bayes (probabilístico) NaiveBayes, NaiveBayesSimple Function (Técnica de regressão linear e logística) LinearRegression, Logistic, SMO, VotedPerceptron Lazy (Técnica baseada em instâncias) IB1, IBk, KStar Meta (Regressão por discretização) AdaBoostM1, AdditiveRegression, AttributeSelectedClassifier, Bagging, ClassificationViaRegression, CostSenitiveClassifier, CVParameterSelection, FilteredClassifier, MetaCost, MultiClassClassifier, MultiScheme, RegressionByDiscretization, Stacking, ThresholdSelector Misc (Técnica de discretização) Hiperpipes, VFI Rules (Regras de decisão) j48.PART, DecisionTable, OneR Trees (Árvores de decisão) ADTree, DecisionStump, Id3, j48.J4 Tabela 1: Algoritmo de classificação por técnica. Na seção 2.6 serão explicados, com destaque, os algoritmos de classificação por regras, pois serão utilizados na predição do conjunto de dados. Os algoritmos usados são, j48.PART, DecisionTable e OneR. Estes algoritmos foram escolhidos para realizar a tarefa de mineração de dados por fornecer clareza nos resultados, facilitando compreensão, pois a maneira de interpretação do conhecimento gerado é simples. As regras geradas possuem simplicidade por serem apresentadas em forma de condições (REZENDE, 2003). Por exemplo, se o paciente se sente bem é igual a sim então este paciente está classificado na classe saudável (REZENDE, 2003). A funcionalidade de testes do classificador do WEKA está no Test Options, do item 3 na figura 8, com as alternativas Use training set, Supplied test set, Cross-validation, 26 Percentage split, que podem ser definida a partir da seleção de apenas uma alternativa (KIRKBY, 2004). O User training set é uma opção que usa, para realização de teste, o mesmo conjunto de treinamento utilizado para predição, que provem da seleção feita na aba anterior do Preprocess (KIRKBY, 2004). O teste pode ser feito também com um outro conjunto de dados como, o conjunto de teste, o qual poderá ser selecionado em Supplied test set através do botão Set, permitindo escolher, também, um outro arquivo para o teste. Então, se faz os testes com o conjunto clicando-se no botão Start (KIRKBY, 2004). Existe outra opção para fazer o teste, o Cross-validation, em que o conjunto de dados pode se dividido em partes, uma para o teste e a quantidade restante para o treinamento. O conjunto de treinamentos pode ser definido na caixa de texto folds (KIRKBY, 2004). A última opção de testes é o Percentage split, nela pode-se definir a porcentagem que será usada para o treinamento e o restante para o teste (KIRKBY, 2004). O botão More Options é a opção de configuração para a saída dos dados processados que foram minerados (1). Para a saída existem as seguintes opções, Output model, Output perclass stats, Output entropy evaluation measures, Output confusion matrix e o Store predictions for visualization, no item 2 da figura 8. No Output model é mostrado todo o conjunto de dados que foi classificado. Output per-class stats exibe a estatística da precisão, a medida e classe. Output entropy evaluation measures mostra a avaliação das medidas de entropia. Output confusion matrix mostra como saída a matriz de confusão contendo nela a quantificação das instâncias. No Store predictions for visualization apresenta a predição de classificador a partir do Result list. O Cost-sensitive evaluation permite que seja definido um custo para a predição, deve ser informado o valor ao clicar no botão Set para que seja mostrada a análise dos erros, por fim fazer a executar da mineração clicando no botão Start (KIRKBY, 2004) (WEKA, 2005). Fig. 10 apresenta a tela com as opções para saída dos dados processados. 27 1 2 Figura 10. Opções de saída dos dados processados. O resultado da classificação pode ser visualizado no Classifier output, conforme mostra no item 1 da Fig. 11. 1 Figura 11. Resultado do classificador. 28 O WEKA possui dois tipos de classificadores: predição categórica e numérica. Para Rezende (2005), a predição categórica ou classificação identifica as semelhanças contidas nos conjuntos ou classe com a finalidade de determinar uma nova classe de dados. Por exemplo, para a ferramenta WEKA: se sol = ‘sim’ e vento = ‘não’ então vai a praia = ‘sim’, usa-se a coleção de dados no formato arff. O atributo da predição está no próprio arquivo arff selecionado na opção de test (Test options), e determina as características. Para o conjunto que procura descobrir a previsão do tempo, citado anteriormente, as características são os atributos ‘sim’ ou ‘não’, poderia ser também a cor dos olhos: preto, azul, verde, cinza, ou pele negra, amarela, branca. Já a predição numérica ou regressão se difere porque o atributo de predição é contínuo, o resultado é uma quantidade numérica, por exemplo: a probabilidade de uma pessoa ganhar um prêmio em um jogo de dados com as possibilidades de acerto, ou o aluno passar para o período seguinte com as chances de provas oferecidas. Para Witten (2000), a predição numérica ou regressão é a previsão feita baseada nos resultados quantitativos numéricos. 2.6 Algoritmos de classificação por regras da ferramenta WEKA Na tarefa de mineração usando a classificação através das técnicas implementadas, serão descritos os algoritmos de regra de decisão do classificador do WEKA: j48.PART, OneR e DecisionTable. Estes algoritmos serão usados para predizer as instâncias nas classes, ou seja, na obtenção do conhecimento. O j48.PART é um algoritmo que foi construído baseado no j48.J48 que, a partir das árvores de decisão geradas, cria as regras de decisões (WEKA, 2005). Este algoritmo gera as regras utilizando um determinado conjunto de dados que possui instâncias, nas quais são compostas pelos valores dos atributos. Dentre os atributos do conjunto tem o atributo de predição que é utilizado para predizer as instâncias em uma determinada classe e o atributoclasse com as respectivas classes. Ao executar o algoritmo, as instâncias são separadas de acordo com as classes a qual pertence, e isto ocorre até que seja testada a última instância. A partir desta classificação das instâncias nas classes são geradas as regras. Na ferramenta WEKA o algoritmo j48.PART possui alguns paramentos para gerar as regras de decisão, que são: binarySplits, confidenceFactor, minNumObj, numFolds e reducedErrorPruning (WEKA, 2005). O parâmetro binarySplits tem os valores FALSE, 29 padrão, e TRUE. A mineração de um determinado conjunto de dados com o valor FALSE cria as regras das classes sem fazer a divisão binária, mas se alterado para TRUE cria as regras fazendo a divisão binária dos atributos categóricos. O confidenceFactor é o parâmetro de fator de confiança, o qual tem o objetivo de analisar a precisão das regras geradas (ROMAO, 2002). O valor padrão do confidenceFactor do WEKA é 0.25. O parâmetro minNumObj permite definir a quantidade mínima de instâncias por classe. O valor padrão do minNumObj é 6 e pode ser alterado para um valor maior, dependendo da quantidade ao gerar executar o algoritmo pode gerar regras diferentes (WEKA, 2005). E o reducedErrorPruning têm as opções FALSE que é o valor padrão, este valor pode ser alterado para TRUE com a finalidade de realiza a poda, segundo WEKA (2005). O algoritmo OneR é baseado em regras de decisão e gera apenas uma regra na execução do algoritmo. A regra é gerada a partir de um atributo de classificação (LÓPES et. all., 2004). Este algoritmo possui um único parâmetro, o minBucketSize, no qual pode ser definida a quantidade mínima de exemplos ou instâncias com valores categóricos para determinar a criação de uma regra, pois no conjunto completo de dados pode ter também atributos com valores numéricos. O valor padrão deste parâmetro é 6, mas pode ser alterado. Existem dois casos de erro na execução do algoritmo, pois o valor do minBucketSize não maior que a quantidade de instâncias que existe no conjunto de dados, nem zero. O atributo da predição deve ser categórico, mas no conjunto talvez não se tenha somente atributos do tipo categórico como, por exemplo, a classe X tem os atributos A, B e C, aonde A e C são do tipo categórico e C do tipo numérico (WEKA, 2005). DecisionTable apresenta, como resultado da classificação, dados processados em forma de tabelas de decisão (SOUZA, 2000a). A tabela de decisão é uma matriz que representa as condições e ações combinadas. As condições, segundo Souza (2000a), são um conjunto de informações utilizadas para tomar as decisões. Uma decisão é uma ação que só poderá ser realizada caso a condição seja satisfeita. As ações são as operações que deverão ser executadas após a realização das combinações de condições. A partir do resultado das ações efetuadas através das condições são criadas as regras, que podem ser denominadas regras de decisão (BORGES, 2005). A tabela 2 demonstra a estrutura genérica de uma tabela de decisão. 30 Regra 1 Regra 2 Regra 3 Condição 1 Verdade Falso Verdade Condição 2 Falso Verdade Falso Condição 3 Verdade Falso Falso Ação 1 X Ação 2 Ação 3 X X X X X Tabela 2: Forma genérica de uma tabela de decisão (BORGES, 2005). O algoritmo DecisionTable, em especifico, ao ser selecionado, dispõe alguns parâmetros de configuração como, crossVal, displayRules e maxStale (WEKA, 2005). No crossVal pode ser definido um valor para a validação cruzada, a qual divide parte do conjunto para o treinamento e parte para o teste.O crossVal tem como parâmetro padrão o valor 1, que pode ser alterado, por exemplo, de 1 para 5, então o conjunto de dados é dividido em 5 partes, em que 4 delas é usado para treinamento e 1 para teste. Segundo Rezende (2003) a classificação é feita à quantidade de vezes que foi definida na validação cruzada. Se o valor definido foi 5, repete a classificação 5 vezes, a parte teste é usada para validar a parte de treinamento, isto é feito para melhorar as regras geradas para as classes (REZENDE, 2003). O displayRules possui dois valores, False e True, quando a opção selecionada é verdadeira então mostrada a quantidade de regras que foi gerada, caso contrário não mostra as regras. O maxStale é a opção que pode ser informada a quantidade máxima de conjuntos e encontrar a melhor tabela, o valor padrão desse parâmetro é 5 (WEKA, 2005). 31 3 MATERIAL E MÉTODOS Neste capítulo serão apresentados os recursos utilizados para o desenvolvimento do trabalho, como bibliográficos, software e hardware, local onde decorreu o mesmo, período, os materiais utilizados e a metodologia adotada. 3.1 Local e Período O trabalho foi desenvolvido no período de agosto a setembro de 2005, no Laboratório de Informática do Centro Universitário Luterano de Palmas, tanto a parte dissertativa quanto os teste realizados com a ferramenta de mineração de dados WEKA. 3.2 Materiais Os recursos usados para desenvolver o trabalho como hardware, software com licença e gratuito, livros e fontes bibliográficas foram disponibilizados pelo curso de Sistemas de Informação/CEULP/ULBRA, na Internet e na biblioteca. 3.2.1 Hardware Foi utilizado o computador do laboratório do curso de Sistemas de informação do Centro Universitário Luterano de Palmas. - AMD K6-2 550Hz; - 122 MB de RAM; - HD 10 GB. 3.2.2 Software licenciando e gratuito - Microsoft Windows 2000 Professional; - Microsoft Office 2000 Professional; 32 - Internet Explorer 6.0; - Acrobat Reader 6.0; - Ferramenta WEKA versão 3-2; 3.2.3 Fontes bibliográficas - Trabalho de Graduação; - Disertação de Mestrado; - Teses de Doutorado; - Artigos; - Site da Ferramenta WEKA - Sites diversos. 3.2.4 Metodologia O projeto foi desenvolvido em duas etapas: a primeira para pesquisas, estudos e desenvolvimento do embasamento teórico, concluído no final de setembro; e a segunda para os testes com a ferramenta WEKA a fim de obter os resultados e redação dos mesmos no final de outubro. Para que fosse possível fazer a descrição das atividades teve a necessidade de realizar pesquisas sobre: - Conceitos e aplicações de Aprendizagem de Máquina; - Conceitos e fases do Processo de Descoberta de Conhecimento em Base de Dados; - Conceitos, arquitetura e tarefas de Data Mining; - Características e funcionamento da ferramenta de mineração de dados WEKA; - Algoritmos de classificação por regras da ferramenta WEKA; - Testes com os algoritmos de classificação por regras da ferramenta WEKA. - Estudos das aplidações dos algoritmos em bases de dados hipoteticas tais como, iris, titanic e bandeiras. 33 4 RESULTADOS E DISCUSSÃO Para as experimentações dos algoritmos de classificação de regras de decisão da ferramenta WEKA é necessário escolher os conjuntos de dados, que estarão divididos em duas partes, a primeira para o treinamento e a segunda para o teste, as quais serão especificadas na subseção 4.1. O conjunto de dados de treinamento é usado para construir o modelo de dados como, por exemplo, regras de decisão, árvores de decisão, entre outros. O conjunto de teste é utilizado para estimar os erros do conjunto de treinamento. A partir da mineração utilizando os algoritmos de classificação por regras de decisão j48.PART, OneR e DecisionTable será apresentada a comparação de taxas de acertos e erros, o intervalo de tempo gasto durante cada execução e as médias. no caso de valores numéricos, para a classe. Na seção 4.2 será apresentado um comparativo de desempenho entre os resultados obtidos nos experimentos. 4.1 Conjuntos de dados Os conjuntos de dados utilizados para os experimentos foram divididos em dois subconjuntos: o conjunto de dados de treinamento (para a descoberta do conhecimento) e o de teste (para a avaliação do conhecimento gerado). Neste trabalho foram utilizados três conjuntos de dados disponíveis na própria ferramenta WEKA, os quais, cada um deles, foi dividido em duas partes, 70% das instâncias foram separadas para o treinamento e 30% para os testes. Os conjuntos são íris e titanic disponibilizados pela ferramenta WEKA e bandeiras (BANDEIRAS, 2005). As partes de treinamento dos dois conjuntos foram denominadas de íris.arff, titanic.arff e bandeiras.arff, com valores de 70 (setenta) instâncias em cada um. Para o teste íristest.arff, titanic-test.arff e bandeiras-test.arff, com valores de 30 (trinta) instâncias. Os atributos dos conjuntos de treinamento e teste correspondentes são iguais, diferenciando apenas os valores das instâncias. O par de conjuntos de dados íris, treinamento e teste, são compostos por 5 atributos com valores do tipo real e nominal, que são apresentados na tabela 3 (WEKA, 2005). Os atributos deste conjunto são: sepallength, sepalwidth, petallength e petalwidth. Já o atributo-classe pode ter um dos seguintes valores: Irissetosa,Iris-versicolor e Iris-virginica, tal como apresentados na tabela 3. 34 Atributo Tipo/Valores sepallength (comprimento da real sépala) sepalwidth (largura da sépala) real petallength (comprimento da real pétala) petalwidth (largura da pétala) real class (classe) Iris-setosa,Iris-versicolor,Iris-virginica Tabela 3: Atributos, tipo e valores do conjunto de dados iris. O class em destaque é o atributo classificador do tipo nominal. Os gráficos 1 e 2 ilustram a distribuição de porcentagem dos valores de cada classe para o conjunto de treinamento e teste, respectivamente. No caso do conjunto de treinamento, 40% dos exemplos pertencem à classe Iris-setosa, 30% para a classe Irisvirginica e 30% para a classe Iris-versicolor. Iris (Treinam ento) 30% 40% Iris-setosa Iris-virginica Iris-versicolor 30% Gráfico 1. Conjunto de íris (treinamento). No caso do conjunto de dados de teste, a classe Iris-setosa tem 27% dos exemplos, Iris-versicolor 23% e Iris-virginica 50% , conforme pode ser analisado no Gráfico 2. 35 Iris (Teste) 23% 27% Iris-setosa Iris-virginica Iris-versicolor 50% Gráfico 2. Conjunto de íris (teste) O conjunto titanic é composto dos atributos que definem as pessoas que sobreviveram ou morreram durante o naufrágio, os quais podem ser do sexo feminino ou masculino, criança ou adulto, também a classe que viajava como, primeira, segunda ou terceira, e, ainda, se era um funcionário de bordo. O atributo-classe do conjunto é o class (classe sobrevivente), os valores podem ser: yes ou no (sim ou nao). A descrição dos 4 atributos que compõe o conjunto titanic pode ser observado na Tabela 4. Atributo Tipo/Valores age (idade) adult, child (adulto, criança) sex (sexo) male, female (masculino, feminino) type (tipo da classe) 1st, 2nd, 3rd, crew (1ª,2ª e 3ª classe, pessoal de bordo) class (classe de sobrevivente) yes, no (sim, nao) Tabela 4: Atributos, tipos e valores dos conjuntos de dados titanic. O atributo classificador é o class do tipo nominal. O gráfico 3 apresenta a porcentagem dos exemplos pertencentes a cada classe do conjunto de treinamento. Neste caso, a distribuição foi quase equiparada, sendo que 48% dos exemplos são da classe class yes e 52% da class no. 36 Titanic (treinam ento) 48% class - yes class - no 52% Gráfico 3. Conjunto de titanic (treinamento). Já o gráfico 4 apresenta a porcentagem dos exemplos do conjunto de teste com relação ao valor do atributo-classe. A classe class yes possui 43% dos exemplos e a classe class no tem 57% dos exemplos. Titanic (teste) 43% survided - yes survided - no 57% Gráfico 4. Conjunto de titanic (teste) O conjunto de dados bandeiras é composto por atributos das bandeiras de vários países tais como, o país contendo como valor o nome de 194 países; o continente que são: Asia, Europa, Africa, Oceania, AmericaNorte e AmericaSul; a quadrante que pode ser NE, SW, SE ou NW; a língua que pode ter os seguintes valores: Portugues, Outros2, OutraIndoEuropeia, Arabe, Ingles, Espanhol, Alemao, Frances, Eslava, Chinês ou Outros1; a religião que pode ser: Muculmana, Marxista, Crista, Catolica, Etnica, Budista, Hindu ou Outra; o atributo corPrincipal têm um dos valores: green, red, blue, gold, white, orange, black, brown; a supEsq pode ser: black, red, green, blue, white, orange ou gold; o class é atributo-classe que possui os valores: green, red, white, black, blue, gold, orange e brown; 37 Os atributos Vermelho, Laranja, Verde, Azul, soisEstrelas, crescente, Amarelo, Texto, Branco, triângulos, Preto, Icon e Animado podem ter os valores FALSE ou TRUE; os atributos area, população, colunas, linhas, cores, círculos, cruzes, cruzesDiag, blocos são do tipo numeric (FORSYTH, 1986). Os atributos do conjunto bandeiras são apresentados na tabela 5. Atributo Tipo/Valores Afghanistan,Albania,Algeria,American-Samoa,Andorra,Angola,Anguilla, Antigua-Barbuda,Argentina,Argentine,Australia,Austria,Bahamas,Bahrain, Bangladesh,Barbados,Belgium,Belize,Benin,Bermuda,Bhutan,Bolivia,Botswana, Brazil,British-Virgin-Isles,Brunei,Bulgaria,Burkina,Burma,Burundi,Cameroon, Canada,Cape-Verde-Islands,Cayman-Islands,Central-African-Republic,Chad,Chile, China,Colombia,Comorro-Islands,Congo,Cook-Islands,Costa-Rica,Cuba,Cyprus, Czechoslovakia,Denmark,Djibouti,Dominica,Dominican-Republic,Ecuador,Egypt, El-Salvador, Equatorial-Guinea,Ethiopia,Faeroes,Falklands-Malvinas,Fiji,Finland ,France,French-Guiana,French-Polynesia,Gabon,Gambia,Germany-DDR,GermanyFRG,Ghana,Gibraltar,Greece,Greenland,Grenada,Guam,Guatemala,Guinea,GuineaBissau, Guyana,Haiti,Honduras,Hong Kong, Hungary, Iceland, India, Indonesia, Iran, Iraq, Ireland,Israel,Italy,Ivory-Coast,Jamaica,Japan,Jordan,Kampuchea, Pais Kenya,Kiribati,Kuwait,Laos,Lebanon,Lesotho,Liberia,Libya,Liechtenstein, Luxembourg,Malagasy,Malawi,Malaysia,Maldive-Islands,Mali,Malta,Marianas, Mauritania,Mauritius,Mexico,Micronesia,Monaco,Mongolia,Montserrat,Morocco, Mozambique,Nauru,Nepal,Netherlands,Netherlands-Antilles,New-Zealand, Nicaragua,Niger,Nigeria,Niue,North-Korea,North-Yemen,Norway,Oman, Pakistan, Panama,Papua-New-Guinea,Parguay,Peru,Philippines, Poland, Portugal, Puerto-Rico,Qatar,Romania,Rwanda,San-Marino,Sao-Tome, Saudi-Arabia, Senegal, Seychelles,Sierra-Leone,Singapore,Soloman, Islands, Somalia, South Africa, South-Korea,South-Yemen,Spain,Sri-Lanka,St-Helena,St-Kitts-Nevis, StLucia,St Vincent, Sudan, Surinam, Swaziland,Sweden, Switzerland, Syria, Taiwan, Tanzania,Thailand,Togo,Tonga,Trinidad Tobago, Tunisia,Turkey, Turks-CocosIslands,Tuvalu,UAE,Uganda,UK,Uruguay,US-Virgin-Isles, USA, USSR, Vanuatu, Vatican-City,Venezuela, Vietnam,Western Samoa, Yugoslavia, Zaire, Zambia, Zimbabwe Continente Asia, Europa, Africa, Oceania, AmericaNorte, AmericaSul Quadrante NE,SW,SE,NW area Numeric População Numeric 38 Portugues,Outros2, OutraIndoEuropeia,Arabe,Ingles,Espanhol,Alemao,Frances, Língua Eslava,Chines,Outros1 Religião Muculmana,Marxista,Crista,Catolica,Etnica,Budista,Hindu,Outra Colunas Numeric Linhas Numeric Cores Numeric Vermelho TRUE,FALSE Verde TRUE,FALSE Azul TRUE,FALSE Amarelo TRUE,FALSE Branco TRUE,FALSE Preto FALSE,TRUE Laranja TRUE,FALSE corPrincipal green,red,blue,gold,white,orange,black,brown Círculos Numeric Cruzes Numeric cruzesDiag Numeric Blocos Numeric soisEstrelas FALSE,TRUE Crescente FALSE,TRUE Triângulos FALSE,TRUE Icon FALSE,TRUE Animado FALSE,TRUE Texto FALSE,TRUE supEsq black,red,green,blue,white,orange,gold class green,red,white,black,blue,gold,orange,brown Tabela 5: Atributos, tipos e valores do conjunto de dados bandeira. No gráfico 5 é apresentada a porcentagem dos exemplos com relação ao valor do atributo-classe, class, do conjunto de treinamento. A classe red tem 38% de instâncias, a blue com 26%, a green tem 20%, a white com 9%, a gold tem 6%, a black com 1% e a orange e brown tem 0%. 39 Bandeiras (treinamento) 6% 0% green 20% 26% red w hite black blue gold 1% 9% 38% orange brow n Gráfico 5. Conjunto de bandeiras (treinamento). O gráfico 6 apresenta as porcentagens dos exemplos do conjunto de teste, de acordo com as classes. A classe a red tem 38% de instâncias, blue com 23%, green tem 20%, a black com 7%, a gold tem 7%, a white com 3%, orange com 3% e brown com 0%. Bandeiras (teste) 7% 3% 0% 20% green red w hite 23% black blue gold 7% 37% 3% orange brow n Gráfico 6. Conjunto de bandeiras (teste) Os conjuntos de dados apresentados nesta seção foram utilizados para realização dos experimentos com os algoritmos de classificação por regras de decisão. 4.2 Resultados dos experimentos realizados utilizando os algoritmos de classificação de regras de decisão Os experimentos foram realizados utilizando os algoritmos de classificação de regras de decisão da ferramenta WEKA j48.PART, DecisionTable e OneR com a finalidade de obter resultados tais como, as regras de decisão apresentada na subseção 4.2.1, as informações das 40 instâncias classificadas corretamente e incorretamente, subseção 4.2.2, a matriz de confusão e o tempo de execução na subseção 4.2.3. 4.2.1 Regras geradas pelos algoritmos Foram realizados experimentos utilizando os algoritmos de aprendizagem de máquina de regras de decisão. Os algoritmos de regras de decisão, j48.PART, OneR e DecisionTable, são usados para classificar as instâncias nas classes a partir dos conjuntos de dados íris, titanic e bandeiras, de treinamento e teste. Na subseção 4.2.1.1 serão mostrados os resultados obtidos com o algoritmo j48.PART usando os 3 conjuntos de dados definidos anteriormente. Na subseção 4.2.1.2 os resultados do algoritmo OneR e na subseção 4.2.1.3 os resultados do DecisionTable. Vale a pena salientar que o nome do atributo-classe do conjunto de dados íris é o class (classe), titanic é o class (classe de sobrevivente) e bandeiras é o class (classe), utilizados para encontrar as regras de decisão conforme mostrado na seção 4.1. 4.2.1.1 Algoritmo j48.PART A tabela 6 mostra os resultados obtidos no experimento com o algoritmo j48.PART, bem como o nome dos conjuntos de dados, o número e as regras geradas. O parâmetro binarySplits (BS) deste algoritmo se habilitado para TRUE tem a função de criar regras binárias. A Tabela 6 apresenta os resultados obtidos usando os três conjuntos de dados. Regras de decisão - j48.PART Conjunto de dados Parâmetro Íris Padrão BS - FALSE 03 Íris BS - TRUE 03 Titanic Padrão N° de Regras Regras petalwidth <= 0.5: Iris-setosa (28.0) 03 petallength <= 4.7: Iris-versicolor (21.0) : Iris-virginica (21.0) petalwidth <= 0.5: Iris-setosa (19.0) petallength <= 4.7: Iris-versicolor (14.0) : Iris-virginica (14.0) type = 3rd: no (11.0/2.0) 41 age = adult AND sex = male: no (23.0/9.0) : yes (36.0/7.0) BS - FALSE Titanic BS - TRUE Bandeiras Padrão BS - FALSE 04 10 type != 3rd AND age = adult AND sex != male: yes (17.0/5.0) type != crew AND type != 3rd AND age = adult: no (14.0/6.0) age != adult AND type != 3rd: yes (8.0) : no (8.0/1.0) azul = TRUE AND corPrincipal = blue: blue (15.0) vermelho = TRUE AND texto = FALSE AND verde = FALSE AND populacao <= 57: red (20.0/1.0) verde = TRUE AND supEsq = red AND animado = FALSE: green (6.0) verde = FALSE AND amarelo = FALSE: white (4.0/1.0) verde = TRUE AND supEsq = black: green (4.0) verde = TRUE AND circulos > 0 AND cruzesDiag <= 0: green (5.0/1.0) verde = TRUE AND vermelho = TRUE AND soisEstrelas <= 0: red (5.0) preto = TRUE: gold (4.0/1.0) branco = TRUE: white (4.0/1.0) : red (3.0/2.0) Bandeiras BS - TRUE 10 corPrincipal != blue AND pais != Egypt AND lingua != Outros1 AND pais != Gabon AND pais != Israel AND pais != Kiribati AND pais != Algeria AND pais != Burundi AND pais != Cyprus AND pais != Indonesia AND pais != Brunei AND pais != Cameroon AND pais != Germany-FRG AND pais != Jamaica AND verde != TRUE: red (19.0) corPrincipal = blue: blue (15.0) pais != Egypt AND verde != TRUE AND preto != TRUE AND area > 143.0: white (3.0) pais != Egypt AND verde != TRUE AND azul = FALSE: gold (2.0) 42 pais != Egypt AND verde = TRUE AND pais != Gabon AND pais != Cameroon AND pais != Jamaica AND pais != Algeria AND pais != Burundi AND pais != Cyprus AND continente != Europa AND pais != Bermuda AND pais != Congo AND pais != Equatorial-Guinea AND pais != Ethiopia AND pais != Grenada AND pais != Kuwait: green (14.0) pais != Egypt AND verde = TRUE AND pais != Gabon AND pais != Cameroon AND pais != Jamaica AND pais != Algeria AND pais != Burundi AND pais != Cyprus: red (8.0) pais != Egypt AND azul = FALSE AND branco = TRUE: white (3.0) pais != Egypt AND azul != FALSE: blue (3.0) pais != Egypt: gold (2.0) : black (1.0) Tabela 6: Experimentos utilizando o algoritmo j48.PART. As regras dos experimentos foram geradas a partir dos conjuntos de dados, íris, titanic e bandeiras, que utilizaram o parâmetro BS padrão e modificado. Nos experimentos realizados com o conjunto de dados íris, nos quais foram utilizados os valores FALSE (padrão) e TRUE (modificado) no parâmetro BS, pode ser observado que ambos gerou 3 regras de decisão semelhantes. As regras foram geradas a partir das instâncias, as quais pertencem ao conjunto íris. No primeiro experimento que foi utilizado o valor FALSE no BS, 28 instâncias corretas do conjunto gerou a regra da classe Iris-setosa com a seguinte condição, se a petalwidth for menor ou igual a 0.5. As instâncias são ditas corretas porque entre elas não existe nenhuma delas que tenha o valor da petalwidth maior que 0.5 na mesma classe, que é a Iris-setosa, por exemplo, para esta regra a instância correta é petalwidth igual a 0.2 e class igual a Iris-setosa, uma instância incorreta seria petalwidth igual a 0.9 e class igual a Iris-setosa. 43 Já a segunda regra da classe Iris-versicolor foi criada a partir de 21 instâncias corretas, com a condição, se a petallength for menor ou igual a 4.7, isto significa que tem a petalwidth é maior que 0.5. A regra da classe Iris-virginica tem como condição a petallength maior que 4.7 e a pentalwidth também maior que 0.5 e foi criada a partir de 21 instâncias corretas. Para melhor entendimento será demonstrada a quantidade de instâncias que foram classificadas para gerar as regras, na tabela 7. Petalwidth <= 5 >5 >5 Instâncias Corretas Incorretas Iris-setosa 28 <=4.7 Iris-versicolor 21 >4.7 Iris-virginica 21 Tabela 7: Regras de Decisão - Conjunto de Dados Iris. Petallength class (classe) Também, será utilizada uma árvore e a condição se...então, a condição da primeira regra é a seguinte, se pentalwidth <= 0.5 então Iris-setosa, dentre 70 instâncias apenas 28 delas são corretas e pôde ser usada para gera-la, isto significa que no meio das 28 não nenhuma instância que tenha a pentalwidth maior que 0.5 e a class igual a Iris-setosa. Mas no caso da pentalwidth ser maior que 0.5 então são geradas mais duas regras, a segunda e a terceira regra. Na segunda a condição é se pentalwidth > 0.5 e petallength <= 4.7 então Iris-versicolor, nesta foram utilizadas 21 instâncias corretas. E a terceira tem a condição, se pentalwidth > 0.5 e petallength > 4.7 então Iris-virginica, esta também foi gerada a partir de 21 instâncias corretas. As instâncias corretas são aquela que satisfazem todas as condições. Figura 12. Árvore de Decisão do Conjunto de Dados iris. 44 Pode-se observar que nas regras criadas não foi encontrada nenhuma instância incorreta. Vale observar que para o algoritmo gerar uma determinada regra existe o critério de criação, o qual analisa a freqüência dos valores nas instâncias, e a regra que determinou a primeira classe foi a que teve maior número de valores, na qual o petalwidth é atributo com essa maioria, ou seja, em 28 instâncias existem 28 valores com a petalwidth menor que 0.5 e a classe Iris-setosa. O algorimo j48.PART fez uma divisão das instâncias que tiveram mais ocorrências, identificou em cada classe, e gerou sua respectiva regra. No segundo experimento foi alterado o parâmetro BS para TRUE com a finalidade de criar regras de decisão, mas binárias e verificar o comportamento do algoritmo. As regras criadas são às mesmas do primeiro experimento, mas se diferenciam porque as instâncias utilizadas para gerá-las são capazes de serem classificadas através de apenas duas condições, uma positiva e a outra negativa. Vale salientar que os atributos petalwidth e petallength tiveram maior freqüência para determinar as duas condições da regra. Neste caso, o atributo da primeira regra é o petalwidth que classifica as instâncias na classe Íris-setosa através da condição, se a petalwidth é menor ou igual a 0.5 (condição positiva). Como o atributo pode ter apenas duas condições, na negativa tem-se a condição, se petalwidth é maior que 0.5, então é gerada a segunda regra. A segunda regra classifica as instâncias na classe Íris-versicolor se o valor do atributo petallength for menor ou igual a 4.7 (condição positiva). Na condição negativa as instâncias são classificadas na classe Íris-virginica, se a petallength for maior que 4.7, terceira regra. As instâncias que se classificam em uma das 3 classes são apenas as que satisfazem as condições das regras, e em relação ao experimento com o BS padrão pôde-se notar que nem todas puderam ser classificadas. Por este motivo nestes experimentos houve uma diminuição de instâncias por classe com relação ao primeiro experimento, no caso da Iris-setosa foram classificadas corretamente apenas 19 instâncias para gerar a regra binária; o mesmo aconteceu com as demais classes Iris-versicolor e Iris-virginica, pois somente 14 instâncias corretas, a tabela 8 apresenta a quantidade das instâncias. Regra petalwidth <= 0.5: Iris-setosa petallength <= 4.7: Iris-versicolor BS FALSE 28 21 TRUE 19 14 45 : Iris-virginica 21 Tabela 8: Comparação das instâncias que geraram as regras. 14 No primeiro experimento foi possível criar regras de decisão a partir das 70 instâncias porque não tinha sido estabelecido nenhum critério como, a modificação de parâmetro. Já no segundo experimento foi escolhido o parâmetro BS (binarySplits) para que as regras fossem criadas de forma diferente, no caso, binárias. Com esse critério, as regras foram criadas a partir de apenas 49 instâncias, porque as demais poderiam criar regra que tivessem mais de duas condições para o atributo de predição, o que não poderia acontecer nas regras binárias. Nos experimentos utilizando o conjunto de dados titanic, com os parâmetros padrões, foram encontradas 3 regras e com o parâmetro BS alterado para TRUE,4 regras. No primeiro experimento com o conjunto titanic, o qual se utilizou dos parâmetros padrões, pôde-se notar que houve uma divisão das instâncias para gerar as regras das classes fornecidas pelo atributo classificador bem como, class (classe de sobrevivente) igual yes ou no. É apresentada na tabela 9 a quantidade de instâncias que geraram as regras das classes. Regra class (class de sobrevivente) type = 3rd age = adult and sex = male Regra diferente de: type = 3rd e age = adult and sex = male no no yes Instâncias Corretas Erradas 11.0 2.0 23.0 9.0 36.0 7.0 Tabela 9: Regras de decisão - Conjunto de dados Titanic. Na classe class igual à no foram classificadas 11 instâncias para encontrar a regra com a condição que o atributo type é igual à 3rd. Dentre estas 11 instâncias existem 2 que type igual e 3rd, mas class igual à yes, isto implica que foi utilizado 9 instâncias corretas e 2 incorretas para gerar a regra da classe class igual à no. A condição segunda regra criada, da classe class igual à no, é se age for igual adult e sex igual male. A regra foi gerada a partir de 23 instâncias, sendo 14 delas correta e 9 incorretas. Um exemplo das instâncias incorretas seria se age for igual à adult e sex igual a female. Já a regra da classe class yes foi criada a partir do total de 36 instâncias, cuja 7 delas são incorretas. 46 O segundo experimento, na qual foi utilizado o valor TRUE no parâmetro BS, encontrou 4 regras de decisão. Notou-se que as regras deste experimento não têm semelhança com as do primeiro. Observou-se que a primeira regra foi gerada a partir do total de 17 instâncias, na qual 5 são incorretas. Este valor diminuiu com relação ao primeiro experimento devido ser regras binárias e as condições encontradas na regra são, se type for diferente da 3rd , age igual a adult e sex diferente de male então classifica as instâncias na classe class igual a yes. Nesta regra pode ser visualizada claramente a forma binária, pois a type é diferente ou igual a 3rd, se for diferente, age pode ser igual ou diferente de adult, se age for igual de adult, sex pode ser igual ou diferente de male. A segunda regra classifica as instâncias na classe class igual a no, se a type for diferente de crew e também for diferente de 3rd e age igual a adult. Esta regra foi gerada a partir do total de 14 instâncias, dentre ela 6 são incorretas. A terceira regra foi gerada através de total de 8 instâncias corretas, na qual se classifica na classe class igual a yes, se age for diferente de adult e type for diferente da 3rd. A quarta regra foi gerada partir do total de 8 instâncias, entre elas foi encontrada 1 incorreta prediz que, as instâncias podem se classificar na classe class igual no, se a type não for diferente da 3rd e se age também não for diferente de adult. Com relação aos dois experimentos, pode-se observar que no primeiro foram geradas 3 regras e no segundo 4 regras com as respectivas taxas de erros, 18 e 12 instâncias classificadas incorretamente. Portanto, o primeiro experimento teve a maior taxa de erro ao gerar as regras. Os experimentos com parâmetros padrões e modificados do algoritmo j48.PART foram realizadas também com o conjunto bandeiras. No primeiro experimento foram utilizados os parâmetros padrão do algoritmo, e foram encontradas 10 regras de decisão. Neste experimento, a primeira regra foi gerada a partir de 15 instâncias corretas que tem as seguintes condições para predizer a classe blue, se a cor azul for igual à TRUE e a corPrincipal igual a blue. Já a segunda regra classifica na classe red, se vermelho for TRUE e o texto igual a FALSE, a verde for também FALSE e a população for menor ou igual a 57. As instâncias usadas para gerar esta regra tiveram um total de 20, 19 corretas e 1 única de incorreta. 47 Na terceira regra, a qual foi criada a partir de 6 das instâncias corretas, classifica as instâncias na classe green, se verde for TRUE e a supEsq for igual a red e o atributo animado igual a FALSE. Na quarta regra, as instâncias são classificadas na classe white, se verde for igual a FALSE e amarelo também for FALSE, para gerar esta regra foi utilizado o total de 4 instâncias, na qual 3 são corretas e 1 incorreta. A quinta regra gerada com 4 instâncias corretas, classifica as instâncias na classe green através das condições, se verde for igual a TRUE e supEsq for igual a black. E ainda classifica na mesma classe green, sexta regra, se verde for TRUE e círculos maior que 0 e o atributo cruzesDiag menor ou igual a 0. Para gerar esta regra o algoritmo encontrou no total 5 instâncias, sendo que 4 delas são corretas e 1 incorreta. A sétima regra foi gerada a partir de 5.0 instâncias corretas, a qual faz classificação das instâncias na classe red, se verde for igual TRUE e vermelho também for TRUE e soisEstrelas menor ou igual a 0. Já oitava regra, gerada a partir do total de 4 instâncias, 3 delas corretas e 1 incorreta, faz a classificação das instâncias na classe gold, se preto for igual a TRUE. E a nona regra gerada através de 4 instâncias, 3 corretas e 1 incorreta, qual a classe é white classifica as instâncias, se a cor branco for igual a TRUE. Mas se as condições das regras anteriores não forem satisfeitas então classifica as instâncias na classe red, décima regra criada a partir de 3 instancias, 1 correta e 2 incorretas. No segundo experimento que utiliza TRUE para o parâmetro BS também foram encontradas 10 regras. Estas regras se diferenciam do primeiro experimento realizada com o conjunto bandeiras por serem binárias, tendo apenas em cada atributo da regra duas condições. A primeira delas foi gerada a partir de 19 instâncias corretas que tem as condições para classificar-las na classe red, se a corPrincipal for diferente blue e pais for diferente Egypt e lingua for diferente Outros1 e pais for diferente de um dos países tais como, Gabon, Israel, Kiribati, Algeria, Burundi, Cyprus, Indonesia, Brunei, Cameroon, Germany-FRG, Jamaica e verde for diferente TRUE. Já a segunda regra classifica as instâncias na classe blue através de 15 instâncias corretas, se a corPrincipal for igual a blue. A terceira regra é gerada através de 3 48 instâncias corretas e as classifica na classe white, se pais for diferente Egypt e verde for diferente de TRUE e preto diferente de TRUE a area maior que 143.0. A partir de 2 instâncias corretas foi gerada a quarta regra que classifica na classe gold, se o pais for diferente de Egypt e verde diferente de TRUE e azul igual FALSE. E a quinta o pais tem que ser diferente de Egypt e verde igual a TRUE e o país também tem ser diferente de Gabon, Cameroon, Jamaica, Algeria, Burundi, Cyprus, Bermuda, Congo, Equatorial-Guinea, Ethiopia, Grenada e do Kuwait e o continente diferente de Europa para classificar as instâncias na classe green, isto é, foi gerada a partir de 14 instâncias corretas. A sexta regra prediz os atributos para a classe red, se pais for diferente de Egypt e verde igual a TRUE e pais for diferente de Gabon, Cameroon, Jamaica, Algeria, Burundi, Cyprus, foi gerada com 3 instâncias corretas. Já a sétima classifica as instâncias na classe white, se pais for diferente Egypt e azul igual a FALSE e branco igual a TRUE, 3 instâncias corretas. Na oitava regra, para fazer à classificação das instâncias na classe blue, as condições devem ser satisfeitas tais como, se o país for diferente Egypt e azul for diferente FALSE. A regra foi gerada através de 3 instâncias corretas. Mas se o atributo pais ainda for diferente Egypt então classifica na classe gold, nona regra gerada com 2 instâncias corretas. Por fim, a décima regra gerada através de uma única instância, só classifica na classe black se nenhumas das condições das regras anteriores não forem satisfeitas. Pode se observar que nos dois experimentos as regras foram criadas a partir das instâncias do conjunto bandeiras. Vale ressaltar que no primeiro experimento as regras foram geradas com a taxa de erro de 7 instâncias classificadas incorretamente, já o segundo experimento as regras foram geradas sem nenhuma taxa de erro, pode-se considerar que este experimento encontrou as melhores regras com relação ao primeiro experimento através do algoritmo j48.PART com o BS padrão. 4.2.1.2 Algoritmo OneR Os experimentos com o algoritmo OneR foram feitos com o parâmetro minBucketSize (MBS), representado por B, com o valor padrão igual a 6 e alterado igual a 22. O valor 22 foi alterado para aumentar a quantidade mínima de instâncias por 49 intervalo com o fim de melhorar a representação das classes da regra bem como, menor número de classes para a regra. No MBS pode-se definir a menor quantidade de instâncias para encontrar uma regra. Nestes experimentos realizados para cada conjunto de dados encontrou apenas uma regra, por ser sua característica. Na tabela 10 são apresentados os resultados obtidos no experimento através do algoritmo de regras de decisão OneR da ferramenta WEKA. Conjunto de dados Parâmetro Íris Padrão MBS = 6 Íris MBS = 22 titanic Padrão MBS = 6 e MBS = 22 bandeiras Padrão MBS = 6 e MBS = 22 Regras petallength: < 2.59 -> Iris-setosa < 4.75 -> Iris-versicolor >= 4.75 -> Iris-virginica (70/70) petallength: < 2.59 -> Iris-setosa >= 2.59 -> Iris-virginica (49/70) type: 1st -> yes 2nd -> yes 3rd -> no crew -> no (50/70) pais: Afghanistan -> green Albania -> red Algeria -> white American-Samoa -> green Andorra -> green Angola -> green Anguilla -> green Antigua-Barbuda -> red Argentina -> blue Argentine -> blue Australia -> blue Austria -> red Bahamas -> blue Bahrain -> red Bangladesh -> green Barbados -> blue Belgium -> red Belize -> green Benin -> green Bermuda -> red Bhutan -> red Bolivia -> green Botswana -> blue Brazil -> green British-Virgin-Isles -> blue Brunei -> gold Bulgaria -> red Burkina -> green Burma -> red 50 Burundi -> white Cameroon -> gold Canada -> red Cape-Verde-Islands -> green Cayman-Islands -> green Central-African-Republic-> green Chad -> red Chile -> green China -> green Colombia -> green Comorro-Islands -> green Congo -> red Cook-Islands -> blue Costa-Rica -> blue Cuba -> blue Cyprus -> white Czechoslovakia -> red Denmark -> red Djibouti -> green Dominica -> green Dominican-Republic -> blue Ecuador -> red Egypt -> black El-Salvador -> blue Equatorial-Guinea -> red Ethiopia -> red Faeroes -> green Falklands-Malvinas -> green Fiji -> green Finland -> white France -> red French-Guiana -> red French-Polynesia -> red Gabon -> blue Gambia -> green Germany-DDR -> green Germany-FRG -> gold Ghana -> green Gibraltar -> red Greece -> green Greenland -> green Grenada -> red Guam -> green Guatemala -> green Guinea -> green Guinea-Bissau -> green Guyana -> green Haiti -> red Honduras -> blue Hong-Kong -> blue Hungary -> green Iceland -> green India -> green Indonesia -> white Iran -> green Iraq -> green Ireland -> green Israel -> blue Italy -> red Ivory-Coast -> green 51 Jamaica Japan Jordan Kampuchea Kenya Kiribati Kuwait Laos Lebanon Lesotho Liberia Libya Liechtenstein Luxembourg Malagasy Malawi Malaysia Maldive-Islands Mali Malta Marianas Mauritania Mauritius Mexico Micronesia Monaco Mongolia Montserrat Morocco Mozambique Nauru Nepal Netherlands Netherlands-Antilles New-Zealand Nicaragua Niger Nigeria Niue North-Korea North-Yemen Norway Oman Pakistan Panama Papua-New-Guinea Parguay Peru Philippines Poland Portugal Puerto-Rico Qatar Romania Rwanda San-Marino Sao-Tome Saudi-Arabia Senegal Seychelles -> gold -> white -> green -> red -> green -> blue -> red -> green -> green -> blue -> red -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green -> green 52 Sierra-Leone -> green Singapore -> green Soloman-Islands -> green Somalia -> green South-Africa -> green South-Korea -> green South-Yemen -> green Spain -> green Sri-Lanka -> green St-Helena -> green St-Kitts-Nevis -> green St-Lucia -> green St-Vincent -> green Sudan -> green Surinam -> green Swaziland -> green Sweden -> green Switzerland -> green Syria -> green Taiwan -> green Tanzania -> green Thailand -> green Togo -> green Tonga -> green Trinidad-Tobago -> green Tunisia -> green Turkey -> green Turks-Cocos-Islands -> green Tuvalu -> green UAE -> green Uganda -> green UK -> green Uruguay -> green US-Virgin-Isles -> green USA -> green USSR -> green Vanuatu -> green Vatican-City -> green Venezuela -> green Vietnam -> green Western-Samoa -> green Yugoslavia -> green Zaire -> green Zambia -> green Zimbabwe -> green (70/70) Tabela 10: Experimentos utilizando o algoritmo OneR. O primeiro experimento com o conjunto de dados íris utilizou o parâmetro padrão para encontrar a regra com suas respectivas condições. O algoritmo percorreu os valores contidos nas instâncias dos atributos, contabilizou as ocorrências e encontrou o petallength, o qual foi considerado para gerar as condições das classes Irissetosa, Iris-virginica e Iris-versicolor. 53 A regra tem as seguintes condições, para a classe Iris-setosa, classifica as instâncias somente se a petallength for menor que 2.59. Mas, se caso a petallength for menor que 4.75 então as instâncias são classificadas na classe Iris-versicolor, mas as mesmas forem maiores que 4.75 então são classificadas na classe Iris-virginica. A regra foi gerada a partir das 70 instâncias do conjunto de dados íris, consideradas corretas. Na figura 13 são mostradas as divisões das classes com uma única regra. Figura 13. Regras geradas a partir do algoritmo OneR. Com relação ao segundo experimento com o mesmo conjunto de dados, no qual o parâmetro MBS alterado para 22 pôde-se observar que foram encontradas apenas duas condições na regra, pois com o aumento deste valor também aumentou a quantidade de instâncias por intervalo que fez a classificação de instâncias nas duas classes Iris-setosa e Iris-virginica. Com a condição, se a petallength for menor que 2.59 então as instâncias são classificadas na classe Iris-setosa e a condição, se a petallength for maior ou igual a 2.59 classifica na classe Iris-virginica. A regra foi gerada a partir de 49 instâncias corretas do conjunto iris. Com o aumento do valor do MBS pode-se observar que não é possível chegar a classe Iris-versicolor porque houve o aumento de instâncias nos intervalos, dos quais são atribuídos as classes. Para este caso não foi uma boa solução porque diminuiu a quantidade de acertos das instâncias de 70 para 49 corretas ao gerar a regra. Quanto à classe Iris-versicolor não é possível chegar a ela com este parâmetro, pois com o aumento do valor do MBS (mínimo de instâncias por classe) conseguiu gerar a regra a partir de 49 instâncias corretas com as condições para as classes Iris-setosa e Iris-virginica. Foi feita uma outra observação que quanto mais aumentava o parâmetro, menores era a taxa de acerto da regra gerada em cada experimento. Considerou o experimento, no qual se utiliza o parâmetro padrão, com os melhores resultados em relação ao que utiliza o parâmetro alterado por ter uma taxa maior de acertos. 54 O experimento do conjunto de dados titanic que utiliza o parâmetro MBS com valor padrão e alterado pode-se encontrar a mesma regra, que classifica as instâncias na classe class yes, se type for igual a 1st ou 2nd ou classe no, se type for igual a crew ou 3rd. A quantidade de instâncias de acertos para gerar a regra deste conjunto de dados foi de 50 corretas para o conjunto com o total de 70 instâncias. O mesmo ocorre nos experimentos feitos com o conjunto de dados bandeiras que utilizou o parâmetro do algoritmo, o MBS com valor padrão e alterado para 22, no qual foi às cores foram mapeadas de acordo com o país. As cores foram mapeadas a partir de instâncias 70 corretas. A primeira condição mapeada é, se a cor class for igual a green, então o país é Afghanistan, e assim também classificam os outros países de acordo com a cor, Tabela 10. 4.2.1.3 Algoritmo DecisionTable Nestes experimentos foi usado o algoritmo DecisionTable com parâmetro padrão e modificado para predizer as regras das classes através dos conjuntos de dados íris, titanic e bandeiras, Tabela 11. O parâmetro CV apresentado na tabela é o crossVal (validação cruzada), que tem a finalidade de dividir o conjunto de dados em n partes do mesmo tamanho, n – 1 para o treinamento e 1 para teste. No segundo experimento esse parâmetro foi modificado para 8, dividiu-se em 8 partes, 7 para treinamento e 1 para teste. Foi utilizado este valor para estimar as taxas de erros e tentar melhorar as regras. Regras de decisão – DecisionTable Conjunto de dados Íris Parâmetro CV - 1 Íris CV - 8 Titanic CV - 1 e CV - 8 N° de Regras 03 03 04 Regras petallength class '(1.9-4.7]' '(4.7-inf)' '(-inf-1.9]' Iris-versicolor Iris-virginica Iris-setosa petallength '(4.7-inf)' '(-inf-2.6]' '(2.6-4.7]' type class class Iris-virginica Iris-setosa Iris-versicolor crew 3rd no no 55 2nd 1st bandeiras bandeiras yes yes continente corPrincipal animado Africa black TRUE Asia orange TRUE Asia black FALSE AmericaNorte black FALSE Europa black FALSE Europa white TRUE Asia orange FALSE AmericaNorte gold TRUE Asia gold TRUE Africa white FALSE Asia white FALSE Asia blue TRUE AmericaSul white FALSE Europa white FALSE AmericaNorte blue TRUE Oceania red TRUE AmericaSul gold FALSE Africa red TRUE CV – 1 38 Africa gold FALSE Asia red TRUE AmericaNorte red TRUE Europa gold FALSE Europa red TRUE AmericaNorte green TRUE Africa blue FALSE AmericaNorte blue FALSE Oceania blue FALSE AmericaSul blue FALSE Oceania red FALSE Africa red FALSE AmericaSul red FALSE Asia red FALSE Europa red FALSE AmericaNorte red FALSE AmericaNorte green FALSE AmericaSul green FALSE Africa green FALSE Asia green FALSE vermelho corPrincipal class TRUE black green TRUE orange red FALSE orange green TRUE white red FALSE white white CV – 8 11 TRUE gold red FALSE blue blue TRUE blue blue TRUE red red FALSE green green TRUE green green Tabela 11: Experimentos utilizando o algoritmo DecisionTable. class black red green red gold white green red gold green white blue red red blue blue red red green red red red red green blue blue blue blue red green green red red red gold green red green 56 O primeiro experimento realizado com o conjunto íris, no qual se utilizou o parâmetro CV com valor padrão 1, observou que foram encontradas 3 regras, na forma de tabela de decisão que classificam as instâncias em uma das classes Íris-versilocor, Iris-virginica e Iris-setosa. Vale ressaltar que para classificar as instâncias em uma das classes todas as condições das regras devem ser satisfeitas. Cada regra do conjunto íris tem duas condições para os atributos petallength e class, a primeira regra gerada tem as condições, se a petallength estiver no intervalo entre 1.9 e 4.7 e class for igual à Iris-versicolor, então classifica as instâncias na classe Iris-versicolor. Já segunda regra tem as condições, nas quais classificam as instâncias na classe Iris-virginica, se a petallength estiver no intervalo de 4.7 até o infinito e a class for igual à Iris-virginica. A terceira regra classifica as instâncias na classe Iris-setosa, se o intervalo da petallength estiver entre o infinito a 1.9 e se class for igual a Iris-setosa. No segundo experimento o parâmetro CV foi modificado para 8 e podem-se encontrar as seguintes regras, a primeira classifica as instâncias na classe Iris-virginica, se a petallength estiver no intervalo de 4.5 a inf, já a segunda regra classifica na classe Iris-setosa, se a petallength estiver no intervalo de inf a 2.6 e a terceira classifica na classe Iris-versicolor, se a petallength estiver no intervalo de 2.6 a 4.7. No segundo experimento, os valores de cada parte do conjunto dados, ou seja, as 7 parte de treinamento e 1 teste foram reestimados através do CV modificado, mas foram encontrado as mesmas taxas de erro do primeiro experimento, apesar das regras terem sido em ordem diferente e a terceira regra No experimento com o conjunto de dados titanic utilizando o parâmetro para CV com valores igual a 1 e 8, pode se encontrar 4 regras de decisão. Vale ressaltar que são as mesmas regras para os dois valores. A primeira regra classifica na classe class no se a type for igual a crew e a segunda regra também classifica na mesma classe se type for igual a 3rd classe. Na terceira e na quarta regras, as instâncias são classificadas como class igual a yes, se type for igual a 2nd ou 1st. 57 No primeiro experimento com o conjunto bandeiras foram encontradas 38 regras na forma de tabela de decisão, o qual utilizou o valor padrão do CV, igual a 1. As regras da tabela de decisão classificam as instâncias em uma classe, se as condições forem verdadeiras bem como, o continente, corPrincipal, animado e class forem iguais a algumas delas contidas no conjunto. A primeira regra será explanada para uma melhor compreensão das demais regras, as instâncias classificadas na classe black se as condições forem verdadeiras bem como, se o continente for igual à África e a corPrincipal igual a black e animado igual a TRUE. No segundo experimento, o valor do CV (crossVal) foi modificado para 8, utilizou este valor estimar os erros através do conjunto teste com as partes de treinamento, posteriormente gerar as regras com o conjunto que tem as menores taxas de erro. Foram feitos teste com valores menores e maiores que 8, mas foi escolhido este valor por ter sido o único que apresentou um melhoramento na taxa de erro do conjunto bandeiras. Através deste experimento foram obtidas 11 regras que classificam as instâncias em uma classe se as condições forem satisfeitas. Os atributos que geraram as regras são: vermelho, corPrincipal e class, nos quais classificam as instâncias na classe se as condições forem verdadeiras. Serão explanadas as condições da primeira regra para compreensão demais, as instâncias são classificadas na classe green, se vermelho for igual à TRUE e corPrincipal igual a black. Nos dois experimentos realizados com o conjunto de dados bandeiras não houve coincidências de regras como com o conjunto titanic e íris porque com a estimação de erros foi possível encontrar uma parte do conjunto bandeiras (treinamento) que foi otimizada através do CV. 4.2.2 Instâncias classificadas corretamente e incorretamente As instâncias dos conjuntos de dados íris, titanic e bandeiras tiveram classificações corretas e incorretas de acordo com o algoritmo utilizado. Esses valores foram encontrados a partir dos conjuntos de dados de treinamento com 70 instâncias e o de teste com 30. As siglas ICC e ICI utilizadas nas tabelas de classificação são respectivamente, 58 instâncias classificadas corretamente e instâncias classificadas incorretamente. Esses valores das instâncias classificadas corretamente e incorretamente foram encontrados utilizando os algoritmos com parâmetros padrões e com os mesmos modificados. Foram encontrados os mesmos valores para classificação das instâncias corretas e incorretas a partir dos conjuntos de dados íris, titanic e bandeiras utilizando o algoritmo j48.PART com parâmetros padrões e alterado. Foi usado os dois parâmetros do BS, FALSE e TRUE. Na tabela 12 são apresentados estes valores. j48.PART Conjunto de dados ICC ICI N° % N° % Íris 27 90 3 10 Titanic 18 60 12 40 Bandeiras 16 53.3 14 46.6 Tabela 12: Classificação das instâncias a partir do algoritmo j48.PART. No experimento realizado com o conjunto íris, foram encontradas 27 instâncias classificadas corretamente, com 90% de acertos. Com relação ao conjunto de dados de teste titanic, 18 instâncias foram classificadas corretamente (60%) e o bandeiras apenas 16, com 53.3% de acertos. Na classificação com o algoritmo j48.PART, o conjunto bandeiras teve o pior caso por classificar apenas 16 instâncias corretamente e o melhor foi o do conjunto iris. Na classificação de instâncias incorretas, o conjunto de dados íris obteve em números 3 instâncias classificadas incorretamente, com a porcentagem de 10%. O conjunto titanic obteve 12 instâncias que corresponde a 40% do total de instâncias. Já o conjunto de dados bandeiras identificou no experimento 14 instâncias classificadas incorretamente com a porcentagem deste valor em 46.6%, foi o pior caso. Pode-se observar que tanto para o parâmetro do BS com valor FALSE quanto TRUE, foram encontradas as mesmas quantidades de instâncias classificadas corretamente e incorretamente, mas o único conjunto de dados que encontrou as mesmas regras foi o íris. Estas regras geradas no primeiro experimento, na qual o BS é FALSE também geraram as regras binárias ao executar o algoritmo com o parâmetro TRUE. Para os conjuntos titanic e bandeiras, os quais os experimentos foram realizados com os dois parâmetros FALSE e TRUE encontrou a mesma quantidade de regras, mas com regras diferentes. 59 O gráfico 7 mostra o comparativo de classificação das instâncias corretas e incorretas, no qual foi utilizado o algoritmo j48.PART com os dois parâmetros, padrão e alterado. Ambos os experimentos são apresentados no mesmo gráfico por fornecerem os mesmos resultados. j48.PART 30 27 25 18 20 15 16 12 14 ICC ICI 10 3 5 0 iris titanic bandeiras Gráfico 7. Comparação dos conjuntos de dados utilizando o algoritmo j48.PART. A tabela 13 apresenta a classificação das instâncias dos conjuntos de dados íris, titanic e bandeiras utilizando o algoritmo OneR com parâmetro MBS com valor padrão igual a 6. OneR Conjunto de dados ICC ICI N° % N° % Íris 27 90 3 10 Titanic 13 43.3 17 56.6 Bandeiras 6 20 24 80 Tabela 13: Classificação das instâncias a partir do algoritmo OneR , MBS igual a 6. Na classificação de instâncias corretas, o conjunto íris classificou 27, o qual corresponde a 90%. O conjunto titanic teve 13 instâncias, ou seja, 43.3% e o bandeiras apenas 6 correspondendo a 20%. Comparando estes valores, considerou-se que o melhor caso é o do conjunto íris, e o pior foi o do conjunto de dados bandeiras, pois a classificação correta foi muito baixo o valor com apenas 6 instâncias. Na classificação das instâncias incorretas, os conjuntos titanic e bandeiras tiveram aumento nos valores das instâncias, porém o pior caso foi o bandeiras com 24 60 classificadas incorretamente, correspondendo a 80%. O melhor caso foi o da íris com apenas 3 incorretas, 10%. O gráfico 8 apresenta a comparação da classificação das instâncias corretas e incorretas que foram obtidas a partir do algoritmo OneR, o melhor conjunto observado foi a íris com a menor quantidade de instâncias incorretas, correspondendo a 3 e o conjunto bandeira foi o que teve a pior taxa de classificação com 24 instâncias incorretas. OneR 30 27 24 25 20 17 15 ICC 13 ICI 10 6 5 3 0 Íris Titanic Bandeiras Gráfico 8. Comparação dos conjuntos de dados utilizando o algoritmo OneR , MBS igual a 6. No experimento realizado com parâmetro MBS alterado para 22, valores diferentes foram encontrado com relação ao valor igual a 6, conforme mostrado na Tabela 14. OneR Conjunto de dados ICC ICI N° % N° % Íris 22 73.3 8 26.6 Titanic 13 43.3 17 56.6 Bandeiras 6 20 24 80 Tabela 14: Classificação das instâncias a partir do algoritmo Oner, MBS igual a 22. O experimento com o parâmetro MBS igual a 22 foi encontrado uma pequena alteração nos valores para o conjunto de dados iris que diminuiu para 22 as instâncias classificadas corretamente. No experimento que o valor do MBS igual a 6, padrão, foram obtidas 29 instâncias corretas. Com relação a esse experimento, não houve nenhum melhoramento, pois as instâncias corretas diminuíram de 29 para 22 por que com o aumento 61 do parâmetro MBS, também houve aumento de valores por intervalo e redução nas condições da regra. Isto fez com que o aumentasse a quantidade de instâncias incorretas. Mas, mesmo com alteração do parâmetro, ainda considera-se como o melhor caso de classificação correta. E o pior caso continua sendo o do conjunto bandeiras com apenas 6 corretas, também para a classificação de instâncias incorretas com 24, 80%. No gráfico 9 são apresentadas as comparações entre os conjuntos de dados, foi observado que o conjunto íris, apesar de ter aumentado a quantidade de instâncias incorretas com relação ao primeiro experimento, ainda teve o melhor resultado comparando-se aos outros conjuntos do mesmo experimento porque teve a menor classificação das instâncias incorretas com 8. 25 24 22 20 17 15 13 10 ICC ICI 8 6 5 0 Íris Titanic Bandeiras Gráfico 9. Comparação dos conjuntos de dados utilizando o algoritmo OneR, MBS igual a 22. A Tabela 15 mostra a classificação das instâncias dos conjuntos de dados íris, titanic e bandeiras utilizando o algoritmo DecisionTable. Esses resultados foram obtidos através deste algoritmo com parâmetros padrões. DecisionTable Conjunto de dados ICC ICI N° % N° % Íris 27 90 3 10 Titanic 13 43.3 17 56.6 Bandeiras 12 40 18 60 Tabela 15: Classificação das instâncias a partir dos algoritmos DecisionTable, CV igual a 1. Com os resultados deste experimento, na qual se classificam as instâncias corretas e incorretas pode-se determinar o pior caso de classificação de instâncias incorretas foi o do 62 conjunto bandeiras com apenas 12 instâncias corretas, 40% de acertos. A classificação do titanic foi de 13 com 43.3% de acertos, se diferenciou do conjunto bandeiras por apenas 1 instância correta. O melhor caso de classificação foi o da íris com 27 instâncias corretas, 90%. Para a classificação de instâncias incorretas pode-se encontrar como o pior caso o bandeiras, por ter o maior número de instâncias classificadas incorretamente com 18 instâncias, 60% de erros. E a melhor classificação foi o do conjunto íris com apenas 3 instâncias classificadas incorretamente, correspondendo a 10% de erros. No gráfico 10 podem ser observados esses valores apresentados. DecisionTable 30 27 25 20 18 17 13 15 ICC 12 ICI 10 3 5 0 iris titanic bandeiras Gráfico 10. Comparação dos conjuntos de dados utilizando o algoritmo DecisionTable, CV igual a 1. A Tabela 16 apresenta a classificação das instâncias dos conjuntos de dados íris, titanic e bandeiras utilizando o algoritmo DecisionTable com o parâmetro CV igual a 8. DecisionTable Conjunto de dados ICC ICI N° % N° % Íris 27 90 3 10 Titanic 13 43.3 17 56.6 Bandeiras 16 53.3 14 46.6 Tabela 16: Classificação das instâncias a partir dos algoritmos DecisionTable, CV igual a 8. Neste experimento o único conjunto que obteve valores diferentes na classificação corretas e incorretas das instâncias foi o bandeiras, que classificou corretamente 16 instâncias, correspondendo a 53.3% de acertos e 14 incorretamente com 46.6 % de erro. 63 Porém, o melhor resultado encontrado é o do conjunto íris e o pior é o titanic com 13 instâncias corretas, 43.3%, e 17 incorretas, 56.6% de erro. 4.2.3 Matriz de confusão e tempo de execução A matriz de confusão mostra como as instâncias do conjunto de teste foram classificadas. Esta matriz possui colunas e linhas, as quais informam as classificações corretas e incorretas dos valores das classes preditas. Os resultados deste experimento foram obtidos através do algoritmo utilizando para o parâmetro BS os valores FALSE e TRUE. Nas matrizes de confusão da tabela 17 são apresentadas as classes com a distribuição dos valores da classificação. As classes são representadas pelas letras do alfabeto como, o conjunto íris representa a Iris-setosa por “a”, Iris-versicolor por “b” e Iris-virginica por “c”, o titanic representa yes por “a” e no por “b” e o conjunto bandeiras representa green por “a”, red por “b”, white por “c”, black por “d”, blue por “e”, gold por “f”, orange por “g” e brown por “h”. Os números de incorretos e corretos representados na tabela foram obtidos da matriz de confusão a partir do algoritmo j48.PART. Matriz de confusão – j48.PART iris Bandeiras titanic a b c a b a b c D e f g h 7 0 0 5 12 2 1 1 0 1 1 0 0 0 6 2 0 13 0 8 0 0 3 0 0 0 0 1 14 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 6 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 a=Íris-setosa b=Iris-versicolor c=Iris-virginica Tempo= 0.01 a=yes b=no Tempo= 0.05 s a b c d e f g h = = = = = = = = green red white black blue gold orange brown Tempo=1.79 s Classificação: Corretas/Incorretas Tabela 17: Matriz de confusão do j48.PART utilizando os conjuntos de dados íris, titanic e bandeiras. Os resultados obtidos corretamente a partir do conjunto íris foram de 27 instâncias, a classe “a” com 7 instâncias, a “b” com 6 e a “c” com 14, totalizando 27 instâncias certas. As classes “b” e “c” tiveram respectivamente 1 e 2 classificadas incorretamente, total de 3 instâncias. No conjunto titanic os acertos para as respectivas classes foram, “a” obteve 5 instâncias classificadas corretamente e a “b” 13, total de 18 corretas. Mas, na classe “b” houve a classificação de 12 instâncias classificadas incorretamente e não satisfazem a uma das 64 condições da regra. O conjunto bandeiras apresentou os resultados com os valores para as classes, “a” de 2 instâncias, para “b” 8 e “e” de 6 instâncias, nas quais classificam corretamente. Nos resultados de erros foram encontrados para o conjunto íris 3 classificadas incorretamente, o menor valor em comparação aos dos outros conjuntos como o titanic com 12 instâncias incorretas e bandeiras com o maior valor que são 14 instâncias incorretas. Na matriz de confusão do conjunto de dados titanic, foi observado que das 17 instâncias da classe “a” que significa yes, 5 são classificadas corretamente na classe yes e 12 incorretamente na classe no, nota-se que a quantidade das incorretas é maior do que as corretas, isto quer dizer que foi realizado mais teste sobre as instâncias de treinamento e encontrada regras com quantidades menores de instâncias corretas, significando que o aprendizado foi menor. Já o conjunto de dados bandeira, das 6 instâncias da classe “a”, mesmo com 2 instancias classificadas corretamente, a regra aprendeu melhor que no conjunto titanic porque ao comparar com as incorretas, existe apenas 1 na classe “b”, 1 na classe “c”, 1 na classe “e” e 1 na classe “f”, isto significa que os acertos (correta) é maior que o erro (incorreta) de cada classe classificada na classe “a” green. Com relação ao tempo de execução do algoritmo com parâmetro padrão, o pior obtido foi o do conjunto bandeiras comparando aos outros conjuntos analisados e o melhor foi a iris. A Tabela 18 mostra o tempo gasto na execução do algoritmo com o parâmetro BS igual a TRUE, o pior tempo foi o do conjunto íris, pois o titanic e bandeiras tiveram os mesmos tempos. Tempo – j48.PART iris Tempo= 0.03 s Titanic Tempo= 0.02 s Bandeiras Tempo=0.2s Tabela 18: Tempo de execução do algoritmo j48.PART. As matrizes de confusão apresentadas na Tabela 19 foram obtidas a partir do experimento com o algoritmo OneR com o MBS igual a 6, padrão, no conjunto íris foram classificados 27 instâncias corretas e 3 incorretas, no titanic encontrou 13 corretas e 17 incorretas e na bandeiras foram 6 incorretas e 24 incorretas. Com esses resultados pode se 65 classificar como o pior o conjunto bandeiras com a menor classificação de instâncias corretas e a maior de incorretas. O melhor considerado para estes casos foi o conjunto íris por ter a maior classificação de instâncias correta e a menor de incorretas. Neste caso o tempo de execução das classificações realizadas com os conjuntos de dados teve o melhor tempo com o conjunto íris e o pior foi o bandeiras com 0.03 segundos. Matriz de confusão – OneR iris bandeiras titanic a b c a b a b c d e f g h 7 0 0 4 13 6 0 0 0 0 0 0 0 0 6 2 4 9 11 0 0 0 0 0 0 0 0 1 14 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a=Iris-setosa b=Iris-versicolor c=Iris-virginica a=yes b=no Tempo= 0.02 s Tempo= 0.01 a b c d e f g h = = = = = = = = green red white black blue gold orange brown Tempo=0.03 s Classificação: Corretas/Incorretas Tabela 19: Matriz de confusão do OneR utilizando os conjuntos de dados íris, titanic e bandeiras, MBS igual a 6. Foram encontrados resultados diferentes na matriz de confusão para o conjunto íris no experimento realizado a partir do algoritmo OneR com o parâmetro MBS modificado para 22, conforme a tabela 20. Matriz de confusão – OneR bandeiras titanic iris a b c a b a b c d e f g h 7 0 0 4 13 6 0 0 0 0 0 0 0 0 0 8 4 9 11 0 0 0 0 0 0 0 0 1 15 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a=Iris-setosa b=Iris-versicolor c=Iris-virginica Tempo= 0.01 a=yes b=no Tempo= 0.01 s a = green b = red c = white d = black e = blue f = gold g = orange h = brown Tempo=0.02 s Classificação: Corretas/Incorretas 66 Tabela 20: Matriz de confusão do OneR utilizando os conjuntos de dados íris, titanic e bandeiras, MBS igual a 22. Neste conjunto íris foram classificadas corretamente 22 instâncias, este número diminuiu com a alteração do MBS, pois no experimento que esse parâmetro é padrão, 29 instâncias foram classificadas corretas. Com relação a este experimento, o uso do parâmetro alterado não foi o melhor caso por aumentar o valor das instâncias incorretas. E classificadas incorretamente foram 8 com MBS igual a 22. Os experimentos realizadas através do algoritmo OneR, nas quais foram utilizado os dois parâmetros pode se chegar ao mesmo resultado da matriz de confusão para o conjunto de dados bandeiras. Foram classificadas 30 instâncias do conjunto bandeiras que foram distribuídos na matriz de confusão, e a coluna da classe “a” foi à única que obteve os valores, nos dois experimentos. Foi observada que a matriz de confusão do conjunto bandeiras obteve na classe “a” o total de 6 instâncias que significa que é green, todas classificadas corretamente. Ainda na mesma coluna da classe “a”, 11 instâncias são classificadas incorretamente, pois o class é green e está na classe “b” red. O mesmo ocorre nas classes “c”, “d”, “e”, “f” e “g” que classifica instâncias incorretas com o class igual a green com os respectivos valores 1, 2, 7, 2 e 1. Vale observar que estes valores são dos dois experimentos feitos a partir do conjunto bandeiras. Os resultados das matrizes de confusão são apresentados na tabela 21, os quais foram obtidos a partir dos experimentos realizados com os conjuntos íris, titanic e bandeiras. O algoritmo utilizou o CV (validação cruzada) com o valor padrão 1. Matriz de confusão – DecisionTable iris Bandeiras titanic a B c a b a b c d e F g h 7 0 0 4 13 1 4 0 0 1 0 0 0 0 6 2 4 9 1 9 0 0 1 0 0 0 0 1 14 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 5 0 0 2 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A=Iris-setosa b=Iris-versicolor c=Iris-virginica a=yes b=no Tempo= 0.07 s Tempo= 0.17 s a = green b = red c = white d = black e = blue f = gold g = orange h = brown Tempo=0.53 s Classificação: Corretas/Incorretas Tabela 21: Matriz de confusão do DecisionTable utilizando os conjuntos de dados íris, titanic e bandeiras, CV igual a 1. 67 Na classificação utilizando o algoritmo DecisionTable com o CV igual a 1, parâmetro padrão, os resultados encontrados para as matrizes de confusão foram, com o conjunto de dados íris foi obtido corretamente 27 instâncias e incorretamente 3, o titanic encontrou 13 instâncias corretas verdadeiras e 17 incorretas, já o conjunto bandeiras encontrou os piores resultados, pois as instâncias corretas encontradas com relação aos outros conjuntos analisados teve o menor resultado com apenas 12 e o maior número de instâncias incorretas com 18, conforme mostra a tabela 21. E ainda teve o maior tempo foi do conjunto bandeiras, considerado o pior. A Tabela 22 apresenta os resultados encontrados utilizando o algoritmo DecisionTable mas com o parâmetro do CV modificado para o valor igual a 8. Matriz de confusão – DecisionTable bandeiras titanic iris a b c a b a b c d e f g h 7 0 0 4 13 4 1 0 0 1 0 0 0 0 6 2 4 9 1 8 0 0 3 0 0 0 0 1 14 0 1 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 0 6 0 0 0 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 a=Iris-setosa b=Iris-versicolor c=Iris-virginica Tempo= 0.09 s a=yes b=no Tempo= 0.01 s a = green b = red c = white d = black e = blue f = gold g = orange h = brown Tempo= 0.4 s Classificação: Corretas/Incorretas Tabela 22: Matriz de confusão do DecisionTable utilizando os conjuntos de dados íris, titanic e bandeiras, CV igual a 8. Neste caso, o único que apresentou valores diferentes foi o conjunto bandeiras com 17 instâncias corretas, pois no experimento que utilizou o parâmetro como padrão, foram classificadas corretamente apenas 12 instâncias. Com relação a esses dois experimentos foi considerado o melhor caso, a que utiliza o parâmetro CV igual a 8 para o conjunto de dados bandeiras. Nestes dois experimentos com o algoritmo DecisionTable, foi observado que a classe “b” que significa red teve uma tendência de ocorrências de instâncias incorretas. No primeiro experimento foram classificadas corretamente na classe “b” o total de 9 instâncias. 68 Na mesma coluna da classe “b” foram classificadas incorretamente 4 cuja a classe é “a”. As instâncias das classes “c”, “d”, “e”, “f” e “g” também são classificadas incorretamente na classe “b” tem os respectivos valores 1, 1, 5, 1 e 1. Para o segundo experimento o ocorrem as mesmas tendências, mas com valores diferentes bem como, corretamente na classe “b” são 8 instâncias sem erro. Mas na coluna da classe “b” as instâncias incorretas são das classes “a”, “c”, “d” e “f” com os respectivo valores 1, 1, 2 e 2. Pode se observar nos dois experimentos, que a classe “b” do primeiro teve uma maior classificação de instâncias corretas com 9, mas também a maior classificação de instâncias incorretas com 13, o que no segundo experimento diminuiu para 8 corretas e 6 incorretas, pode-se considerar que houve um melhoramento. Este melhoramento ocorreu ao utilizar o valor 8 no CV, que reestimou e encontrou um conjunto de treinamento com uma taxa menor de erro. 69 5 CONSIDERAÇÕES FINAIS Este trabalho apresentou os experimentos práticos realizados de acordo com a teoria estudada com relação à comparação dos algoritmos de mineração de dados da ferramenta WEKA, os quais utilizam as técnicas de aprendizagem de máquina. Os algoritmos de regras de decisão foram utilizados por fornecerem uma maneira de representação clara de ser entendida com relação aos outros da ferramenta que apresentam resultados na forma de árvores de decisão, redes neurais, logística, entre outros. Os algoritmos de regras de decisão são: j48.PART, OneR e DecisionTable. Cada um destes algoritmos tem uma forma particular de apresentar os resultados, o j48.PART representa o conhecimento regras de decisão, as quais são baseadas em árvores de decisão, o OneR apenas por uma única regras com várias condições e o DecisionTable na forma de tabelas de decisão. A partir dos resultados de cada algoritmo foi possível fazer um comparativo entre as predições dos três conjuntos de dados e determinar qual obteve os melhores resultados considerando, as regras geradas com a quantidade de instâncias corretas e incorretas do conjunto de treinamento, as taxas de classificação das instâncias como corretas e incorretas do conjunto de teste e os valores obtidos por meio da matriz de confusão. Os conjuntos utilizados nos experimentos são: íris, titanic e bandeiras. Ao realizar a comparação dos resultados encontrados através do algoritmo j48.PART, utilizando os três conjuntos de dados e também os dois parâmetros do BS, que são FALSE e TRUE, não é possível fazer a comparação das regras pois cada experimento têm sua regra particular que está relacionada com o próprio conjunto de dados. Isto ocorre com os algoritmos OneR e DecisionTable. O que foi comparado foram as classificações das instâncias corretas e incorretas. Comparando as classificações das instâncias dos experimentos, ainda com o algoritmo j48.PART utilizando os parâmetros do BS FALSE e TRUE, e com os três conjuntos de dados, pode se afirmar que a menor taxa erro ICI foi o conjunto de dados íris, que apresentou apenas 3 instâncias incorretas. O experimento com esse conjunto de dados foi considerado o melhor resultado, porque ao criar as regras com a menor taxa de erro ICI mostra que cada regra tem maior porcentagem de acertos, o que ajudaria na tomada de decisão, isto com relação ao outros conjuntos utilizados. 70 Contudo, como o conjunto de dados bandeiras obteve a maior taxa ICI, comparando aos conjuntos íris e titanic, pode se assegurar que as regras foram geradas com a maior porcentagem de erros, foi considerado o pior caso. Nos experimentos realizados com o algoritmo OneR, os quais um deles utiliza o valor 22 no parâmetro MBS, notou-se que o conjunto de dados íris teve o pior resultado, porque as regras foram geradas a partir de 49 instâncias corretas e as condições puderam classificar apenas nas classes Iris-setosa e Íris-virginica. Outro problema encontrado, foi que ao utilizar esse parâmetro com valor 22 não é possível classificar as instâncias na classe Íris-versicolor por que o intervalo das instâncias foi aumentado. Apesar de a íris gerar a regra a partir de 49 instâncias corretas, ainda apresentou maior taxa de instâncias classificadas corretamente com relação aos outros conjuntos, mesmo no experimento com o valor 22 no MBS. Os experimentos com o algoritmo DecisionTable utilizando o parâmetro CV com os valores 1 e 8 e os três conjuntos de dados, pode se observar que o conjunto de dados bandeiras apresentou um melhoramento da taxa ICI, diminuiu a quantidade de instâncias classificadas incorretamente, isto aumenta a porcentagem de acerto para gerar as regras. Mas, apesar de apresentar esta melhora da taxa de ICI, o conjunto de dados íris apresentou o melhor resultado, gerando as regras com maior acerto e menor taxa de erro ICI. Com relação as matrizes de confusão, cada uma delas apresenta os valores das instâncias usadas nas classes preditas, mostrando estes valores das instâncias corretas e incorretas em cada classe. Mas, pode se observar que com todos os algoritmos, usando os parâmetros padrões e alterados, o conjunto que apresentou os melhores resultados foi a íris por ter os menores valores de instâncias incorretas. Por fim, os resultados encontrados tiveram um papel importante para o estudo comparativo dos algoritmos utilizados nos experimentos, por contribuir com a analise e apresentar as particularidades de cada algoritmo de regras de decisão da ferramenta WEKA. Cada um dos algoritmos apresentou um comportamento diferente ao apresentar os resultados bem como, na forma de regras baseadas em árvores de decisão binárias e não binárias, também o algoritmo que apresenta como resultado, apenas uma regra e outro na forma de tabela de decisão. Os três algoritmos analisados puderam ser testados através de três conjuntos de dados. Nestes testes puderam-se utilizar os parâmetros padrões e modificados a fim de obter variações dos resultados e apresentar os que tiveram melhores resultados. 71 Com a finalidade de dar continuidade deste trabalho, foi recomendada, para trabalhos futuros, a realização de análise dos resultados obtidos através dos algoritmos de regras de decisão com o intuito da tomada de decisão, por ser parte do processo KDD (REZENDE, 2005). 72 6 REFERÊNCIAS BIBLIOGRÁFICAS (BANDEIRAS, 2005) BANDEIRAS. Disponível em: <http://www.di.uevora.pt/~rt/apr/ data/bandeiras.arff> Acesso em: 26 set. 2005. (BATISTA, 2003) BATISTA, Gustavo Enrique de A. P. A. B. Pré-processamento de Dados em Aprendizado de Máquina Supervisionado. Tese de Doutorado (Doutorado em Ciência da Computação e Matemática Computação). USP – São Carlos, 2003. Disponível em: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde- 06102003-160219/publico/TeseDoutorado.pdf> Acesso em: 05 ago. 2005. (BERSON, 1997) BERSON, A., Smith, S. J., Data Warehousing, Data Mining & OLAP. McGraw-Hill, Estados Unidos,1997. Disponível em: <http://www.tdan.com/book005.htm>. Acesso em: 06 set. 2005. (BORGES, 2005) BORGES, Helyane B. Estudo Comparativo entre Algoritmos de Seleção de Atributos para Dados de Microarranjos em Bioinformática. Dissertação de Mestrado (Mestrado em Informática Aplicada) – Pontifícia Universidade Católica do Paraná. Paraná, 2005 Disponível em: <http://www.ppgia.pucpr.br/~helyane/PDM/ PDM.PDF> Acesso em: 26 set. 2005. (BRUSSO, 2000) BRUSSO, Marcos José. Access Miner: uma proposta para a extração de regras de associação aplicada à mineração do uso da Web. Dissertação de Mestrado (Mestrado em Ciência da Computação) – Universidade Federal do Rio Grande do Sul. Rio Grande do Sul, 2000. Disponível em: <http://upf.tche.br/~brusso/pub/dissertacao.pdf> Acesso em: 12 set. 2005. (COELHO, 2005) COELHO, Paulo Sérgio de S. Um Sistema para Indução de Modelos de Predição Baseados em Árvores. Tese de Doutorado (Doutorado em Ciência em Engenharia Civil) – Universidade Federal do Rio de Janeiro. Rio de Janeiro, 2005. 73 Disponível em: <http://www.coc.ufrj.br/teses/doutorado/inter/2005/Teses/ COELHO_PSS_05_t_D_int.pdf> Acesso em: 15 ago. 2005. (COLMAN et. all., COLMAN, Rogério Paiva; José E. C. J.; Rodrigo P. J. Paradigma Simbólico de Aprendizado Aplicado ao Banco de Dados do 2002) Vestibular da UFMS. Universidade Federal de Mato Grosso do Sul. Mato Grosso, 2005. Disponível em: <http://www.dct.ufms.br/~mzanusso/producao/ JEdRodrRog.pdf> Acesso em: 15 ago. 2005. DIAS, CRISTIANO ARAUJO. Descoberta de Conhecimento (DIAS, 2002) em Banco de Dados para Apoio a Tomada de Decisão. Dissertação de Especialização (Especialização em Informática Empresarial). Faculdade de Engenharia de Guaratinguetá. Guaratinguetá, 2002. Disponível em: <http://www.feg.unesp.br/ceie/Monografias/ CEIE0206.pdf> Acesso em: 15 ago. 2005. (FAYYAD et. 1996) all. FAYYAD, Usama; SHAPIRO, Gergory P.; SMYTH, Padhraic. The KDD Process for Extracting Useful Knowledge fom Volumes of Data. ACM Press, New York, v. 39 , n. 11, p. 2426, nov. 1996. (FORSYTH, 1986) FORSYTH, Richard S. Collected primarily from the "Collins Gem Guide to Flags. Collins Publishers (1986). Disponível em: <http://www.cs.put.poznan.pl/rwrembel/ zestaw02.pdf> Acesso em: 11 set. 2005. (GOMES, 2002) GOMES, Alan Kellen. Análise do Conhecimento Extraído de Classificadores Simbólicos Utilizando Medidas de Avaliação e de Interessabilidade. Dissertação de Mestrado (Mestrado em Ciência da Computação e Matemática Computacional). USP – São Carlos, 2002. Disponível em: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde04072002-144610/publico/Diss_Alan.pdf> Acesso em: 15 ago. 2005. 74 (GUROVITZ, 1996) GUROVITZ, Hélio. O que cerveja tem a ver com fraudas. Disponível em: <http://www.datawarehouse.inf.br>. Acesso em: 05 set. 2005. (HONORATO, 2005) HONORATO, Daniel de Faveri. Um Protótipo de Sistema Baseado em Conhecimento para auxílio na Predição da Bactéria Helicobacter Pylori em Doenças Pépticas. Universidade Estadual do Oeste do Paraná - Campus de Foz do Iguaçu. Disponível em: <http://www.foz.unioeste.br/labi/documentos/ SECOP/SBC_HP.pdf> Acesso em: 18 ago. 2005. (KIRKBY, 2004) KIRKBY, Richard. WEKA Explorer User Guide for Version 34-3. University of Waikato, 2004. Disponível em: <WEKA.sourceforge.net/manuals/ExplorerGuide. pdf> Acesso em: 15 set. 2005. (LACERDA et. all., LACERDA, Maurício Pio de, SOUZA, Ricardo C. F. de. 2004) Aplicação da Mineração de Dados em Sistemas de Avaliação de Professor e Aluno. Dissertação de Bacharelado de Ciências da Computação.UFPA – Pará, 2004. Disponível em: http://www.cultura.ufpa.br/informatica/tcc/mauricio_ricardo.pdf Acesso em: 18 ago. 2005. (LIEBSTEIN, 2005) LIEBSTEIN, Lourdes Helene. Data Mining – Teoria e Prática Instituto de Informática – Universidade Federal do Rio Grande do Sul (UFRGS) Porto Alegre, 2005. Disponível em: <http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120021/ artigo_lourdes.pdf> Acesso em: 18 ago. 2005. (PILA, 2001) PILA, Adriano Donizete. Seleção de Atributos Relevantes para Aprendizado de Máquina Utilizando a Abordagem de Rough Sets. Dissertação de Mestrado (Mestrado em Ciência da Computação e Matemática Computacional). USP – São Carlos, 2001. Disponível em: 75 <http://www.teses.usp.br/teses/disponiveis/55/55134/tde13022002-153921/publico/dissertacao_ADP.pdf> Acesso em: 02 set. 2005. (RAMOS, 1999) RAMOS, Patrícia Gouveia. Uma Investigação das Redes NeuroFuzzy aplicadas à Mineração de Dados. Recife, 1999. Dissertação de Graduação (Graduação em Ciência da Computação) – Universidade Federal de Recife, Recife, 1999. Disponível em: <http://www.di.ufpe.br/~tg/1999-1/pgr.doc> >. Acesso em: 05 set. 2005. (REZENDE, 2003) REZENDE, Solange O. Sistemas Inteligentes: Fundamentos e Aplicações. Barueri, SP: Manole, 2003. (ROMAO, 2002) ROMAO, Wesley. Descoberta de Conhecimento Relevante em Banco de Dados sobre Ciência e Tecnologia. Tese de Doutorado (Doutorado em Engenharia de Produção) – Universidade Federal de Santa Catarina. Santa Catarina, 2000. Disponível em: < http://www.din.uem.br/~intersul/intersul_ arquivos/documentos/Tese%20Wesley.pdf > Acesso em: 26 set. 2005. (SILVA, 2000) SILVA, Denilson R. da. Análise e Triagem de Padrões em Processamento de Descoberta de Conhecimento em Base de Dados. Dissertação de Mestrado (Mestrado em Ciência da Computação) – Pontifícia Universidade Católica do Rio Grande do Sul. Rio Grande do Sul, 2000. Disponível em: <http://www.pucrs.br/inf/pos/dissertacoes/arquivos/ denilson.pdf> Acesso em: 02 set. 2005. (SILVA, 2002a) SILVA, Marcelino P. dos Santos. Uma Linguagem Declarativa de Especificação de Consultas e Processos para Descoberta de Conhecimento em Bancos de Dados e sua Implementação. Dissertação de Mestrado (Mestrado em Ciência da Computação) – Universidade Federal do Pernambuco. Pernambuco, 2002. Disponível em: <http://iris.sid.inpe.br:1912/col/sid.inpe.br/ jeferson/2003/08.19.09.24/doc/publicacao.pdf> Acesso em: 02 set. 76 2005. (SOUSA, 2004) SOUSA, Thaís H. S. Computação Inteligente no estudo de variantes de hemoglobina. Dissertação de Mestrado (Mestrado em Bioengenharia). Escola de Engenharia de São Carlos – São Carlos, 2004. Disponível em: <http://www.teses.usp.br/teses/disponiveis/82/82131/tde27012005-105435/publico/thais_samed.pdf> Acesso em: 02 set. 2005. (SOUZA, 2000a) SOUZA, Otávio R. M. de. Mineração de Dados de um Plano de Saúde para Obter Regras de Associação. Dissertação de Mestrado (Mestrado em Engenharia de Produção) – Universidade Federal de Santa Catarina. Santa Catarina, 2000. Disponível em: < http://teses.eps.ufsc.br/defesa/pdf/3495.pdf> Acesso em: 26 set. 2005. (SOUZA, 2004) SOUZA, Fábio T. de. Predição de Escorregamentos das Encostas do Município do Rio de Janeiro Através de Técnicas de Mineração de Dados. Tese de Doutorado (Doutorado em Ciência em Engenharia Civil) – Universidade Federal do Rio de Janeiro. Rio de Janeiro, 2004. Disponível em: <www.coc.ufrj.br/teses/doutorado/ inter/2004/Teses/SOUZA_FT_04_t_D_int.pdf> Acesso em: 02 set. 2005. (WEKA, 2005) WEKA. Machine Learning. McGraw-Hill, 1997. Disponível em: <http://www.cs.waikato.ac.nz/~ml/WEKA/ index.html>. Acesso em: 12 set. 2005 (WITTEN, 2000) WITTEN, I. H. Technical note: Naïve Bayes for Regression. Disponível em: <http://www.cs.waikato.ac.nz/~m1/publicatuions/ 2000/Frank-et-al-Naive-Bayes.pdf> Acesso em: 12 set. 2005.