Esta seção apresenta um resumo dos algoritmos de mineração de dados árvores de decisão e redes bayesianas, utilizados neste estudo.
O algoritmo de classificação por árvores de decisão é uma técnica de classificação simples e muito usada (TAN; STEINBACH; KUMAR, 2009). Os classificadores baseados em árvore de decisão têm, como base, a estratégia dividir para conquistar14, em que os dados de um problema são divididos em vários subconjuntos, de forma a cada subconjunto ser formado de acordo com características semelhantes dos dados. Desta maneira, os classificadores baseados em árvores de decisão buscam meios de dividir um conjunto de dados em vários subconjuntos, conhecidos como nodos. A classificação, através de uma árvore de decisão, ocorre à medida que são percorridos os caminhos descritos pelos nodos, até ser encontrado um nodo que contém a característica determinante do caminho seguido, recebendo então o nome de folha.
A estrutura básica de uma árvore (Figura 6) pode ser formada por três tipos de nodos: o nodo raiz, que representa o início da árvore, os nodos internos, que dividem um determinado atributo e geram ramificações, e os nodos folha ou terminais, que contêm as informações de classificação do algoritmo (TAN; STEINBACH; KUMAR, 2009).
14
Figura 6– Exemplo de uma árvore de decisão
O algoritmo de classificação por árvores de decisão é um algoritmo supervisionado, ou seja, é necessário conhecer todos os registros e as informações da base de dados utilizadas no treinamento (RUSSELL; NORVIG, 1995). O Quadro 5 apresenta um exemplo de um conjunto de dados usado para classificar vertebrados nas seguintes classes: mamíferos, aves, peixes, répteis e anfíbios. O conjunto de atributos inclui propriedades de um vertebrado como sua temperatura corporal, cobertura de pele, método de reprodução, habilidade de voar e habilidade de viver na água. Cada registro é conhecido como uma instância ou exemplo.
Quadro 5 – Exemplo de um conjunto de dados: vertebrados Nome Temperatura corporal Cobertura de pele Dá cria Ser Aquático Ser Aéreo Possui Pernas Hiberna Rótulo da classe Humano Sangue quente Cabelo Sim Não Não Sim Não Mamífero Píton Sangue frio Escamas Não Não Não Não Sim Réptil Salmão Sangue frio Escamas Não Sim Não Não Não Peixe
Baleia Sangue quente Cabelo Sim Sim Não Não Não Mamífero Sapo Sangue frio Nenhuma Não Sim Não Sim Sim Anfíbio Morcego Sangue quente Cabelo Sim Não Sim Sim Sim Mamífero
Pomba Sangue quente Penas Não Não Sim Sim Não Ave Gato Sangue quente Pêlo Sim Não Não Sim Não Mamífero Tubarão Sangue frio Escamas Não Sim Não Não Não Peixe Tartaruga Sangue frio Escamas Não Semi Não Sim Não Réptil Pinguim Sangue quente Penas Não Semi Não Sim Não Ave Salamandra Sangue frio Nenhuma Não Semi Não Sim Sim Anfíbio Fonte: Tan; Steinbach; Kumar (2009).
O processo de geração da árvore realizada pelo algoritmo inicia-se com a definição de quais são os elementos, ou seja, os valores dos nodos da árvore. Tan, Steinbach e Kumar (2009) apresentam um exemplo (Figura 7) de uma estrutura de uma árvore de decisão para o
problema de classificação de mamíferos, usando o conjunto de dados do Quadro 5 como treinamento:
O nodo raiz usa o atributo Temperatura Corporal para separar vertebrados de sangue quente dos de sangue frio. Já que todos os vertebrados de sangue frio não são mamíferos, um nodo folha com rótulo Não Mamífero é criado como o filho à direita do nodo raiz. Se o vertebrado tiver sangue quente, um atributo subsequente, Origina é usado para distinguir mamíferos de outras criaturas de sangue quente, que são na sua maioria pássaros (TAN; STEINBACH; KUMAR, 2009, p.178).
Figura 7 – Exemplo de uma classificação por árvore de decisão
Fonte: Tan; Steinbach; Kumar (2009)
Na Figura 7, para identificar se um novo registro (Flamingo) pertence à classe dos Mamíferos ou Não-mamíferos, o processo de classificação começa pelo nodo raiz, aplicando a condição de teste ao registro (Qual a temperatura corporal?) e seguindo a ramificação apropriada baseados nos resultados do teste (Quente). Isso levará a outro nodo interno, para o qual uma nova condição de teste é aplicada (Origina?), ou a um nodo folha (Frio). O rótulo da classe associada ao nodo folha é, então, atribuído ao registro (Não-mamífero). As linhas tracejadas representam o resultado da aplicação de testes sobre atributos para o vertebrado não rotulado.
Segundo Tan, Steinbach e Kumar (2009), há muitas árvores de decisão que podem ser construídas a partir de um determinado conjunto de atributos. Alguns dos algoritmos de árvores de decisão existentes são: CART, ID3 e C4.5.
Neste trabalho será usado o algoritmo C4.5 (QUINLAN, 1993 apud TAN; STEINBACH; KUMAR, 2009) no software WEKA15 (Waikato Environment for Knowledge
15
Analysis). O WEKA é um software de domínio público, da Universidade de Waikato, Nova
Zelândia. Ele é constituído de uma coleção de algoritmos de aprendizado de máquina para tarefas de mineração de dados. Ele pode ser usado para aplicar métodos de aprendizado a um conjunto de dados e analisar a saída para extrair informações a partir dos dados de entrada (WITTEN; FRANK, 1999 apud ROSSI; REZENDE, 2011).
O algoritmo C4.5 é denominado de J48 no WEKA. Um dos aspectos para a grande utilização do algoritmo J48 pelos especialistas em mineração de dados é que o mesmo se mostra adequado para os procedimentos, envolvendo as variáveis (dados) qualitativas contínuas e discretas presentes nas bases de dados (LIBRELOTTO, 2013). Segundo Librelotto (2013), o algoritmo J48, proposto por QUINLAN (1993), é considerado o que apresenta o melhor resultado na montagem de árvores de decisão, a partir de um conjunto de dados de treinamento.
Segundo Fagundes da Silva (2004), esse algoritmo pode ser utilizado para a classificação de documentos descritos em termos dos mesmos atributos usados na sua representação. Neste caso, os atributos são os tokens e as classes são as categorias a serem classificadas. Isso é feito percorrendo-se a árvore recursivamente, até se chegar à folha que determina a classe a que o documento pertence ou, alternativamente, sua probabilidade de pertencer àquela classe. Por exemplo, para classificar textos de um jornal nas seguintes classes: Informática e Saúde, os atributos: “computador”, “impressora” e “software” têm uma maior probabilidade de pertencer à classe Informática, pois ocorrem com mais frequência nesta categoria, enquanto que os atributos: “dengue”, “hospital” e “emergência” têm uma maior probabilidade de pertencer a classe Saúde.
O uso desse algoritmo neste trabalho tem como objetivo aprender regras de classificação das PRUs e de suas características. Segundo Correa (2002) apud Fagundes da Silva (2004), uma maneira de se efetuar o aprendizado de regras consiste na construção inicial de uma árvore de decisão e na posterior tradução dessa para um conjunto equivalente de regras, onde a cada folha da árvore corresponde uma regra correspondente.
O outro algoritmo utilizado neste trabalho é o Redes bayesianas. Este algoritmo também é de aprendizado supervisionado e baseia-se no teorema de probabilidade de Bayes, também conhecido por classificador de Naïve Bayes (TAN; STEINBACH; KUMAR, 2009). Ele permite calcular as probabilidades de um novo documento pertencer a cada uma das categorias e atribuir a este às categorias com valores maiores de probabilidade (LEWIS; RINGUETTE, 1994 apud FAGUNDES DA SILVA, 2004). Segundo Grobelnik e Mladenic
(1998) apud Fagundes da Silva (2004), o classificador também pode informar a probabilidade daquele documento pertencer a uma determinada categoria, dentro de uma estrutura hierárquica. Ele supõe que todos os atributos dos exemplos são independentes uns dos outros, dado o contexto da categoria, isto é, a probabilidade de ocorrer uma palavra não depende da existência de outra(s). (DOMINGOS; PAZZANI, 1997 apud TAN; STEINBACH; KUMAR, 2009; FAGUNDES DA SILVA, 2004).
A técnica Naïve Bayes é uma das técnicas de aprendizagem bayesiana mais utilizadas em problemas de classificação de textos (MITCHELL, 1997; McCALLUM; NIGAM, 1998) apud (FAGUNDES DA SILVA, 2004) e, por esse motivo, ela também será utilizada neste trabalho. A ideia básica é usar a probabilidade na estimativa de uma dada categoria presente em um documento ou texto para identificação de padrões relevantes sobre o uso do sistema.