Baixe o app para aproveitar ainda mais
Prévia do material em texto
E-book 4 Luciano Rossi MINERAÇÃO DE DADOS Neste E-Book: INTRODUÇÃO ����������������������������������������������������������� 3 MODELOS E ALGORITMOS ����������������������������������� 5 ÁRVORES DE DECISÃO ����������������������������������������16 MÉTODOS ESTATÍSTICOS �����������������������������������30 CONSIDERAÇÕES FINAIS �����������������������������������37 REFERÊNCIAS BIBLIOGRÁFICAS & CONSULTADAS �������������������������������������������������������39 2 INTRODUÇÃO Neste e-book teremos a oportunidade de discutir, com maior nível de detalhamento, alguns algoritmos específicos utilizados na área. Os algoritmos utili- zados para a mineração de dados são, em grande parte, compartilhados com a área de aprendizado de máquina. O objetivo desses algoritmos é possibilitar a obtenção de um modelo ou função que sirva, por exemplo, para a predição de classes ou valores reais para novos registros. As tarefas preditivas de classificação e de regressão têm por objetivo a obtenção de modelos e funções, respectivamente. Em ambos os casos, os resultados servirão para a previsão de rótulos para registros que não os possuam. Existem diferentes algoritmos que podem ser considerados para esses casos. Assim, vamos explorar alguns desses algoritmos neste e-book. Outro objetivo é o estudo do método denominado árvore de decisão. As árvores de decisão nos ajudam em diferentes problemas, como a identificação de grupos homogêneos de dados. Finalmente, veremos alguns métodos estatísticos que complementam as tarefas em mineração de dados. A Estatística é uma ciência que considera como objeto de estudo os dados, no âmbito de sua coleta, organização, análise e registro. Nesse con- texto, a Estatística é uma área milenar que tem seu 3 início com os registros de nascimentos e de óbitos das pessoas e culmina em diferentes aplicações con- temporâneas para, por exemplo, a análise de dados, como é o caso na mineração de dados. 4 MODELOS E ALGORITMOS Vamos iniciar nossas discussões com a definição dos conceitos de modelo e de algoritmo, de modo que possamos utilizá-los e compreendê-los de manei- ra adequada e correta. Além disso, vamos verificar a aplicação desses conceitos no âmbito da análise de dados, destacando as particularidades que podem ser observadas nesse contexto específico. O conceito de modelo pode ser associado ao dimi- nutivo de medida; é uma representação idealizada ou um paradigma. As construções hipotéticas ou teorizadas são exemplos de modelos teóricos que buscam explicar uma realidade concreta. Os modelos têm como característica a redutividade, pois eles representam somente uma parte da realidade que se quer retratar. Por mais completo que seja o modelo, não será capaz de concentrar todos os atributos que são possíveis em um contexto real. Outra característica atribuída aos modelos é a pontu- alidade, haja vista que os modelos representam um fenômeno específico e não outro. A pontualidade de um modelo está associada ao contexto que permeia o objeto real, assim, o modelo está intimamente re- lacionado com aquele objeto, pontualmente. Nesse caso, o modelo se distingue da teoria, já que objetiva fatos isolados enquanto a teoria busca explicações mais gerais, por meio de hipóteses. 5 Uma maquete de uma casa é um modelo que busca representar algumas características da casa, ou coisa concreta. Veja que a maquete não representa todas as características pertinentes à casa, somente par- te delas estão ali representadas. Assim, a maquete é redutiva se comparada à casa real, os detalhes do projeto hidráulico, por exemplo, não estão repre- sentados no modelo. Além disso, a maquete é uma representação daquela casa, especificamente, não podendo ser considerada para representar qualquer casa, nesse sentido, a maquete é pontual. Existem diferentes classes de modelos. Os modelos probabilísticos buscam, de maneira simplificada, apresentar a realidade de um conjunto de dados por meio da observação de suas principais caracterís- ticas. Nesse sentido, um modelo estatístico é um conjunto de modelos probabilísticos que tem por objetivo modelar sistemas de interesse por meio de suas características. A modelagem matemática considera simplificações para a interpretação de determinados fenômenos. Um exemplo de modelo matemático é aquele que estima o crescimento de uma determinada popula- ção (pessoas). Assim, esse exemplo é denominado de modelo de crescimento populacional e considera parte das características de uma população especi- ficamente analisada. No âmbito da análise de dados, um modelo poderia ser utilizado para realizar o agrupamento de registros (pontos de dados) por similaridade. Assim, mesmo 6 sem conhecermos o grupo ao qual os registros per- tencem, poderíamos identificar os grupos a partir das características similares que os registros apresentam. A obtenção dos modelos e/ou funções, que servirão como base para a predição de informações, é feita por meio de algoritmos específicos. Um algoritmo é o registro de um determinado raciocínio que é abstra- ído das linguagens ou ferramentas da computação e pode ser caracterizado como o objetivo principal do estudo da lógica. Um algoritmo pode ser definido como uma sequ- ência de passos que resultará em um objetivo bem definido. No nosso caso, o objetivo é a obtenção do modelo. Os passos de um algoritmo devem ser orde- nados de uma forma específica, o que se relaciona com a aplicação da lógica em sua concepção. Os algoritmos de aprendizagem de máquina são uti- lizados para a indução de modelos de classificação ou regressão, a partir de um conjunto de dados de treinamento. Nesse contexto, o modelo é útil para se realizar a dedução de uma classe ou valor numérico para um novo exemplo de registro. A avaliação da efetividade do modelo é, comumente, feita a partir de um conjunto de dados de teste. Os algoritmos estão associados às tarefas que se pretende realizar no contexto da mineração de dados. Por exemplo, a tarefa de regressão pode ser reali- zada a partir de diferentes técnicas: (a) árvores de regressão, (b) redes neurais artificiais, (c) máquinas de vetores de suporte e (d) regressão linear, dentre 7 outras. Nesse sentido, a tarefa de agrupamento pode considerar as técnicas de (1) k-médias, (2) FCM, (3) DBSCAN e (4) Single-Link, dentre outras. O aprendizado de máquina está intimamente asso- ciado à mineração de dados. Podemos dizer que o conceito de aprendizagem está relacionado com a identificação de padrões, ou seja, é a capacidade de formar e lembrar-se de novos conceitos, além de adaptar os conceitos já conhecidos. Por outro lado, a aprendizagem também está relacionada com a capa- cidade de se esquecer dos detalhes para se lembrar das partes mais importantes. Essas definições nos levam a dois conceitos importantes: o underfitting e o overfitting. Underfitting é o nome que se dá ao fenômeno da não aprendizagem por parte de um algoritmo. Assim, o algoritmo não é capaz de induzir um modelo que se ajuste aos dados. Dizemos que esse tipo de algorit- mo é desatento, que não presta atenção aos dados. O overfitting ocorre quando o algoritmo presta muita atenção aos detalhes no processo de indução do mo- delo. Esse excesso de ajuste do modelo aos dados resulta em padrões que não representam o mundo real, ou seja, resulta em uma alucinação. Os algoritmos de aprendizagem de máquina são con- siderados bons quando estão em um limiar entre a alucinação (overfitting) e a desatenção (underfitting). Desse modo, um bom algoritmo sempre busca a me- lhor solução para a redução de ambos os fenômenos. 8 O aprendizado não supervisionado é aquele que con- sidera conjuntos de dados não rotulados, ou seja, que não apresentam uma classe previamente definida. Abordagens como essa são muito utilizadas no âm- bito da mineração de dados, haja vista que muitas vezes os dados não permitem o conhecimento prévio de seu conteúdo. O processo deaprendizado não supervisionado se inicia com a seleção dos atributos de interesse, que devem ser considerados de acordo com o contex- to do problema (objetivo). Ainda de forma prévia, a escolha das medidas de similaridade e dos critérios de agrupamento são etapas importantes para a exe- cução da tarefa de aprendizado não supervisionado. A escolha do algoritmo de agrupamento é o passo que se baseia nas definições feitas nos passos an- teriores. Finalmente, após a execução do algoritmo, o passo final é a verificação e a interpretação dos resultados obtidos. As escolhas que são feitas no processo de aprendizado não supervisionado impactam fortemente os resul- tados. Diferentes atributos, medidas de similaridade, critérios de agrupamento e algoritmo levarão a resul- tados diferentes. Nesse contexto, as decisões devem ser tomadas com cuidado, considerando-se as carac- terísticas do problema como base para boas escolhas. Existem diferentes algoritmos de agrupamento, que podem ser divididos em várias categorias. Um algo- ritmo bastante simples para a realização de aprendi- zagem não supervisionada é o K-Means (K Médias). 9 Esse algoritmo consiste na definição aleatória de K centroides que representam a quantidade de grupos que se pretende obter. Cada objeto no conjunto de dados é associado ao centroide mais próximo, aqui se considera uma medida de distância entre os cen- troides e os objetos. Após a associação de todos os objetos, os centroides são recalculados, de modo a representarem o centro de gravidade de cada grupo. O processo iterativo termina quando os centroides não são mais movimentados. O algoritmo K-Means pode ser descrito em quatro passos, conforme descrito a seguir: ● Selecionar os K centroides iniciais, de forma aleatória; ● Formar os K grupos, associando cada objeto ao centroide mais próximo; ● Recalcular a posição dos centroides, de acordo com o centro de gravidade de cada grupo; ● Repetir os passos (b) e (c) até que os centroides não sejam mais deslocados em relação à posição anterior. A Figura 1 ilustra os passos do algoritmo, de forma parcial, considerando três grupos, ou seja, k = 3 . Veja que o conjunto de dados apresenta somente duas dimensões, a partir das quais os objetos são distri- buídos. Na maior parte dos casos reais, os objetos possuem múltiplos atributos e, consequentemen- te, múltiplas dimensões no espaço. O exemplo da Figura 1 permite o entendimento do algoritmo de 10 maneira simples, sua lógica é a mesma para objetos multidimensionais. Figura 1: Exemplo de agrupamento pelo algoritmo K-Means. Fonte: adaptado de Faria (2015). A Figura 1a apresenta os objetos distribuídos pelo espaço bidimensional. O primeiro passo é a seleção de k objetos, de forma aleatória, que serão os cen- troides iniciais. No caso desse exemplo, o objetivo é obter k = 3 grupos. A Figura 1b apresenta os obje- tos selecionados, como centroides iniciais. Veja que os grupos são destacados nas cores azul, verde e vermelha. Após a definição dos centroides, cada objeto será associado ao centroide mais próximo. Veja que, na Figura 1c, o objeto selecionado está mais próximo do centroide verde, assim ele é associado a esse grupo. Os dois próximos objetos selecionados, nas Figuras 1d e 1e, também têm uma distância menor 11 em relação ao centroide verde, ao qual eles serão associados. O objeto selecionado, na Figura 1f, é mais próximo ao centroide vermelho, ao qual ele será associado. O processo descrito será repetido para todos os ob- jetos pertinentes ao conjunto. Ao final dessa etapa, teremos a formação dos grupos, a partir da associa- ção aos centroides. Veja na Figura 1g o estado final após a finalização dessa etapa. A partir da identificação inicial dos grupos, são defi- nidos novos centroides para cada um deles. Essa de- finição é resultado do cálculo do centro de gravidade de cada grupo. Veja na Figura 1h os novos centroides calculados para cada um dos grupos iniciais. Assim, o processo se repete com a verificação das distân- cias dos objetos em relação aos novos centroides, e com a associação dos objetos ao centroide mais próximo. O processo será finalizado quando o cál- culo do centro de gravidade dos grupos não alterar os centroides anteriores. O algoritmo K-Means apresenta um problema im- portante. A seleção inicial dos centroides terá im- pacto na formação dos grupos. Assim, poderemos ter grupos diferentes a partir de escolhas iniciais também diferentes. Outro desafio, nesse caso, é a escolha arbitrária do número de grupos, ou seja, a definição de k . A avaliação dos resultados obtidos a partir de algo- ritmos de agrupamento pode ser feita considerando- -se critérios de otimização. Nesse caso, busca-se 12 encontrar grupos que minimizam ou maximizam um critério específico. Há diferentes critérios que podem ser considerados, como a soma dos erros quadrados e critérios de dispersão. Dentre os critérios de dispersão, podem-se destacar as relações Within-Cluster e Between-Cluster, essas relações medem a compactação (densidade) nos grupos e entre os grupos. O ideal é identificar gru- pos compactos que sejam distantes uns dos outros. A avaliação, por meio dos critérios de dispersão, é realizada a partir do cálculo das distâncias entre os objetos no grupo e a distância entre os grupos que compõem o conjunto de dados. O ideal que se busca nos processos de agrupamento é a obtenção de grupos que sejam compactos, ou seja, os objetos estão muito próximos uns dos outros e, por outro lado, que os grupos estejam distancia- dos. Em outras palavras, o ideal é um baixo within nos grupos e um alto between entre os grupos. Veja na Figura 2a um exemplo, ilustrativo, da condição ideal de agrupamento. Os grupos, nesse caso, apre- sentam uma proximidade entre os objetos que os compõem e há um evidente distanciamento entre os grupos obtidos. 13 Figura 2: Exemplos de critérios de dispersão. Fonte: adap- tado de Faria (2015). Os casos que não são ideais, quando da avaliação da dispersão no resultado de processos de agrupa- mento, são aqueles que apresentam grupos muito próximos uns dos outros e nos quais os objetos que compõem os grupos estão distanciados. Nesses ca- sos, observa-se um baixo between e um alto within. Um exemplo desse tipo de caso é apresentado na Figura 2b. Veja que, internamente, os grupos descre- vem objetos dispersos uns dos outros e a distância entre os grupos é pequena. Os diferentes critérios de otimização fornecem os meios para que se possa avaliar a efetividade dos processos de agrupamento. Nesse sentido, todos eles utilizam medidas objetivas para determinar a efetividade dos algoritmos. Podemos considerar uma padronização das diferen- tes medidas within, que serão denominadas medidas intragrupos. Assim, estamos considerando que a 14 dispersão dos objetos no grupo é evidenciada por meio do diâmetro do grupo, da seguinte forma: Nesse contexto, a generalização das medidas inter- grupos, como a medida between, é definida por: onde: e são grupos, x e y são objetos da base, d(x,y) é a distância entre os objetos e e são as quantidades de objetos nos respectivos grupos. 15 ÁRVORES DE DECISÃO Alguns algoritmos utilizados nas tarefas de minera- ção de dados são caixas pretas, ou seja, não permi- tem a interpretação da forma com que os resultados foram obtidos. Nesse contexto, a justificativa das decisões pode ser necessária em algumas aplica- ções. Há modelos interpretáveis que são resultado de alguns algoritmos, como as árvores de caracte- rísticas ou de decisão. As árvores de decisão são algoritmos que permitem particionar as características (atributos) de maneira hierárquica. As árvores de decisão são consideradas para as tarefas de classificação, enquanto as tarefas de regressão contam com um modelo similar, deno- minado árvore de regressão. Nesses modelos, os atributos-alvo (rótulo dos dados) são identificados por meio da divisão do conjuntode registros, a partir dos valores dos atributos prediti- vos. Considere a Figura 3a como exemplo, note que a partir do valor de um atributo preditivo o conjunto de registros é dividido em duas partes. Ainda nesse exemplo, o grupo que está à direita é todo referente ao mesmo atributo-alvo. Por outro lado, o grupo à esquerda apresenta atributos-alvo diferentes. Assim, um novo atributo preditivo é selecionado para dividir, novamente, os registros de acordo com seus res- pectivos valores. Após essa última divisão, observe que cada grupo resultante apresenta um mesmo atributo-alvo. 16 Para ilustrar, de forma mais aplicada, o exemplo ante- rior, considere a Figura 3b. O atributo preditivo que foi considerado para a primeira divisão dos dados foi o atributo “dor”, cujos valores são “sim” ou “não”. Perceba que os registros cujo valor para esse atributo é “não” são todos classificados com o atributo-alvo “casa”, ou seja, as pessoas que não apresentaram dor ficaram se tratando em casa. Outro grupo de registros apresenta como atributo-alvo tanto o valor “hospital” quanto o valor “casa”, portanto não podem ser discriminados. Assim, é necessária a seleção de um novo atributo pre- ditivo para uma nova divisão, no caso o atributo “febre”. Atributo Preditivo Atributo Preditivo Atributo Alvo Atributo AlvoAtributo Alvo Valor Valor Valor Valor Dor Febre Casa Hospital Casa Não BaixaAlta Sim a b Figura 3: Exemplo de árvore de decisão. Fonte: adaptado de Carvalho (2017). O conjunto de registros foi então dividido em duas partes, a partir dos valores do atributo preditivo “fe- 17 bre”. O primeiro é composto por registros cujos va- lores para o atributo “febre” são todos iguais a “alta” e o outro grupo concentra os registros cujos valores para o atributo preditivo “febre” são todos iguais a “baixa”. Veja que, em cada grupo, há uma homogenei- dade para o atributo alvo, ou seja, no primeiro grupo o valor de todos os atributos alvo é igual a “hospital” e o valor “casa” é observado para o segundo. O modelo descrito no exemplo é derivado de um con- junto de registros médicos, para os quais temos os sintomas (dor e febre) e o local do tratamento (hos- pital ou casa). Nesse sentido, podemos utilizar esse modelo para determinar o local de tratamento de um novo paciente, a partir de seus sintomas. Suponha que o paciente não tenha dor, então. De acordo com o modelo, ele pode ser tratado em casa. Por outro lado, se o paciente apresentar dor e febre alta deverá ser tratado no hospital. Se a febre for baixa, o paciente pode ser tratado também em casa. As árvores de decisão descrevem um modelo para a classificação de registros que não possuem o atribu- to alvo. Sua obtenção é feita a partir de um conjunto de treinamento rotulado. Há diferentes formas de se obter uma árvore de decisão, vamos analisar o algoritmo de Hunt, que descreve os passos para a obtenção de uma árvore de decisão. Considere C r o conjunto de objetos rotulados (trei- namento) que atingem o vértice raiz r na árvore de decisão, o vértice raiz é o primeiro vértice a partir do 18 qual a árvore será construída. Assim, o algoritmo de Hunt é descrito a seguir. ● Se todo objeto em C r pertence à mesma classe y ; � Então: o vértice r é um vértice folha rotulado pela classe y ; � Senão: selecionar um atributo preditivo para di- vidir C r ; ● Dividir C r em subconjuntos a partir do valor do atributo selecionado; ● Aplicar o algoritmo a cada subconjunto resultante da divisão. A Tabela 1 descreve um conjunto de registros rotula- dos, que servirão como dados de treinamento para a obtenção da árvore de decisão. Emprego Estado Renda Classe Sim Solteiro 9500 Não Não Casado 8000 Não Não Solteiro 7000 Não Sim Casado 12000 Não Não Divorciado 9000 Sim Não Casado 6000 Não Sim Divorciado 4000 Não Não Solteiro 8500 Sim Não Casado 7500 Não Não Solteiro 9000 Sim Tabela 1: Dados de treinamento para árvore de decisão. Fonte: adaptado de Carvalho (2017). 19 O algoritmo de Hunt descreve os passos para que se possa obter uma árvore de decisão. O primeiro passo é verificar se todos os registros no conjunto de dados pertencem à mesma classe. Note que isso não se confirma, pois temos registros da classe “Sim” e da classe “Não”. Assim, devemos selecionar um dos atributos preditivos para dividir o conjunto de registros. Suponha a seleção do atributo preditivo “Emprego” para a divisão do conjunto de dados. Esse atributo divide o conjunto em dois subconjuntos. O primeiro concentra os registros que apresentam o valor “Sim” para o atributo “Emprego” e o segundo subconjunto concentra aqueles registros com o valor “Não” para o mesmo atributo. Note que todos os registros agrupa- dos a partir do valor “Sim” para o atributo “Emprego” pertencem à mesma classe “Não”, assim, de acordo com o algoritmo de Hunt, esse vértice é um vértice folha para a classe “Não”. Para o segundo subcon- junto, agrupado a partir do valor “Não” para o atributo “Emprego”, essa observação não é verdadeira, haja vista que há nesse grupo registros das classes “Sim” e “Não”. Veja na Figura 4a a representação desse passo do algoritmo. O algoritmo de Hunt deve ser aplicado ao subcon- junto formado a partir do valor “Não” do atributo “Emprego”. Assim, selecionamos o atributo “Estado” para dividir esse subconjunto em outros dois sub- conjuntos. Consideramos que os registros cujos valores para o atributo “Estado” sejam “Solteiro” ou “Divorciado” compõem um dos subconjuntos e aque- les registros cujo valor é “Casado” compõem o outro 20 subconjunto. Observe que o primeiro subconjunto obtido é heterogêneo pois é composto por registros das duas classes. Por outro lado, o segundo subcon- junto obtido é homogêneo pois apresenta registros somente da classe “Não”. Assim, esse vértice é folha para a classe “Não”. Veja na Figura 4b a ilustração desse passo do algoritmo de Hunt. Novamente, o algoritmo deve ser aplicado ao sub- conjunto heterogêneo, formado pelos registros cujos valores para o atributo “Estado” são “Solteiro” ou “Divorciado”. A seleção do último atributo disponí- vel deve ser feita para dividir esse subconjunto. Veja que o atributo “Renda” é numérico, diferentemente dos anteriores, que eram categóricos. Nesse caso, devemos estabelecer um limiar que possa dividir o subconjunto, nesse exemplo, em dois outros subcon- juntos. Vamos considerar 8.000 como limiar, assim valores menores que o limiar pertencem ao primeiro subconjunto e valores maiores ou iguais ao limiar per- tencem ao segundo. Veja que ambos os subconjun- tos obtidos são homogêneos, o primeiro tem todos os registros da classe “Não” e o segundo da classe “Sim”. Dessa forma, esses vértices são folhas para as respectivas classes. Veja na Figura 4c a descrição para esse passo final do algoritmo de Hunt. 21 Emprego EstadoNão Sim Não Emprego Estado Renda Não Não Sim Não Casado (Solteiro, Divorciado) Emprego Estado Renda Não Não Não Sim Sim Não Casado >=8000<8000 (Solteiro, Divorciado) a b c Figura 4: Árvore de decisão. Fonte: adaptado de Carvalho (2017). O algoritmo de Hunt utiliza uma estratégia baseada na abordagem da divisão e conquista. Assim, o algo- ritmo divide sucessivas vezes o conjunto de objetos, sempre considerando um atributo preditivo que é escolhido para otimizar algum critério. No exemplo anterior, os atributos foram selecionados de forma 22 conveniente, no entanto, a escolha dos atributos é uma decisão importante que impacta na obtenção do modelo preditivo. Nesse contexto, as decisões de como dividir os objetos e quando parar de dividir também são importantes para a obtenção de um modelo adequado. A escolha do atributo preditivo, que dividirá o conjun- to de dados, deve ser feita considerando-se aquele que melhor particiona o conjunto. Veja que diferentes atributos resultam em diferentes partições. A opção deve considerar o atributo mais discriminativo, de modo aobter melhores partições. As divisões na árvore de decisão podem ser biná- rias ou n -árias, dependendo do tipo do atributo. Atributos categóricos que apresentam duas cate- gorias resultarão em divisões binárias. Por outro lado, atributos com mais que duas categorias, ou atributos numéricos, resultarão em divisões n -árias. Independentemente do tipo do atributo, a escolha deve sempre objetivar melhores partições. Boas partições são aquelas que apresentam um maior grau de pureza. Subconjuntos mais puros são aqueles que apresentam mais homogeneidade. Assim, subconjuntos que contêm registros de uma única classe são o objetivo, visto que, nesses casos, podemos parar de dividir o subconjunto e definir que registros com aquelas características pertencem àquela classe. Existem diferentes formas de se medir o grau de pureza (ou impureza) nos subconjuntos obtidos a 23 partir da divisão. Dependendo do atributo escolhido teremos diferentes subconjuntos e as medidas de im- pureza avaliam cada combinação de modo a definir qual é a melhor. Uma dessas medidas é denominada Gini. Essa medida é calculada da seguinte forma: onde v é um vértice na árvore, C é o número de clas- ses e é a fração de dados pertencentes à classe i em um vértice v . Essa medida avalia a distribuição das classes em cada vértice. Por exemplo, suponha duas classes C 1 e C 2 , em um vértice que tenha seus objetos distribuídos da seguinte forma C 1 = 0 e C 2 = 6 , a medida será Gini=0,00. Caso a distribui- ção seja C 1=1 e C 2= 5 , então Gini=0,278, um último exemplo de distribuição C 1= 2 e C 2 = 4 resulta em Gini= 0,444. Nesse contexto, para calcular a impu- reza da divisão, considere o seguinte: onde N ( v f ) é o número de objetos no vértice filho ( v f ) e N ( v p) é o número de objetos no vértice pai ( v p ) . A Figura 5 apresenta um exemplo do cálcu- lo de impureza, por meio da medida Gini. Suponha que tenhamos dois atributos para seleção A e B. Considerando-se o atributo A, a divisão correspon- dente é apresentada no lado esquerdo da Figura 5 e os cálculos resultam em 0,485 para a medida Gini 24 Divisão. A divisão a partir do atributo B é apresentada no lado direito da Figura 5, veja que o resultado da Gini Divisão nesse caso foi 0,371. A escolha deve ser feita pelo atributo que produz o menor valor para Gini Divisão, no caso o atributo B. Figura 5: Exemplo de cálculo de impureza. Fonte: Adaptado de Carvalho (2017). A escolha dos atributos preditivos para a divisão do conjunto de dados é uma decisão importante, pois o atributo impacta em subconjuntos mais ou menos puros. Outra decisão importante é quando parar de dividir o conjunto de dados. Existem algumas alter- nativas para essa decisão. Naturalmente, quando os objetos que estão em um determinado subconjunto, ou vértice na árvore, têm a mesma classe não há mais necessidade de dividi-los. Outro caso é quando os objetos do subconjunto têm valores iguais para os atributos de entrada (prediti- vos), porém classes diferentes. Nesse caso, não é 25 possível dividir o subconjunto e, assim, interrompe-se a divisão. Podemos ainda definir um número mínimo de objetos que queremos ter em cada subconjunto, por fim, quando todos os atributos preditivos já foram considerados na composição da árvore de decisão. As árvores de decisão são, na verdade, excelentes classificadores. A partir de um conjunto de dados ro- tulados é possível extrair um modelo que classifique outros registros que não possuem rótulo. Nesse sen- tido, o modelo obtido é a própria árvore de decisão. Vamos considerar outro exemplo para ilustrar a clas- sificação, a partir de um algoritmo, para a estrutura- ção de uma árvore de decisão. Suponha um conjunto de dados que possui dois atributos preditivos, x 1 e x 2 , e três classes associadas aos registros, as clas- ses verde, azul e amarela. Veja a distribuição deste conjunto de dados na Figura 6a. Inicialmente, é selecionado um atributo preditivo que melhor divida os dados, no caso selecionou-se o atributo x 1 , e o valor que melhor divide o conjunto de dados é a 2 . Veja na Figura 6b que os dois grupos obtidos apresentam uma predominância de uma determinada classe. No grupo à esquerda de a 2 , a maioria dos registros pertencem à classe azul e, no grupo à direita de a 2 , a predominância é da classe amarela. A divisão seguinte é feita com a utilização do atributo preditivo x 2 e o valor que melhor divide os dados é b 2 . Foram formados dois grupos abaixo de b 2 e ambos têm predominância de uma única classe, a 26 classe azul à esquerda e a classe verde à direita de a 2 . Além disso, veja que há outro grupo homogêneo acima de b 2 e à direita de a 2 , esse grupo concentra registros da classe amarela. O atributo preditivo x 2 , cujo valor é b 2 , divide nova- mente o conjunto de dados. A justificativa para essa escolha é o aumento do número de grupos homogê- neos. Assim, após essa divisão, tem-se cinco grupos homogêneos e apenas um grupo heterogêneo, que é composto por objetos das classes verde e azul. Essa divisão é descrita na Figura 6d. A divisão final é feita considerando-se o atributo pre- ditivo x 1 e o valor a 1 . Essa divisão resulta na obten- ção de nove grupos homogêneos e, dessa forma, as divisões não são mais necessárias. Note que alguns grupos se referem às mesmas classes, assim, pode- mos unir esses grupos que representam as mesmas classes. Essa representação está descrita nas Figura 6f e 6g. A identificação das áreas no gráfico que descrevem as classes possibilita a representação da árvore de decisão. Assim, pode-se utilizar a árvore para se classificar um registro que não possui rótulo. Veja a árvore de decisão referente a esse exemplo, na Figura 6h. Cada percurso possível entre o vértice raiz e um vértice folha na árvore de decisão representa uma regra de classificação diferente. 27 x2 x2 x1 x1 a x2 x1a2 a2 a2 b x2 x1 b1 b1 b2 c d x2 x1a2 b1 b2 e a1 x2 x1a2 b1 b2 f a1 g h x2 x1a2 b1 b2 a1 Classe 1 Classe 1 Classe 2 Classe 2 Classe 3 x1<a2 x2<b2 x1<a1 x2<b1 V V V V F F F F Classe 2 Classe 2 Classe 1 Classe 1 Classe 3 Figura 6: Árvore de decisão como classificador. Fonte: Adaptado de Carvalho (2017). A utilização de árvores de decisão apresenta algumas características importantes de serem consideradas. Há um baixo custo computacional na indução do modelo preditivo e na dedução de uma classe para 28 novos registros. Quando consideramos conjuntos de dados de baixa complexidade, a árvore de decisão apresenta uma precisão comparável com outros clas- sificadores mais sofisticados. Além disso, é possível explicar facilmente a hipótese induzida quando a árvore de decisão é pequena. Há, também, alguns problemas associados ao uso da árvore de decisão. Para problemas que apresentam muitas classes e poucos objetos, o desempenho da árvore de decisão é baixo. Realizar diversas divisões no conjunto de dados pode resultar em uma árvore de decisão demasiadamente ajustada aos dados (overfitting). Os vértices folha na árvore de decisão representam subconjuntos com um número menor de objetos, proporcionalmente à distância da raiz. Essa característica pode comprometer a decisão e a capacidade de generalização do modelo. 29 MÉTODOS ESTATÍSTICOS Os problemas considerados no âmbito da mineração de dados apresentam, de maneira geral, a incerte- za como característica comum. Quando utilizamos um classificador temos como objetivo atribuir uma classe a um objeto, com o maior grau de certeza possível. Nesses casos, por mais que o classificador seja efetivo, há sempre uma possibilidade de erro, ou seja, estamos lidando com cenários incertos. Os algoritmos discutidos são úteis para a extração de um modelo baseado no conhecimento que está implícito no conjunto de dados. Por outro lado, a es- tatística pode ser considerada com o mesmo pro- pósito dos algoritmos, podemosutilizar métodos estatísticos para obter um modelo, padrão ou regra que seja útil na predição de características incertas. A busca por lidar com as incertezas pode considerar diferentes teorias. Quando temos uma informação probabilista, podemos lidar com ela considerando as teorias de probabilidade ou da evidência. Um contex- to de informação imprecisa pode ser trabalhado por meio das teorias dos conjuntos nebulosos (fuzzy) ou de aproximação. Um exemplo de incerteza pode ser observado no contexto do diagnóstico médico. Não é possível afir- mar que para todo paciente que tenha como sintoma a febre a doença que o acomete é gripe. Para que essa afirmação fosse verdadeira, seria necessário a 30 inclusão de outras causas possíveis para o sintoma, como pneumonia e virose, dentre outras. Outra tentativa de se obter uma relação de certeza entre doença e sintoma é a partir da doença predizer o sintoma. A afirmação de que todo paciente que tem gripe como doença terá febre como sintoma também é incorreta. Nem todo paciente que tem gri- pe terá febre. Mesmo que fosse possível listar todas as doenças associadas a um determinado sintoma, e vice-versa, a utilização dessas regras seria pouco útil, visto que seriam demasiadamente longas. Além disso, não há um conhecimento completo sobre o domínio da medicina, assim, é muito provável que haja doenças ou sintomas que não são conhecidos. Porém, supondo-se o amplo conhecimento sobre o domínio, ainda haveria muita insegurança na aplica- ção de uma determinada regra a um paciente, haja vista que, do ponto de vista prático, não é possível realizar-se todos os testes previstos. Apesar da evidente impossibilidade de realizar-se afir- mações assertivas em cenários de incerteza, é pos- sível considerar-se algum grau de crença nas afirma- ções descritas anteriormente. Nesse contexto, a teoria da probabilidade fornece os meios para definir esses graus de crença, representados por valores percentu- ais ou fatores, de modo que se possa estabelecer as chances de ocorrência de determinados fenômenos. Os fatores de probabilidade variam entre zero, que representa uma crença inequívoca de que a afirma- ção, ou relação entre afirmações, é falsa, e um, que 31 indica uma crença inequívoca de que a afirmação é verdadeira. Os valores intermediários indicam graus de crença na veracidade da afirmação. Quando temos novas evidências sobre uma deter- minada afirmação, a probabilidade sobre ela pode ser alterada. Assim, chamamos de probabilidade a priori ou incondicional aquela definida inicialmente, sem que novas evidências tenham sido obtidas. A probabilidade posterior ou condicional é aquela de- finida após a obtenção das evidências. As decisões envolvem determinadas preferências so- bre diversos resultados possíveis. Assim, a teoria da utilidade busca representar e analisar as preferências, supondo que todo estado tem um grau de utilidade, então a preferência será dada àquele com maior grau. Nesse contexto, a teoria da decisão une os conceitos das teorias da probabilidade e da utilidade. A base para a realização de inferência probabilísti- ca são os conjuntos de dados a partir dos quais se pode extrair a distribuição de probabilidade conjunta total. Considere a Tabela 2, que é composta por três variáveis lógicas (binárias). Nessa tabela temos a representação da ocorrência de “dor de dente” e de “cárie”, a terceira variável “extração” corresponde à solução para o caso (rótulo). O acento til (~), que precede as variáveis, indica a negação da variável. Para cada combinação de resultados na Tabela 2, temos a probabilidade de ocorrência. Por exemplo, se o paciente tem cárie e dor de dente, a probabilidade de ele precisar extrair o dente é de 0,108 (10,8%) e 32 de não extrair é de 0,012 (1,2%). A soma de todos os fatores de probabilidade na tabela é igual a um, ou seja, temos uma distribuição das probabilidades conjuntas representada na tabela. dor de dente ~dor de dente extração ~extração extração ~extração cárie 0.108 0.012 0.072 0.008 ~cárie 0.016 0.064 0.144 0.576 Tabela 2: Exemplo de distribuição conjunta de probabilida- de. Fonte: adaptado de Lorena (2017). A partir da distribuição conjunta das probabili- dades, podemos identificar a probabilidade de eventos individuais, como a probabilidade de se ter cárie, que é expressa como e é ob- tida pela soma das probabilidades desse evento: , ou seja, a probabilidade de se ter cárie é de 20%. Podemos, também, estabelecer a probabilidade de eventos de forma combinada, como a probabilidade de se ter cárie e dor de dente. A notação para esse caso é , note que v é o ope- rador lógico da disjunção. Nesse caso, basta que seja feita a soma dos eventos atômicos nos quais a proposição é verdadeira: P ( cárie v dor de dente) = 0,108 + 0,012 + 0,072 + 0,008 + 0,016 + 0,064 = 0,28. As probabilidades condicionais podem ser calcula- das a partir das probabilidades não condicionais. 33 Nesses casos, temos que realizar a transformação da seguinte maneira: Podemos ler a equação anterior como a probabilida- de do evento “a” ocorrer, dado que o evento “b” ocor- rer é igual a probabilidade de ocorrência dos eventos “a” e “b” dividido pela probabilidade de ocorrência do evento “b”. Note que a probabilidade do lado es- querdo da equação é condicional, enquanto as pro- babilidades do lado esquerdo são não condicionais. Atente-se a um exemplo: qual a probabilidade de uma pessoa ter cárie, dado que ela tem dor de dente? Assim, a probabilidade de uma pessoa ter cárie, dado que ela tem dor de dente, é de 60%. A distribuição conjunta, representada na forma de tabela, não apresenta praticidade na construção de sistemas de raciocínio. A medida que o número de variáveis aumenta, a construção dessas tabelas fica inviável, devido ao seu tamanho. A regra de Bayes é utilizada para a descrição da pro- babilidade de ocorrência de eventos dependentes, ou seja, aqueles que estão baseados em um conheci- 34 mento a priori. Essa regra é a base para a realização da inferência bayesiana, que é útil para, por exemplo, a predição de classes de objetos. A regra de Bayes é baseada na regra do produto, a qual considera as seguintes equações: A partir dessa regra, podemos derivar a regra de Bayes, igualando as equações: Uma aplicação prática para a regra de Bayes é na filtragem de spam. A denominação spam é aplicada àquelas mensagens eletrônicas que são enviadas sem a solicitação ou autorização do destinatário. Comumente, esse tipo de mensagem tem por objeti- vo a realização de marketing eletrônico, porém, pode- -se observar a utilização de spam para a aplicação de golpes dos mais variados tipos. O filtro bayesiano é o nome que se dá ao processo de classificação de documentos a partir de seu conte- údo. Uma aplicação específica do filtro bayesiano é a classificação de e-mails como spam ou não spam. Esse classificador é baseado na regra de Bayes e se tornou muito popular, sendo utilizado por muitas aplicações de mensagens eletrônicas. 35 A aplicação da regra de Bayes na identificação de spam é feita com base na verificação de determina- das palavras, presentes no texto, que foram identi- ficadas em outras mensagens classificadas como spam pelo usuário. Nesse sentido, a aplicação da regra de Bayes pode ser descrita da seguinte maneira: De maneira similar a outras tarefas discutidas nes- sa disciplina, a efetividade do filtro de spam está condicionada à existência de um bom conjunto de dados para que a inferência das probabilidades possa ser realizada. Os conjuntos de dados, considerados para esse tipo de tarefa, podem ser locais quando o usuário os constrói aos poucos, a partir do próprio feedback, ou podem ser compartilhados e gerados por feedbacks de diversos usuários, como é o caso dos grandes serviços de webmails. 36 CONSIDERAÇÕES FINAIS Neste e-book tivemos a oportunidade de discutir sobre alguns conceitos importantes. Vimos que osalgoritmos documentam a estratégia que podemos utilizar para realizar a extração de padrões, regras ou modelos, a partir de conjuntos de dados. Nesse contexto, os modelos são preditores de, por exem- plo, classes para um novo objeto que não tenha sua classe explicitamente declarada. Os modelos são representações parciais da realidade e descrevem um contexto particular, não podendo ser estendido para além dos limites que são definidos pelos atributos selecionados para sua composição. Além disso, vimos uma descrição detalhada do fun- cionamento do algoritmo K-Means, que é utilizado para o agrupamento de dados a partir da proximidade dos objetos aos centroides definidos, inicialmente, de forma aleatória e, posteriormente, pelo centro de gravidade do grupo. Outro algoritmo visto em detalhes foi o algoritmo de Hunt, que descreve os passos para a obtenção de uma árvore de decisão. Vimos como escolher o me- lhor atributo para a divisão do conjunto de dados, de modo que os subconjuntos derivados sejam os mais puros o possível. A escolha do atributo pode ser feita a partir de medidas de impureza, assim detalhamos a utilização de medida Gini, para a mensuração do grau de pureza dos subconjuntos obtidos. 37 As árvores de decisão são excelentes classificado- res, assim, estudamos um exemplo de classificador constituído a partir de uma árvore de decisão. Esses classificadores são simples de se obter e descrevem as regras consideradas para a obtenção das regras. As árvores de decisão fornecem um grau de asser- tividade na classificação, similar a classificadores mais sofisticados. Finalmente, analisamos a utilização de méto- dos estatísticos para a realização de inferência. Especificamente, notamos a regra de Bayes, que é a base para, por exemplo, a definição do filtro baye- siano, que pode ser considerado para a filtragem de spam. 38 Referências Bibliográficas & Consultadas CARVALHO, A. Aprendizado de máquina: Árvores de Decisão. Notas de aula. São Paulo: ICMC/USP, 2017. CASTRO, L. N.; FERRARI, D. G. Introdução à mineração de dados: conceitos básicos, algoritmos e aplica- ções. São Paulo: Saraiva, 2016. [Minha Biblioteca]. ELMASRI, R.; NAVATHE, S. B. Sistema de banco de dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. [Biblioteca Virtual]. FARIA, F. A. Aprendizagem não supervisionada: agrupamento (Clustering). Notas de aula. São Paulo: UNIFESP, 2015. GOUVEIA JR, A. O conceito de modelo e sua utiliza- ção nas ciências do comportamento: breves notas introdutórias. Estudos de Psicologia, Campinas, v. 16, n. 1, p. 13-16, 1999. HAND, D. J.; MANNILA, H.; SMYTH, P. Principles of data mining (adaptive computation and machine lear- ning). Cambridge (Massachusetts): MIT Press, 2001. HEUSER, C. A. Projeto de banco de dados. 6. ed. Porto Alegre: Bookman, 2009. [Biblioteca Virtual]. LORENA, A. C., FARIA, F. A. Representação do Conhecimento: Lidando com incerteza. Notas de aula. São Paulo: UNIFESP, 2015. MEDEIROS, L. F. Banco de dados: princípios e prática. Curitiba: Intersaberes, 2013. [Biblioteca Virtual]. PUGA, S.; FRANÇA, E.; GOYA, M. Banco de dados: im- plementação em SQL, PL/SQL e Oracle 11g. São Paulo: Pearson Education do Brasil, 2013. [Biblioteca Virtual]. RAMARKRISHNAN, R. Sistemas de gerenciamento de banco de dados. 3. ed. Porto Alegre: AMGH, 2001. [Biblioteca Virtual]. REZENDE, D. A. Inteligência organizacional como modelo de gestão em organizações privadas e públicas: guia para projeto de Organizacional Business Intelligence. São Paulo: Atlas, 2015. [Minha Biblioteca]. SHEARER, C. The CRISP-DM model: the new blueprint for data mining. Journal of data warehousing, v. 5, n. 4, p. 13-22, 2000. SILBERSCHATZ, A.; SUNDARSHAN, S.; KORTH, H. F. Sistema de banco de dados. Rio de Janeiro: Elsevier Brasil, 2016. TURBAN, E. et al. Business intelligence: um enfoque gerencial para a inteligência do negócio. Porto Alegre: Bookman, 2009. [Minha Biblioteca]. Introdução Modelos e Algoritmos Árvores de decisão Métodos estatísticos Considerações finais Referências Bibliográficas & Consultadas
Compartilhar