Transcript
Page 1: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Introdução à Mineração de Dados

Slides do Curso Completo

Copyright© 2008 by Leandro Nunes de Castro Este material foi desenvolvido com base em diversas referências da literatura, incluindo:

WITTEN, I.H.; FRANK, E. Data Mining: Practical Machine Learning Tools and

Techniques. Morgan Kauffman, 2005. HAN, J.; KAMBER, M. Data Mining, Concepts and

Techniques. Morgan Kauffman, 2001. DE CASTRO, L. N., Fundamentals of Natural

Computing: Basic Concepts, Algorithms, and Applications. CRC Press, 2006. WESTPHAL,

C.; BLAXTON, T. Data Mining Solutions: Methods and Tools for Solving Real World

Problems, John Wiley & Sons, 1998. TRIOLA, M. F. Introdução à Estatística. 7. ed. LTC

Livros Técnicos e Científicos Editora S.A., 1999. Cluster Analysis. 4th Ed., Arnold.

HRUSCHKA ET AL., “A Survey of Evolutionary Algorithms for Clustering”, IEEE Trans.

On Syst., Man, and Cyb. – Part C, 39(2), pp. 133-155, 2009. Hodge, V. J.; Austin, J. (2004),

“A Survey of Outlier Detection Methodologies”, Artificial Intelligence Review, 22, pp. 85-126.

Há também contribuições obtidas a partir de trabalhos do Prof. Dr. Eduardo Raul Hruschka. E

partes retiradas da empresa TUILUX da qual fui co-fundador e de dissertações e teses

orientadas por mim nas instituições às quais estive vinculado até hoje.

Page 2: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A primeira versão destes slides foi gerada em 2008 quando introduzi a disciplina Mineração de

Dados no Programa de Pós-Graduação em Engenharia Elétrica da Universidade Mackenzie,

instituição à qual estou vinculado atualmente. Desde 2008 esse material vem sendo aprimorado

e atualizado para se adequar às necessidades dos alunos e incluir algumas das novidades da

área. O uso deste material para fins acadêmicos é livre e gratuito, desde que sejam mantidas as

informações originais de autoria. A sugestão de citação é: “L. N. de Castro, Introdução à

Mineração de Dados, Material de Apoio do Curso Mineração de Dados do PPGEE-

Universidade Mackenzie, Disponível online em http://www.slideshare.net/lndecastro, p. 403,

Baixado em XX/XX/XXXX”. Outros cursos do autor, como “Fundamentos de Computação

Natural”, “Introdução às Redes Neurais Artificiais” e “A Nova Escola do Empreendedorismo”

estão disponíveis no mesmo Slideshare. Mais informações sobre o tema podem ser encontradas

no site do Laboratório de Computação Natural (LCoN): http://www.mackenzie.br/lcon.html.

Uma versão significativamente estendida, melhorada e corrigida deste material também será

publicada sob a forma de livro entre o final de 2015 e início de 2016 com a parceria do Dr.

Daniel Ferrari.

Page 3: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Sumário Sumário ...................................................................................................................... 3

Introdução ................................................................................................................. 10

1. Introdução ......................................................................................................... 10

1.1. As Diferentes Nomenclaturas ................................................................... 10

2. Motivação e Conceitos Básicos ........................................................................ 20

2.1. A Mineração de Dados como um Processo ............................................... 27

2.2. Dicas para uma Análise Eficiente e Eficaz ............................................... 32

3. Algumas Aplicações Práticas ........................................................................... 36

3.1. Predição de Pagamento de Empréstimos e Análise de Crédito ................. 38

3.2. Classificação e Agrupamento de Clientes ................................................. 38

3.3. Prevenção à Lavagem de Dinheiro e outros Crimes Financeiros .............. 39

3.4. Combate a Perdas Não-Técnicas de Energia Elétrica ............................... 40

3.5. Segmentação de Curvas de Carga em Sistemas de Energia Elétrica ......... 43

3.6. Análise de Dados e Recomendação de Primeiro e Segundo Cursos ......... 45

3.7. Direito Ambiental ..................................................................................... 46

4. Principais Tarefas ............................................................................................. 47

4.1. Descrição de Classes/Conceitos: Caracterização e Discriminação ........... 48

4.2. Associação ................................................................................................ 50

4.3. Predição: Classificação e Estimação ......................................................... 52

Page 4: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4.4. Agrupamento ............................................................................................ 54

4.5. Detecção de Anomalias ............................................................................ 56

5. Paradigmas de Aprendizagem .......................................................................... 57

5.1. Aprendizagem Supervisionada ................................................................. 61

5.2. Aprendizagem Não-Supervisionada ......................................................... 62

5.3. Aprendizagem Por Reforço ...................................................................... 63

Pré-Processamento de Dados .................................................................................... 64

1. Introdução ......................................................................................................... 64

2. Nomenclatura e Tipos de Dados ....................................................................... 66

2.1. Exemplos de Bases de Dados ................................................................... 68

2.2. Sobre os Atributos .................................................................................... 76

3. Pré-Processamento dos Dados .......................................................................... 79

3.1. Limpeza dos Dados................................................................................... 81

3.2. Integração dos Dados ................................................................................ 85

3.3. Redução dos Dados................................................................................... 89

3.4. Transformação dos Dados ...................................................................... 115

3.5. Discretização .......................................................................................... 122

Credibilidade do Processo de Aprendizagem ......................................................... 127

4. Introdução ....................................................................................................... 127

5. Treinamento e Teste ....................................................................................... 132

5.1. Aprendizagem Supervisionada como Aproximação de Funções ............ 133

Page 5: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

5.2. Validação Cruzada como Critério de Parada .......................................... 137

6. Validação Cruzada .......................................................................................... 139

7. Avaliação de Desempenho ............................................................................. 144

7.1. Tarefas de Classificação ......................................................................... 145

7.2. Tarefas de Estimação .............................................................................. 158

7.3. Tarefas de Agrupamento ......................................................................... 163

7.4. Tarefas de Associação ............................................................................ 170

Conceitos em Estatística Descritiva ........................................................................ 173

8. Introdução ....................................................................................................... 173

9. Distribuições de Frequência ........................................................................... 176

9.1. Construção da Distribuição de Frequência ............................................. 178

9.2. Distribuição de Frequência Relativa e Acumulada ................................. 180

10. Visualização de Dados .................................................................................... 181

10.1. Histogramas ............................................................................................ 182

10.2. Polígono de Frequências ......................................................................... 184

10.3. Ogiva ...................................................................................................... 184

10.4. Gráfico de Pareto .................................................................................... 185

10.5. Gráfico de Setores .................................................................................. 187

10.6. Gráfico de Dispersão .............................................................................. 188

11. Medidas de Centro .......................................................................................... 190

12. Medidas de Variação ...................................................................................... 194

Page 6: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

13. Medidas de Posição Relativa .......................................................................... 199

14. Medidas de Associação .................................................................................. 202

14.1. Covariância ............................................................................................. 202

14.2. Correlação ............................................................................................... 203

Análise de Grupos .................................................................................................. 211

15. Introdução ....................................................................................................... 211

15.1. Componentes da Tarefa de Agrupamento ............................................... 215

15.2. Complexidade da Tarefa de Agrupamento ............................................. 219

15.3. Agrupamento x Classificação ................................................................. 221

16. Medidas de Proximidade ................................................................................ 222

16.1. Medidas de Similaridade para Dados Categóricos .................................. 224

16.2. Medidas de Dissimilaridade e Distância para Dados Contínuos ............. 231

17. Tipos de Métodos de Agrupamento ................................................................ 234

18. Algoritmos de Agrupamento .......................................................................... 238

18.1. Algoritmos Particionais .......................................................................... 238

18.2. Algoritmos Hierárquicos......................................................................... 253

19. Agrupamento Ótimo de Dados ....................................................................... 263

19.1. Codificação ............................................................................................. 266

19.2. Operadores .............................................................................................. 269

19.3. Funções de Fitness .................................................................................. 275

Predição: Classificação e Estimação....................................................................... 280

Page 7: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

20. Introdução ....................................................................................................... 280

21. Classificador k-NN ......................................................................................... 281

22. Árvores de Decisão ......................................................................................... 282

22.1. Construção de Árvores de Decisão ......................................................... 290

23. Regras de Classificação .................................................................................. 306

24. Classificador One-Rule (1R) .......................................................................... 307

25. Classificação Bayesiana ................................................................................. 310

25.1. Teorema de Bayes .................................................................................. 312

25.2. Construção do Classificador Bayesiano .................................................. 313

26. Estimação ....................................................................................................... 324

26.1. Regressão Linear .................................................................................... 325

Regras de Associação ............................................................................................. 331

27. Introdução ....................................................................................................... 331

27.1. Definição do Problema ........................................................................... 334

28. Minerando Regras de Associação ................................................................... 339

28.1. Conceitos Básicos ................................................................................... 339

28.2. Algoritmo Apriori de Mineração de Regras de Associação .................... 343

28.3. Funcionamento do Algoritmo ................................................................. 347

Detecção de Anomalias .......................................................................................... 354

29. Introdução ....................................................................................................... 354

30. Abordagens para Detecção de Anomalias ...................................................... 359

Page 8: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

30.1. Tipo 1: Aprendizagem Não-Supervisionada ........................................... 359

30.2. Tipo 2: Aprendizagem Supervisionada ................................................... 361

30.3. Tipo 3: Aprendizagem Semi-Supervisionada ......................................... 362

31. Áreas de Detecção de Anomalias ................................................................... 362

31.1. Métodos Estatísticos ............................................................................... 363

31.2. Redes Neurais ......................................................................................... 371

31.3. Aprendizagem de Máquina ..................................................................... 375

31.4. Métodos Híbridos ................................................................................... 376

Mineração de Textos e Recomendação .................................................................. 377

32. Pré-Processamento e Análise de Textos ......................................................... 377

32.1. Introdução ............................................................................................... 377

32.2. Análise Léxica ou Tokenização .............................................................. 378

32.3. Eliminação de Palavras Frequentes (Stopwords) .................................... 379

32.4. Stemming ................................................................................................ 380

32.5. Geração de Vetores e Armazenamento ................................................... 381

32.6. Seleção de Características (Termos) ....................................................... 384

32.7. Comparação de Documentos .................................................................. 386

32.8. Análise dos Textos .................................................................................. 387

33. Sistemas de Recomendação ............................................................................ 389

33.1. Introdução ............................................................................................... 389

33.2. Motivação ............................................................................................... 391

Page 9: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

33.3. Tipos de Sistemas de Recomendação ..................................................... 393

33.4. Formalização do Problema de Recomendação ....................................... 394

33.4.1. Recomendação Colaborativa .............................................................. 399

33.4.2. Abordagens Híbridas .......................................................................... 403

Page 10: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Introdução

1. Introdução

Este material apresenta uma introdução ao processo de mineração de dados, com

ênfase nas técnicas de análise de dados e suas aplicações.

Os métodos a serem implementados são particularmente orientados ao

desenvolvimento de ferramentas escalonáveis e eficientes.

1.1. As Diferentes Nomenclaturas

A literatura está permeada de diferentes nomenclaturas para as muitas técnicas de

solução de problemas e algoritmos computacionais que surgiram nas últimas

décadas.

Page 11: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Este arsenal de métodos vem sendo desenvolvido por diferentes grupos de

pesquisa ou empresas utilizando os mais variados recursos teóricos, práticos ou

fontes de inspiração, desde a estatística até fenômenos só observados na natureza.

O objetivo desta seção é listar as principais nomenclaturas e situar os alunos em

relação a estas nomenclaturas, quando elas surgiram, por que e o que as diferencia

das demais.

IA Clássica

As técnicas mais tradicionais de inteligência artificial eram simbólicas, ou seja,

propunham que uma manipulação algorítmica de estruturas simbólicas é

necessária e suficiente para o desenvolvimento de sistemas inteligentes.

Esta tradição simbólica também engloba as abordagens baseadas em lógica, nas

quais os símbolos são utilizados para representar objetos e relações entre objetos,

e estruturas simbólicas são utilizadas para representar fatos conhecidos.

Page 12: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Uma característica marcante da IA clássica era a forma utilizada para construir o

sistema inteligente.

Existia uma visão procedural sugerindo que sistemas inteligentes poderiam ser

projetados codificando-se conhecimentos especialistas em algoritmos específicos.

Estes sistemas foram denominados genericamente de sistemas baseados em

conhecimento (knowledge-based systems) ou sistemas especialistas (expert

systems).

Exemplo: sistema para diagnóstico médico.

Atualmente a IA clássica envolve basicamente os sistemas especialistas, diversos

métodos de busca, alguns sistemas baseados em agentes, e sistemas de raciocínio

ou inferência baseados em lógica.

Page 13: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Divórcio entre IA e Inteligência Computacional

Em meados dos anos 1960, novos sistemas começaram a ser desenvolvidos

através da observação de outros fenômenos inteligentes naturais além da

inteligência humana.

Quem classificaria o mecanismo utilizado pelos cupins para a construção de seus

ninhos como um comportamento inteligente?

Vários outros exemplos existem na natureza: evolução das espécies, construção de

colméias de abelhas, coleta de comida por formigas, etc.

A dificuldade encontrada pela IA clássica em prover suas promessas (robôs

inteligentes, etc.), geraram várias discordâncias entre ela e as abordagens mais

recentes como redes neurais artificiais. Um dos motivos principais era, é claro, a

disputa por financiamentos.

Page 14: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Houve então uma necessidade de dissociar redes neurais das técnicas de IA

clássica, e, para isso, criou-se uma nova linha de pesquisa denominada de

inteligência computacional.

A inteligência computacional engloba principalmente as redes neurais artificiais, a

computação evolutiva, os sistemas nebulosos, e mais recentemente, a inteligência

coletiva e os sistemas imunológicos artificiais.

Aprendizagem de Máquina

Adaptação pode ser definida como a habilidade de um sistema ajustar sua resposta

a estímulos ambientais. Adaptação é um sinônimo de mudança, variação. Um

agente que sofre modificação, de forma a se tornar melhor preparado para uma

situação ou aplicação, torna-se mais adaptado a este novo cenário.

Existem muitas palavras que podem ser interpretadas como sinônimos da palavra

adaptação, por exemplo, evolução, aprendizagem e auto-organização.

Page 15: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Entretanto, estes conceitos também podem ser vistos como sendo resultantes de um

processo adaptativo.

A aprendizagem corresponde ao ato, processo ou experiência de adquirir

conhecimento, compreensão, capacidade ou abilidade, através de experiência,

estudo ou interações.

Sistemas que sofrem aprendizagem são geralmente aqueles capazes de se adaptar

ou mudar seu comportamento baseado em exemplos, de forma a manipular

informações.

Uma virtude importante da aprendizagem baseada em adaptação é a possibilidade

de resolver tarefas de processamento de informação e a capacidade de operar em

ambientes dinâmicos.

A maioria dos processos de aprendizagem é gradativa, ou seja, a aprendizagem não

ocorre instantaneamente, mas requer um processo interativo e/ou iterativo de

adaptação e interação com o ambiente.

Page 16: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Quando um sistema aprende alguma coisa, ele altera seu padrão comportamental

ou alguma outra de suas características.

Existem formas de aprendizagem que não são gradativas, por exemplo, a

memorização.

É importante salientar que a aprendizagem não requer consciência e nem

inteligência. Animais e insetos aprendem os caminhos que devem seguir para obter

comida, se reproduzir, etc.

A aprendizagem de máquina pode ser entendida como uma sub-área da

inteligência artificial voltada para o projeto e desenvolvimento de algoritmos e

técnicas que permitam aos computadores aprenderem ou, melhor dizendo, se

adaptarem.

Ela surgiu no início da década 1990 e seu principal foco é extrair informação a

partir de dados automaticamente, usando métodos computacionais ou estatísticos.

Page 17: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Portanto, a aprendizagem de máquina está intimamente relacionada à mineração de

dados, estatística, inteligência artificial e teoria da computação, além de a outras

áreas como computação natural, sistemas complexos adaptativos e computação

flexível, como será visto a seguir.

Os principais métodos investigados nesta área são aqueles que trabalham com

dados nominais como, por exemplo, árvores de decisão, regras de associação e

classificação, tabelas de decisão e outros. Além destes destacam-se os algoritmos

baseados na teoria de Bayes, alguns métodos estatísticos e métodos de

agrupamento de dados.

Outras Nomenclaturas

Diversas outras nomenclaturas existem, como computação flexível (soft

computing) e sistemas complexos.

Page 18: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A computação flexível foi um termo introduzido por L. Zadeh para descrever uma

nova metodologia de computação que permitiu a manipulação de variáveis

linguísticas e raciocínio aproximado.

Atualmente, computação flexível é o termo utilizado para descrever basicamente

técnicas híbridas de computação inteligente, como sistemas neuro-nebulosos,

neuro-evolutivos, etc.

Os sistemas complexos, por outro lado, são aqueles compostos por uma grande

quantidade de componentes que interagem entre si, e cujas propriedades globais

são não-lineares. Eles geralmente apresentam processos auto-organizados.

o Exemplos de sistemas complexos: sistemas imunológicos, colônias de insetos,

revoada de pássaros, redes neurais, etc.

Por fim, uma terminologia bastante recente é a computação natural. A computação

natural pode ser dividida em três grandes sub-áreas:

Page 19: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Computação inspirada na natureza: utiliza a natureza como fonte de inspiração

para o desenvolvimento de novas técnicas computacionais de solução de

problemas;

o Simulação e emulação da natureza utilizando a computação: trata-se

basicamente de um processo de síntese que objetiva criar formas, padrões e

comportamentos similares àqueles conhecidos na natureza. Além disso, algumas

áreas visam o desenvolvimento de organismos artificiais; e

o Computação com materiais naturais: corresponde ao uso de um novo tipo de

matéria prima para computar. Trata-se de um novo paradigma de computação

que vem com o objetivo principal de substituir a tecnologia de silício empregada

atualmente.

Sendo assim, é possível definir a computação natural como sendo a linha de

pesquisa que, baseada ou inspirada na natureza: 1) permite o desenvolvimento de

novas ferramentas de computação (em software e/ou hardware) para a solução de

Page 20: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

problemas; 2) resulta em processos de síntese de padrões, formas, comportamentos

e organismos; e 3) que utiliza matéria-prima natural para o desenvolvimento de

novos tipos de computadores.

As principais sub-áreas da computação natural são as redes neurais artificiais, a

computação evolutiva, a inteligência de enxame, os sistemas imunológicos

artificiais, a vida artificial, a geometria fractal, a computação molecular e a

computação de DNA.

2. Motivação e Conceitos Básicos

Vamos considerar inicialmente os seguintes fatos:

o A maioria das organizações despende bastante tempo e esforço na construção e

manutenção de bases de dados, o que gerou inclusive especialidades como os

DBAs (data base administrators), negócios como as empresas de indexação de

bancos de dados, e muitas outras demandas.

Page 21: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Frequentemente os dados não podem ser analisados manualmente ou através de

métodos convencionais de estatística devido a fatores como grande quantidade

de registros, elevado número de atributos, valores ausentes, presença de dados

qualitativos e não quantitativos, etc.

o Na maioria das vezes a informação contida nas bases de dados corporativas é

subvalorizada ou subutilizada, pois os dados não são acessados ou analisados.

o Algumas bases de dados crescem tanto que nem os administradores conhecem

as informações que podem ser representadas ou a relevância que elas podem ter

para uma análise.

o É muito útil para as organizações ter ferramentas e processos para a extração de

conhecimentos a partir dessas bases de dados para a tomada de decisão

estratégica, tática e operacional.

Page 22: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A tecnologia computacional tem evoluído de forma extraordinária, assim como a

velocidade de processamento e a capacidade de armazenamento têm aumentado de

maneira significativa.

Concomitantemente, ampliam-se as nossas capacidades de gerar, coletar e

processar dados, propiciando a aplicação eficiente das tecnologias de informação

emergentes.

A indústria dos bancos de dados (databases) testemunhou o desenvolvimento das

seguintes funcionalidades:

o Coleta de dados;

o Criação da base de dados;

o Gerenciamento dos dados, incluindo a armazenagem, recuperação e o

processamento da base de dados de transações;

o Análise e compreensão dos dados, envolvendo os armazéns de dados e a

mineração de dados.

Page 23: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A ampla utilização dos códigos de barras identificadores de produtos, a

informatização das transações comerciais e os avanços nas ferramentas de coleta

de dados têm proporcionado a utilização de grandes bancos de dados em muitas

áreas da atividade humana.

Paradoxalmente, esses avanços da tecnologia têm produzido um problema de

super-abundância de dados, pois nossas capacidades de coletar e armazenar dados

têm superado nossa habilidade de analisar e extrair conhecimento dos mesmos.

Nesse contexto, é necessária a aplicação de técnicas e ferramentas que

transformem, de maneira inteligente e automática, os dados disponíveis em

informações úteis, que representem conhecimento.

Neste sentido, pesquisadores das mais variadas áreas têm se dedicado a estudar

métodos para mineração de dados.

O termo mineração de dados, ou data mining, surgiu do interesse em se utilizar

grandes bancos de dados de uma maneira inteligente e sugere uma analogia

Page 24: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

interessante: explora-se uma mina de dados, purificando-se o minério para obter o

ouro – conhecimento, que se refere às informações e aos modelos, armazenados

por uma pessoa ou máquina, utilizados para apropriadamente interpretar, prever e

responder ao mundo exterior.

A ideia de descobrir conhecimento em grandes conjuntos de dados é muito

interessante e até intuitiva, mas tecnicamente é uma tarefa significativamente

difícil e desafiadora, requerendo ativa participação de engenheiros de

conhecimento, analistas de sistemas, analistas de dados, especialistas do domínio,

usuários do sistema, estatísticos, etc.

É, portanto, uma tarefa interdisciplinar e multidisciplinar, centralizada na

participação ativa do ser humano.

De um modo mais formal, pode-se dizer que a mineração de dados se refere a uma

classe de métodos utilizados em alguns passos que abrangem o processo de

Page 25: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

descoberta de conhecimento em bancos de dados (Knowledge Discovery in

Databases – KDD).

Este termo, cunhado em 1989, se refere ao processo, interativo e iterativo, de

descoberta de conhecimento em conjuntos de dados, incorporando conhecimento

de domínio e interpretação de resultados, com ênfase na aplicação dos métodos de

mineração de dados.

O processo de descoberta de conhecimento em banco de dados é útil em vários

domínios da ciência (e.g., bioinformática), bem como em várias outras aplicações,

tais como Marketing e Finanças.

Nesse contexto, os bancos de dados representam depósitos de conhecimento em

potencial, que podem ser explorados para se descobrir relações, padrões e regras.

Pode-se definir a descoberta de conhecimento em bancos de dados como sendo o

processo não trivial de identificação de padrões válidos, novos, potencialmente

úteis e compreensíveis em grandes bancos de dados.

Page 26: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A avaliação relativa ao tamanho do banco de dados é de caráter subjetivo, mas

pode-se dizer que as aplicações de mineração de dados se justificam quando a

quantidade de dados oculta as valiosas relações presentes nos mesmos.

A maioria dos métodos de mineração de dados é baseada em conceitos de

aprendizado de máquina, reconhecimento de padrões e estatística, sendo utilizados,

na maioria das aplicações, em tarefas de previsão e de descrição.

A viabilidade da aplicação das técnicas de data mining pode ser avaliada por meio

de critérios práticos e técnicos.

O critério prático envolve, basicamente, a consideração do impacto de uma

aplicação, ou seja, uma análise de custo/benefício, na qual o valor da informação

obtida deve ser superior ao custo do processamento dos dados.

Consideram-se, ainda, a disponibilidade de utilização de técnicas tradicionais, bem

como de especialistas no domínio.

Page 27: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Um aspecto também importante diz respeito à segurança e privacidade das

informações contidas no banco de dados.

Devem ser consideradas, também, as implicações éticas nas aplicações que

envolvem informações pessoais.

Em aplicações científicas, avalia-se fundamentalmente o potencial referente à

originalidade e à qualidade do conhecimento adquirido.

No tocante ao critério técnico, considera-se a disponibilidade de dados em

quantidade e qualidade necessárias e suficientes para realizar a aplicação.

Cabe observar, ainda, que a disponibilidade de conhecimento de domínio é um

fator importante para o sucesso de uma aplicação de mineração de dados.

2.1. A Mineração de Dados como um Processo

O processo de descoberta de conhecimento é interativo e iterativo, enfatizando a

aplicação de técnicas de mineração de dados, as quais envolvem basicamente três

etapas (Figura 1):

Page 28: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Preparação ou pré-processamento de dados: limpeza (remoção de ruídos e

dados inconsistentes), integração (múltiplas fontes de dados são combinadas),

seleção ou redução (escolha dos dados relevantes à análise), transformação

(transformação ou consolidação dos dados em formatos apropriados para a

mineração);

o Mineração de dados: aplicação de algoritmos para a extração de padrões à partir

dos dados; e

o Análise ou avaliação das informações: identificação e apresentação de

informações ou conhecimentos verdadeiramente úteis.

Estas três etapas são correlacionadas e interdependentes, de tal forma que a

abordagem ideal para extrair informações relevantes em bancos de dados consiste

em considerar as inter-relações entre cada uma das etapas e sua influência no

resultado final.

Page 29: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 1: Processo de descoberta de conhecimento em bases de dados. (Fonte: Fayyad et al.,

1996)

Obs.: Sob uma perspectiva de armazém de dados (data warehouse), o processo de

mineração de dados pode ser visto como um estágio avançado do processamento

analítico on-line (On-Line Analytical Processing - OLAP). Entretanto, a mineração

de dados vai muito além do escopo restrito típico de um OLAP, baseado em

Page 30: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

métodos de resumo ou sumarização de dados, incorporando técnicas mais

avançadas para a compreensão dos dados.

A mineração de dados é uma disciplina interdisciplinar e multidisciplinar,

envolvendo conhecimento de áreas como banco de dados, estatística,

aprendizagem de máquina, computação de alto desempenho, reconhecimento de

padrões, redes neurais artificiais, visualização de dados, recuperação de

informação, processamento de imagens e de sinais, e análise espacial de dados

(Figura 2).

Page 31: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Mineração de Dados

Bancos de Dados

Outras Disciplinas

Sistemas de Informação

Aprendizagem de Máquina

Visualização

Estatística

Inteligência Artificial

Figura 2: Multidisciplinaridade da mineração de dados.

O foco de apresentação deste curso é nas técnicas de aprendizagem de máquina.

Outras técnicas, como as redes neurais artificiais e os algoritmos bio-inspirados,

são vistas em cursos específicos.

Page 32: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O processo de mineração de dados deverá permitir que conhecimentos

interessantes e úteis sejam extraídos da base de dados e visualizados sob diferentes

perspectivas.

Este conhecimento poderá ser usado para a tomada de decisão, controle de

processos, gestão da informação e conhecimento, processamento de consultas e

muitas outras aplicações.

2.2. Dicas para uma Análise Eficiente e Eficaz

A mineração de dados pode levar a uma capacidade preditiva e analítica poderosa

dos dados.

Mesmo quando aplicada corretamente, a capacidade de trabalhar com múltiplas

variáveis e suas relações tornam os processos de mineração e interpretação dos

resultados substancialmente complexos.

Considerando esta complexidade, é preciso que o ‘analista’ esteja atento para os

fundamentos conceituais necessários para o uso e entendimento de cada técnica.

Page 33: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Abaixo segue uma lista de considerações (inevitavelmente incompleta) que podem

servir como guia para uma mineração eficiente e eficaz:

1. Estabelecer a significância prática e estatística da mineração: a significância

estatística da mineração permite, por exemplo, que diferentes métodos sejam

comparados entre si. A significância prática, por sua vez, faz a pergunta: “E

daí?”, ou seja, qual uso será feito da mineração dos dados?

2. Reconhecer que as características da base de dados influenciam todos os

resultados: o processo de mineração opera, quase que em sua totalidade, sobre

uma base de dados pré-processada. É importante reconhecer que a quantidade de

objetos na base, a dimensão (número de atributos) destes objetos, o tipo de

atributos e seus domínios, a ausência de valores na base e muitas outras

características dos dados afetarão fortemente o resultado da análise, podendo,

inclusive, invalidá-la.

Page 34: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3. Necessidade de conhecer os dados: a discussão acima implica que análises

preliminares dos dados, como medidas de tendência central (por variável),

análise de componentes principais e muitos outros métodos (estatísticos) simples

podem ser aplicados à base com o objetivo de entendê-la melhor antes de se

iniciar a mineração propriamente dita. O Tópico 04 (Descrição de

Classes/Conceitos) abordará alguns destes métodos.

4. Busca pela parcimônia: boa parte dos algoritmos de mineração resulta em uma

espécie de ‘modelo’ dos dados que poderá ser usado posteriormente para fazer

alguma inferência ou predição. É possível que a escolha de diferentes amostras

dos dados, ou mesmo diferentes execuções dos algoritmos, resultem em modelos

com características distintas. Nestes casos a escolha por um ou outro modelo

deve considerar, dentre outros aspectos, a parcimônia da solução, ou seja, a

complexidade do modelo resultante. Obs.: muitas vezes a complexidade de

Page 35: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

geração do modelo é aspecto crucial na escolha de uma ferramenta dentro de um

conjunto de possibilidades.

5. Verifique os erros: em tarefas de predição (classificação ou estimação) é

essencial investigar os resultados dos algoritmos. Por exemplo, por que um

determinado algoritmo classificou incorretamente alguns objetos da base? Os

erros de predição não devem ser vistos apenas como algo a ser eliminado ou

reduzido, mas sim como um ponto de partida para um diagnóstico da validade

dos resultados obtidos e um indicativo de relações inexplicadas entre objetos

e/ou atributos.

6. Valide seus resultados: os resultados de uma análise precisam ser validados de

diversas formas, por exemplo, comparando com o resultado de outras técnicas,

analisando a capacidade de generalização dos métodos, combinando com outras

técnicas, etc.

Page 36: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3. Algumas Aplicações Práticas

Há uma vasta literatura sobre aplicações de técnicas de mineração de dados. São

típicas aplicações em áreas como análise e predição de crédito, detecção de

fraudes, predição do mercado financeiro, relacionamento com os clientes, predição

de falência corporativa, e muitas outras.

Exemplos de segmentos de aplicação:

o Setor financeiro;

o Planejamento estratégico empresarial;

o Planejamento do setor portuário;

o Setor de energia (petróleo, gás, energia elétrica, biocombustíveis, etc.);

o Escolas, Universidades, Faculdades, etc.;

o Logística; planejamento das cadeias de produção, distribuição e suprimentos;

o Meio Ambiente;

o Internet: portais, redes sociais, comércio eletrônico, etc.

Page 37: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Exemplos de aplicações típicas:

o Identificação ou segmentação de clientes, parceiros, colaboradores;

o Detecção de fraudes e anomalias em sistemas e processos;

o Ações estratégicas de marketing, CRM e RH;

o Jogos e atividades educacionais;

o Gestão do conhecimento;

o Análise de padrões de consumo;

o Compreensão de bases de dados industriais, biológicas, empresariais e

acadêmicas;

o Predição de ROI, despesas, receitas, investimentos, etc.;

o Mineração de dados da web;

o Outras.

A seguir apresentamos alguns exemplos práticos de aplicação de mineração de

dados.

Page 38: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.1. Predição de Pagamento de Empréstimos e Análise de Crédito

Diversos fatores podem influenciar fortemente ou fracamente o pagamento de

empréstimos e a análise de crédito de clientes.

Métodos de mineração de dados, como seleção de atributos e ranqueamento de

relevância de atributos, podem ajudar a identificar atributos importantes e eliminar

atributos irrelevantes.

Por exemplo, fatores relacionados ao risco de inadimplência incluem a razão entre

o empréstimo e o valor das prestações, os termos do empréstimo, a razão de débito

(valor da prestação em relação ao salário do cliente), nível educacional, local de

residência, histórico de crédito, etc.

3.2. Classificação e Agrupamento de Clientes

Técnicas de classificação e agrupamento de clientes podem ser usadas em diversos

contextos, como para a execução de marketing direcionado.

Page 39: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.3. Prevenção à Lavagem de Dinheiro e outros Crimes Financeiros

Para a detecção de lavagem de dinheiro e outros crimes financeiros normalmente é

importante integrar dados de diferentes bases, como bases de dados de transações

bancárias, bases de dados de crimes estaduais e/ou federais, etc.

Múltiplas técnicas de análise de dados podem ser usadas para detectar padrões

incomuns, como fluxos de caixa muito grandes em certos períodos, por certos

grupos de pessoas, etc.

Ferramentas úteis para este tipo de análise incluem métodos de visualização,

técnicas de associação, agrupamento e classificação de dados, além dos métodos

de detecção de anomalias.

Estas técnicas podem identificar relações e padrões de atividade importantes,

ajudando os investigadores a focarem em ações suspeitas.

Page 40: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.4. Combate a Perdas Não-Técnicas de Energia Elétrica

A existência de perdas em um sistema de energia elétrica é consequência natural

do consumo de energia.

As perdas podem ser categorizadas de acordo com o efeito, componente do

sistema, ou causa da perda e podem ser resumidas em:

o Perdas Técnicas (PT): intrínsecas ao sistema elétrico, o que inclui as perdas nos

equipamentos, na transformação e na distribuição da energia.

o Perdas Comerciais (PC): também chamadas de perdas não-técnicas, são

consequência, principalmente, de erros ou ausência de medição, medidores com

defeito, consumidores clandestinos, desvio de consumo e furto de energia.

Um dos grandes problemas enfrentados pelas empresas distribuidoras de energia

elétrica são as perdas comerciais provocadas intencionalmente por consumidores

ou por falhas nos medidores.

Page 41: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Diversos tipos de atividades têm sido aplicadas na redução destas perdas, tais

como: campanhas publicitárias educativas, inspeções de consumidores, inspeções

específicas em consumidores com perfil de consumo considerado suspeito,

substituição de medidores eletromecânicos por medidores eletrônicos, programas

de exteriorização da medição, operações de eliminação de ligações clandestinas,

dentre outras.

Uma das formas de reduzir as perdas comerciais é realizar inspeções técnicas no

local de consumo em busca de irregularidades, que vão desde a adulteração dos

dispositivos de medição (fraude) até o furto ou desvio da energia propriamente

dita. Entretanto, além da impossibilidade de inspecionar todos os consumidores, o

custo associado à inspeção é alto, uma vez que este processo demanda tempo,

requer o deslocamento de uma equipe em campo e muitos dos consumidores

inspecionados não são fraudadores.

Page 42: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Baseado nos dados de fiscalização obtidos a partir de medidas amostrais em campo

pode ser feita uma análise de dados para investigar interrelações entre as amostras,

segmentando os dados em grupos, possivelmente, hierarquicamente vinculados,

permitindo uma definição de pontos estratégicos de fiscalização.

Outra tarefa possível é a classificação automática dos cadastros disponíveis, a

partir da qual pode-se desenvolver um sistema de classificação que permita

identificar automaticamente aqueles consumidores que provavelmente estejam

causando perda de receita para a concessionária. Trata-se, portanto, de uma etapa

na qual é feita a prospecção de possíveis perdas comerciais. Esta informação pode

ser empregada no direcionamento das equipes de fiscalização e auditoria,

impactando diretamente na redução das perdas não técnicas.

Além destas análises, dado o perfil de consumo dos usuários pode ser feito um

levantamento das curvas típicas de hábito de consumo, permitindo uma

identificação automática de novos clientes e de anomalias em clientes já existentes.

Page 43: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.5. Segmentação de Curvas de Carga em Sistemas de Energia Elétrica

Apesar do alto grau de desenvolvimento tecnológico da atualidade, só

conseguimos armazenar energia elétrica em pequenas quantidades.

No caso da energia elétrica consumida pelas indústrias, empresas e residências, a

capacidade produtiva das usinas deve ser aproximadamente a mesma da energia

consumida.

A pergunta que as usinas geradoras precisam responder, portanto, é qual será o

consumo de energia elétrica a cada dia, ou seja, é preciso prever a demanda de

energia elétrica para que uma quantidade suficiente seja produzida.

A falta de planejamento e investimentos no setor produtivo de energia elétrica

pode causar apagões, cortes indesejáveis no fornecimento de energia, podendo até

paralizar a produção industrial e o desempenho de outros serviços.

No Brasil três grandes apagões ocorreram nos anos 2001, 2002 e 2009 devido a

esta falta de planejamento ou outros problemas na geração ou distribuição da

Page 44: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

energia, o que levou o governo a estimular o racionamento voluntário,

promovendo a economia e penalizando o desperdício de energia elétrica.

Com o objetivo de melhorar o planejamento da produção de energia elétrica é

possível fazer a previsão de carga (consumo) a curto-prazo de um sistema elétrico

de potência.

Para prever as cargas horárias de um dia, o padrão de carga horário e as cargas

máxima e mínima devem ser determinados. O objetivo é identificar dias da semana

com padrões de cargas horárias similares e, posteriormente, realizar a previsão de

demanda do setor.

A previsão de demanda de carga é um meio de fornecer informações para uma

tomada de decisão criteriosa que proporciona economia e segurança no

fornecimento de energia elétrica. Para isso, uma companhia elétrica precisa

resolver vários problemas técnicos e econômicos no planejamento e controle da

operação do sistema de energia elétrica.

Page 45: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.6. Análise de Dados e Recomendação de Primeiro e Segundo Cursos

O ensino superior é um dos segmentos de mercado mais concorridos para as

empresas do setor.

Para garantir e aumentar a competitividade, algumas empresas decidiram aplicar

técnicas de mineração de dados para reduzir evasão e inadimplência, ao mesmo

tempo em que aumentem a demanda pelos cursos existentes.

Várias análises podem ser efetuadas, como:

o Identificar os perfis da base de interessados e matriculados por curso e

categorias de curso;

o Identificar os perfis de inadimplência e evasão da base de matriculados;

o Identificar quais ferramentas de marketing são mais eficazes na captação de

alunos;

o Identificar potenciais alunos da base de dados para recomendar um (novo)

curso;

Page 46: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Identificar e captar interessados que não se matriculam;

o Alinhar o perfil da base em potencial com os cursos do portfólio da instituição.

Usando informações referentes aos seguintes atributos (Sexo, Estado Civil,

Atuação, Renda, Faixa de Idade, Nível Hierárquico, Ano de Graduação, Cidade de

Residência, Cidade Onde Trabalha, Porte da Empresa, Área, Nome do Curso,

Origem, Como Soube) é possível realizar análises como:

o Descrição das características da base

o Análise de grupos

o Inferência de regras de classificação

o Análise de associação entre atributos

o Predição de cursos e qualquer outro atributo

3.7. Direito Ambiental

Muitas empresas precisam consultar bases de dados eletrônicas (p. ex., DOU, DOE

e DOM) regularmente em busca de novas leis, decretos e resoluções.

Page 47: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Na maioria das vezes essas buscas são feitas por pessoas, que passam horas

visitando sites, baixando e lendo documentos em busca de atualizações e novas leis

que regulamentam determinado setor.

Esse processo de busca automática de fontes de informação, segmentação de

documentos com base nos seus conteúdos e caracterização de acordo com o perfil

de clientes da empresa pode ser automatizado por técnicas de mineração de dados.

4. Principais Tarefas

As funcionalidades da mineração de dados são usadas para especificar os tipos de

informações a serem obtidas nas tarefas de mineração.

Em geral estas tarefas podem ser classificadas em duas categorias:

o Descritivas: caracterizam as propriedades gerais dos dados; e

o Preditivas: fazem inferência com os dados objetivando predições.

Page 48: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Em muitos casos o usuário não tem ideia do tipo de conhecimento contido nos

dados, tornando importante a capacidade das ferramentas de mineração em

encontrar diferentes tipos de conhecimento.

As principais tarefas de mineração de dados são descritas a seguir.

4.1. Descrição de Classes/Conceitos: Caracterização e Discriminação

Os dados podem estar associados a classes ou conceitos.

Por exemplo, no caso de detecção de fraudes classes úteis são fraude e transação

legítima.

Pode ser útil descrever classes e conceitos individuais de forma resumida e

concisa, mas precisa. Estas descrições são denominadas descrição de

classe/conceito.

As descrições podem ser derivadas através de uma caracterização dos dados,

sumarizando os dados da classe, ou de uma discriminação dos dados, comparando

a classe alvo com uma ou um grupo de classes comparativas, ou ambas.

Page 49: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A caracterização dos dados é uma sumarização de características ou atributos

gerais de uma determinada classe dos dados, e pode ser apresentada, por exemplo,

através de gráficos do tipo torta, gráficos em barra, curvas, tabelas, etc.

o Por exemplo, qual a descrição que resume as características dos clientes que

gastam mais do que R$ 2.000,00/mês de cartão de crédito? Estes clientes

normalmente possuem idade entre 40 e 50 anos, são casados e têm filhos,

possuem curso superior, etc.

A discriminação dos dados é uma comparação das características gerais de objetos

pertencentes a uma determinada classe alvo com uma ou mais características gerais

de objetos pertencentes a outras classes contrastantes.

o Por exemplo, um sistema de mineração de dados pode permitir verificar que

80% dos consumidores que compram computadores possuem idade entre 20 e

40 anos e são graduados, enquanto 60% dos consumidores que não compram

Page 50: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

computadores são pessoas de idade ( > 60 anos ) e não possuem curso

universitário.

4.2. Associação

A análise por associação corresponde à descoberta de regras de associação que

apresentam valores de atributos que ocorrem concomitantemente em uma base de

dados.

Este tipo de análise normalmente é usado em ações de marketing e para o estudo

de bases de dados transacionais.

Mais formalmente, regras de associação possuem a forma X Y, ou seja,

A1 A2 ... Am B1 B2 ... Bn,

onde Ai, i = 1, ... , m, e Bj, j = 1, ... , n, são pares de valores de atributos.

As regras de associação X Y são interpretadas da seguinte forma:

o Registros da base de dados que satisfazem a condição em X também satisfazem

a condição em Y.

Page 51: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Exemplo: Seja a seguinte regra de associação.

idade(X, 20...29) salário(X, 20K...29K) compra(X, computador)

[suporte = 2%, confiança = 60%]

onde X é uma variável que representa um cliente.

Esta regra indica que dentre todos os clientes sendo investigados, 2% deles possuem

idade entre 20 e 29 anos, salário entre 20K e 29K e compraram computador. Além

disso, há uma probabilidade igual a 60% de que um cliente com esta idade e faixa

salarial compre um computador.

Em aplicações de marketing, por exemplo, este tipo de metodologia pode ser usado

para identificar quais itens são comprados juntos. Na detecção de fraudes esta

metodologia pode permitir a identificação de características ou comportamentos

que ocorrem simultaneamente.

Page 52: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4.3. Predição: Classificação e Estimação

Predição é uma terminologia usada para se referir à construção e uso de um

modelo para avaliar a classe de um objeto não rotulado, ou para estimar o valor de

um atributo de um dado objeto.

o No primeiro caso denominamos a tarefa de classificação e no segundo caso

denominamos de regressão (em estatística) ou simplesmente estimação.

Sob esta perspectiva, classificação e regressão constituem os dois principais tipos

de problemas de predição, onde a classificação é usada para predizer valores

nominais ou discretos, enquanto a regressão é usada para predizer valores

contínuos ou ordinais.

Exemplos: classificação (O crédito será oferecido ou não?); regressão (Qual o

valor do crédito a ser oferecido?).

O processo de predição, classificação ou estimação, possui duas etapas essenciais:

Page 53: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Treinamento: na primeira etapa o preditor (classificador ou estimador) é gerado,

tal que ele se torne capaz de descrever e distinguir um conjunto pré-determinado

de classes. O classificador é gerado usando um conjunto de dados de

treinamento rotulados, ou seja, para cada vetor de entradas a saída desejada,

que pode ser a classe à qual o objeto pertence, é conhecida. Isso implica na

disponibilidade de pares {(xi,ci)}i = 1,...,N, onde xi e ci i, são os vetores de entrada

e as respectivas saídas desejadas.

o Teste: uma vez que o preditor foi gerado, é preciso avaliar seu desempenho

quando aplicado a dados não usados no processo de treinamento, conhecidos

como dados de teste ou, em alguns casos, dados de validação. O desempenho do

preditor quando aplicado a dados de teste oferece uma estimativa de sua

capacidade de generalização.

Page 54: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Como os rótulos das classes dos dados de treinamento são conhecidos, este

processo é denominado de treinamento supervisionado (ou aprendizagem

supervisionada).

Exemplos de tarefas de classificação: identificação de spams, classificação de

objetos, atribuição de crédito, detecção de fraudes, etc.

Exemplos de tarefas de estimação: predição de produtividade de grãos, estimativa

de desempenho de atletas, estimativa de crédito, etc.

4.4. Agrupamento

Clustering é o nome dado ao processo de agrupamento de um conjunto de objetos

em classes ou clusters (grupos) de objetos similares.

Diferentemente dos processos de classificação, a análise de clusters considera

dados de entrada não-rotulados, ou seja, a classe à qual cada padrão de entrada

(objeto) pertence não é conhecida a priori.

Page 55: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o O processo de agrupamento ou clusterização é normalmente usado para

identificar tais classes.

Os objetos são agrupados com o objetivo de maximizar a distância inter-classe e

minimizar a distância intra-classe, ou, dito de outra forma, maximizar a

similaridade intra-classe e minimizar a similaridade inter-classe.

o Portanto, um cluster é uma coleção de objetos similares uns aos outros e

dissimilares aos objetos de outros clusters.

Cada cluster formado pode ser visto como uma classe de objetos.

Como os rótulos das classes dos dados de treinamento não são conhecidos, este

processo é denominado de treinamento não-supervisionado (ou aprendizagem

não-supervisionada).

Page 56: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4.5. Detecção de Anomalias

Uma base de dados pode conter objetos que não seguem o comportamento ou

característica comum dos dados ou de um modelo deles. Estes dados são

conhecidos como anomalias ou outliers.

A maioria das ferramentas de mineração descarta as anomalias como ruídos ou

exceções. Entretanto, em algumas aplicações, como na detecção de fraudes, os

eventos raros podem ser mais informativos do que aqueles que ocorrem

regularmente.

As anomalias podem ser detectadas de diversas formas, incluindo usando métodos

estatísticos que assumem uma distribuição ou modelo de probabilidade dos dados,

ou usando medidas de distância através das quais objetos substancialmente

distantes dos outros são considerados anomalias.

Page 57: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Por exemplo, no caso de fraudes em cartões de crédito, valores muito acima dos

usuais para um dado cliente, assim como o tipo, o local e a frequência de uma dada

compra são indicativos de uma anomalia.

5. Paradigmas de Aprendizagem

A capacidade de aprender associada a um sistema inteligente, mais

especificamente a uma ferramenta de aprendizagem de máquina, é uma das mais

importantes qualidades destas estruturas.

Trata-se da habilidade de adaptar-se, de acordo com regras pré-existentes, ao seu

ambiente, alterando seu desempenho ao longo do tempo.

Sendo assim, considera-se aprendizado o processo que adapta o comportamento e

conduz a uma “melhoria” de desempenho.

No contexto de aprendizagem de máquina, aprendizagem ou treinamento

corresponde ao processo de ajuste dos parâmetros livres do sistema através de um

Page 58: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

mecanismo de apresentação de estímulos ambientais, conhecidos como padrões

(ou dados) de entrada ou de treinamento:

estímulo adaptação novo comportamento da rede

O objetivo do aprendizado em mineração de dados é a obtenção de um modelo

implícito ou extração de informação dos dados em estudo.

Um conjunto bem definido de regras ou passos para a obtenção do modelo ou

extração de informação de uma base de dados é denominado um algoritmo de

aprendizagem ou treinamento.

A maneira pela qual o ambiente influencia o sistema em seu aprendizado define o

paradigma de aprendizagem. Exemplos de paradigmas: aprendizado

supervisionado, aprendizado por reforço e aprendizado não-supervisionado (ou

auto-organizado).

Page 59: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Seja qual for o algoritmo ou o paradigma utilizado, ao alcançarmos o objetivo

obtemos uma representação de conhecimento que obedece a uma ou mais das

quatro regras de bom senso descritas abaixo:

R1 entradas similares provenientes de classes similares de fenômenos ou eventos

tendem a produzir representações similares dentro do sistema, o que pode levar

a ‘classificá-las’ como pertencentes à mesma categoria.

R2 itens que devem ser classificados ou processados distintamente devem

provocar, de alguma forma, representações distintas dentro do sistema.

R3 se uma característica é importante, então devem ser alocados recursos do

sistema para representá-la devidamente. Quanto mais complexa a representação,

mais recursos devem ser alocados.

R4 a etapa de aprendizado pode ser simplificada caso as informações conhecidas a

priori e invariâncias sejam embutidas diretamente no projeto do sistema.

Page 60: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

As duas primeiras regras utilizam os conceitos de similaridade e/ou de distância.

Estes conceitos podem ser expressos matematicamente a partir da definição formal

de um critério de medida. Em particular, a Teoria de Medidas é uma das áreas mais

bem formalizadas da Matemática, juntamente com a Teoria de Conjuntos,

constituindo a base de todos os métodos matemáticos.

Existem basicamente três paradigmas de aprendizado:

Aprendizado supervisionado: é baseado em um conjunto de exemplos de estímulo-

resposta (ou entrada-saída), ou em algum outro tipo de informação que represente

o comportamento que deve ser apresentado pelo sistema;

Aprendizado por reforço: o comportamento do sistema é avaliado apenas com

base em algum critério numérico, fornecido em instantes espaçados de tempo;

Aprendizado não-supervisionado: é baseado apenas nos estímulos recebidos pelo

sistema. Basicamente, o sistema deve aprender a “categorizar” os estímulos,

Page 61: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

embora o processo de categorização possa ser empregado em contextos distintos

de categorização, como, por exemplo, em otimização combinatória.

5.1. Aprendizagem Supervisionada

Este curso vai se ocupar com o desenvolvimento de técnicas para aprendizado

supervisionado e não-supervisionado em aprendizagem de máquina.

Pelo fato de serem mais intuitivas, técnicas de aprendizado supervisionado serão

abordadas primeiro.

Ideia intuitiva: controle de processos (ex. pouso e decolagem de aviões)

Exemplos de problemas de engenharia e computação que podem ser apresentados

na forma de um problema de aprendizado supervisionado:

o classificação e reconhecimento de padrões

o predição de séries temporais

o identificação de sistemas

o controle de processos

Page 62: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o projeto de filtros em processamento de sinais

5.2. Aprendizagem Não-Supervisionada

No paradigma não-supervisionado ou auto-organizado não existe um supervisor

para avaliar o desempenho do sistema em relação aos dados de entrada.

Os dados são ditos não-rotulados, no sentido de que as classes às quais eles

pertencem ou as saídas desejadas do sistema são desconhecidas.

O sistema se adapta a regularidades estatísticas nos dados de entrada,

desenvolvendo uma capacidade de criar representações internas que codificam as

características dos dados de entrada, tornando-se, portanto, capaz de identificar a

quais classes novos padrões pertencem.

Ideia intuitiva: agrupamento de dados (p. ex. balões coloridos)

Page 63: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

5.3. Aprendizagem Por Reforço

A aprendizagem por reforço é distinta das outras abordagens, pois neste caso não

existe uma interação direta com um supervisor ou modelo explícito do ambiente.

Geralmente, a única informação disponível é um valor escalar que indica a

qualidade do desempenho do sistema.

Na aprendizagem por reforço existe um objetivo a ser alcançado. Durante o

processo de aprendizagem, o sistema “tenta” algumas ações (saídas) e recebe um

sinal de reforço (estímulo) do ambiente que permite avaliar a qualidade de sua

ação.

O sistema em aprendizagem seletivamente retém as ações que levam a uma

maximização dos sinais de reforço.

Ideia intuitiva: ex. ensinar animais circenses.

Page 64: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Pré-Processamento de Dados

1. Introdução

Conhecer e preparar de forma apropriada os dados para mineração é uma etapa que

pode tornar todo o processo de mineração muito mais eficiente e eficaz.

Por outro lado, dados mal ou não-processados podem inviabilizar uma análise ou

invalidar um resultado.

Para que possamos fazer o uso mais efetivo da mineração é preciso pensar em

algumas questões importantes antes de iniciar a análise:

o Quais relações ou tendências são consideradas importantes?

o As perguntas costumam ser formuladas em torno de atributos específicos da

base?

o A organização da estrutura dos dados influencia as categorias de interesse?

o Há atributos naturalmente interrelacionados?

Page 65: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Há atributos que podem ser excluídos do modelo?

o Há atributos com tão pouca variância que podem ser excluídos da análise?

o O que fazer com os objetos (registros) com valores ausentes?

o É preciso padronizar os domínios de todas os atributos?

o Quais tipos de atributos existem na base de dados?

o Será preciso unir dados de diferentes bases para responder as questões

adequadamente?

O uso de ferramentas simples que apresentam histogramas ou gráficos com a

distribuição de valores de uma dada variável é bastante útil para um entendimento

inicial da base de dados.

Gráficos plotando atributos aos pares ou em comparação com classes também são

informativos.

Page 66: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Em geral especialistas de domínio são consultados para explicar outliers, valores

ausentes, o significado de inteiros representando categorias e diversas outras

peculiaridades que apenas um especialista conhece.

As etapas de pré-processamento dos dados consomem muito tempo e demandam

bastante trabalho, mas o sucesso da mineração depende fortemente do cuidado

dedicado a esta etapa do processo de descoberta de conhecimentos em bases de

dados.

2. Nomenclatura e Tipos de Dados

Os dados usados nas tarefas de mineração são normalmente denominados de dados

de treinamento ou dados de entrada.

Por exemplo, a Tabela 1 apresenta parte de uma base de dados (cadastros) para

solicitação de crédito (financiamento) para pagamento em 36 meses.

Page 67: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 1: Solicitação de crédito para pagamento em 36 meses.

Salário

R$

Idade Estado

civil

Cartão

de

crédito

Imóveis Veículos Nro de

filhos

Possui

cheque

especial

Financiamento

Pretendido R$

Crédito

autorizado

350 21 Sol. 0 0 0 0 Sim 10.000 Não

3700 52 Cas. 1 1 2 2 Sim 7.000 Sim

1200 26 Cas. 1 0 1 1 Não 10.000 Não

700 25 Sol. 0 0 0 0 Não 5.000 Sim

8500 50 Cas. 2 1 2 2 Sim 40.000 Sim

1800 27 Sol. 1 0 1 0 Sim 20.000 Não

350 20 Sol. 0 0 0 0 Não 10.000 Não

A nomenclatura usada para descrever cada item desta tabela depende, dentre outros

fatores, da área de pesquisa (disciplina).

Cada linha desta tabela corresponde a um registro, exemplo, instância, objeto,

vetor de entradas ou padrão (de entrada ou treinamento).

o Em mineração de dados a nomenclatura mais comum é registro, objeto ou

instância. Em redes neurais artificiais é mais usual denominar de padrão de

treinamento, padrão de entrada ou vetor de entradas.

Page 68: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Cada coluna corresponde a um atributo, característica, entrada ou variável.

o Em mineração de dados normalmente denominamos as colunas por atributo ou

variáveis (independentes), enquanto em estatística normalmente denominamos

por características (features). Em redes neurais geralmente chamamos as

colunas de entradas ou variáveis de entrada, pois cada atributo corresponde a

uma das entradas da rede neural artificial.

Nota: a representação dos padrões nas linhas é uma convenção da literatura, mas os

padrões também poderiam estar dispostos nas colunas da matriz, desde que isso

fosse explicitado. Um exemplo deste último caso é a base de dados de Negociações

Trabalhistas.

2.1. Exemplos de Bases de Dados

Para ilustrar alguns dos diferentes tipos de dados e seus atributos, esta seção

apresenta seis bases de dados de natureza distinta.

Page 69: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Considere inicialmente o exemplo abaixo de uma base de dados contendo

condições sob as quais um oftalmologista poderá ou não prescrever lentes de

contato a seus pacientes (Tabela 2).

Page 70: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 2: Base de dados de lentes de contatos (Contact Lenses). TPL: Taxa de Produção de Lágrimas.

Idade Prescrição Astigmatismo (A) TPL Lente recomendada

Jovem Miopia Não Reduzida Nenhuma

Jovem Miopia Não Normal Macia

Jovem Miopia Sim Reduzida Nenhuma

Jovem Miopia Sim Normal Rígida

Jovem Hipermetropia Não Reduzida Nenhuma

Jovem Hipermetropia Não Normal Macia

Jovem Hipermetropia Sim Reduzida Nenhuma

Jovem Hipermetropia Sim Normal Rígida

Pré-presbiótico Miopia Não Reduzida Nenhuma

Pré-presbiótico Miopia Não Normal Macia

Pré-presbiótico Miopia Sim Reduzida Nenhuma

Pré-presbiótico Miopia Sim Normal Rígida

Pré-presbiótico Hipermetropia Não Reduzida Nenhuma

Pré-presbiótico Hipermetropia Não Normal Macia

Pré-presbiótico Hipermetropia Sim Reduzida Nenhuma

Pré-presbiótico Hipermetropia Sim Normal Nenhuma

Presbiótico Miopia Não Reduzida Nenhuma

Presbiótico Miopia Não Normal Nenhuma

Presbiótico Miopia Sim Reduzida Nenhuma

Presbiótico Miopia Sim Normal Rígida

Presbiótico Hipermetropia Não Reduzida Nenhuma

Presbiótico Hipermetropia Não Normal Macia

Presbiótico Hipermetropia Sim Reduzida Nenhuma

Presbiótico Hipermetropia Sim Normal Nenhuma

Page 71: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Consideremos agora um exemplo mais realista de Negociações Trabalhistas, como

ilustrado na Tabela 3.

Tabela 3: Base de dados de Negociações Trabalhistas.

Atributo Objeto

Descrição Tipo 1 2 3 ... 40

Duração Anos 1 2 3 2

Aumento salarial ano 1 Percentual 2% 4% 4.3% 4.5%

Aumento salarial ano 2 Percentual ? 5% 4.4% 4.0%

Aumento salarial ano 3 Percentual ? ? ? ?

Ajuste de custo de vida {nenhum, tcf, tc} Nenhum Tcf ? Nenhum

Carga horária semanal Horas 28 35 38 40

Aposentadoria {nenhum, ret-allw, empl-

cntr}

Nenhum ? ? ?

Pagamento por horas vagas Percentual ? 13% ? ?

Horas extras Percentual ? 5% 4% 4

Adicional para educação {sim, não} Sim ? ? ?

Feriados Dias 11 15 12 12

Férias {below-avg, avg, gen} Avg Gen Gen Avg

Assistência para ausência prolongada {sim, não} Não ? ? Sim

Seguro odontológico {nenhum, parcial, total} Nenhum ? Full Full

Seguro de vida {sim, não} Não ? ? Sim

Seguro saúde {nenhum, parcial, total} Nenhum ? Full Half

Aceitabilidade do contrato {boa, ruim} Ruim Boa Boa Boa

Page 72: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Considere agora o exemplo de uma base de dados sobre o Clima, que corresponde

à identificação de condições climáticas para a prática de um determinado esporte

(Tabela 4).

Tabela 4: Base de dados do Clima.

Tempo Temperatura Umidade Vento Jogar

Ensolarado Quente Alta Não Não

Ensolarado Quente Alta Sim Não

Fechado Quente Alta Não Sim

Chuvoso Branda Alta Não Sim

Chuvoso Fria Normal Não Sim

Chuvoso Fria Normal Sim Não

Fechado Fria Normal Sim Sim

Ensolarado Branda Alta Não Não

Ensolarado Fria Normal Não Sim

Chuvoso Branda Normal Não Sim

Ensolarado Branda Normal Sim Sim

Fechado Branda Alta Sim Sim

Fechado Quente Normal Não Sim

Chuvoso Branda Alta Sim Não

Page 73: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Considere agora a base de dados AllElectronics apresentada abaixo. Esta base de

dados contém registros de clientes que compram ou não computadores.

Tabela 5: Base de dados AllElectronics.

Idade Renda Estudante? Nível de

Crédito

Classe

(compra_computador)

30 Alta Não Razoável Não

30 Alta Não Excelente Não

[31,40] Alta Não Razoável Sim

> 40 Média Não Razoável Sim

> 40 Baixa Sim Razoável Sim

> 40 Baixa Sim Excelente Não

[31,40] Baixa Sim Excelente Sim

30 Média Não Razoável Não

30 Baixa Sim Razoável Sim

> 40 Média Sim Razoável Sim

30 Média Sim Excelente Sim

[31,40] Média Não Excelente Sim

[31,40] Alta Sim Razoável Sim

> 40 Média Não Excelente Não

Page 74: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A Tabela 6 apresenta a base de dados da Íris, que contém 50 exemplos de cada tipo

de planta: Íris setosa, versicolor e virgínica.

Tabela 6: Base de dados Iris.

Comprimento da

sépala Largura da sépala

Comprimento da

pétala

Largura da

pétala Tipo

5.1 3.5 1.4 0.2 Íris setosa

4.9 3.0 1.4 0.2 Íris setosa

4.7 3.2 1.3 0.2 Íris setosa

...

7.0 3.2 4.7 1.4 Íris versicolor

6.4 3.2 4.5 1.5 Íris versicolor

6.9 3.1 4.9 1.5 Íris versicolor

...

6.3 3.3 6.0 2.5 Íris virgínica

5.8 2.7 5.1 1.9 Íris virgínica

7.1 3.0 5.9 2.1 Íris virgínica

Page 75: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A Tabela 7 apresenta uma base de dados binária contendo informações sobre as

características de alguns animais.

Tabela 7: Base de dados dos Animais.

Pom

bo

Gal

inha

Pat

o

Gan

so

Coru

ja

Gav

ião

Águia

R

aposa

Cão

Lobo

Gat

o

Tig

re

Leã

o

Cav

alo

Zeb

ra

Vac

a

É

Pequeno 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0

Médio 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0

Grande 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1

Tem

Duas patas 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0

Quatro patas 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

Pêlos 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

Casco 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

Crina 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0

Penas 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0

Gosta de

Caçar 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0

Correr 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0

Voar 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0

Nadar 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0

Page 76: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 1: Para cada uma das bases de dados acima discuta um conjunto de

informações estratégicas que poderiam ser extraídas de forma automática usando

técnicas de mineração.

2.2. Sobre os Atributos

O uso de um conjunto fixo de atributos pode impor algumas dificuldades ao

processo de mineração. O que acontece se diferentes objetos da mesma base

possuírem atributos distintos?

o Por exemplo, suponha que a base de dados seja sobre veículos de transporte.

Neste caso, veículos terrestres possuem atributos, como número de rodas, que

não existem em veículos aquáticos e vice-versa. A abordagem padrão é fazer

com que todos os atributos apareçam na base de dados e usar uma espécie de

sinalizador (flag) para indicar que um dado atributo não existe para alguma(s)

instância(s). Outra abordagem é atribuir um valor nulo para aquele atributo,

desde que isso não confunda com o valor de um atributo que também poderia ser

nulo.

Page 77: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O valor de um atributo de um dado objeto é uma medida da quantidade daquele

atributo. Esta medida pode ser numérica ou categórica.

Os atributos numéricos podem assumir quaisquer valores numéricos, por exemplo,

inteiros, reais, etc.

Já as quantidades categóricas assumem valores correspondentes a símbolos

distintos.

Os textos de estatística normalmente introduzem níveis de medida para os dados

categóricos, tais como nominal, ordinal e razão:

o Atributo nominal: seus valores possuem símbolos ou rótulos distintos. Exemplo:

o atributo ‘tempo’ pode assumir os valores ‘ensolarado’, ‘nublado’ e ‘chuvoso’;

o Atributo ordinal: os atributos ordinais permitem ordenar suas categorias, embora

não haja uma noção explícita de distância. Exemplo: o atributo ‘temperatura’

pode possuir valores ‘quente’, ‘morno’ e ‘frio’;

Page 78: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Atributo razão: quantidades do tipo razão são aquelas para as quais o método de

medida define o ponto zero. Exemplo: a distância entre dois objetos possui

naturalmente o zero quando ambos são iguais. Obs.: Estes atributos são tratados

como números reais e qualquer operação aplicável aos reais é também aplicável

aos atributos do tipo razão. Exemplos: peso, distância, velocidade, salário, etc.

Exemplo: Para as bases de dados apresentadas na Seção 2.1, é possível dizer que as

bases Lentes de Contato e Clima possuem atributos nominais, as bases Íris e Animais

possuem atributos numéricos e as bases Negociações Trabalhistas, AllElectronics e

de Solicitação de Crédito são híbridas, contendo dados numéricos e categóricos.

Obs.: a base Animais é dita binária, pois todos seus atributos são binários.

Page 79: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3. Pré-Processamento dos Dados

As bases de dados de mundo real são altamente susceptíveis a ruído (erros e

outliers), valores ausentes e inconsistências (discrepâncias em códigos, intervalos,

etc.).

As razões para estes problemas (ruído, incompletude e inconsistências) são

diversas, como a indisponibilidade de dados para alguns objetos/atributos; erros de

medição, entendimento e/ou entrada de dados; falhas no sistema; fraudes nos

dados; erros de transmissão; diferenças de convenção (padronização); etc.

Como exemplo considere a base de dados apresentada na Tabela 3 envolvendo

Negociações Trabalhistas. Esta base contém valores ausentes para diversos

atributos de muitos indivíduos (objetos) da base.

As etapas de pré-processamento dos dados têm o objetivo de melhorar a qualidade

dos dados e, consequentemente, do processo de mineração, promovendo maior

eficiência e eficácia da mineração de dados.

Page 80: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

As principais tarefas de pré-processamento são:

1. Limpeza: para remoção de ruídos e correção de inconsistências;

2. Integração: para unir dados de múltiplas fontes em um único local, como um

armazém de dados (data warehouse);

3. Redução: para reduzir a dimensão da base de dados, por exemplo, agregando,

agrupando ou eliminando atributos redundantes, ou sumarizando os dados;

4. Transformação: para deixar os dados em um formato passível de aplicação das

diferentes técnicas de mineração;

5. Discretização: para permitir que métodos que trabalham apenas com atributos

nominais possam ser empregados a um conjunto maior de problemas. Também

faz com que a quantidade de valores para um dado atributo contínuo seja

reduzida.

Page 81: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.1. Limpeza dos Dados

As ferramentas para a limpeza de dados atuam no sentido de imputar valores

ausentes, suavizar ruídos enquanto identifica outliers, e corrigir inconsistências.

Valores Ausentes

Tomando como exemplo a base de dados de Negociações Trabalhistas, nota-se a

ausência de valores para muitos atributos e muitos objetos.

Alguns dos métodos que poderiam ser aplicados nestes casos são:

1. Ignorar o objeto: normalmente é feito quando o rótulo da classe está faltando,

assumindo uma tarefa de classificação. Entretanto, este método não é muito

eficiente, a não ser que o mesmo objeto tenha valores ausentes para muitos

atributos. Se a quantidade de objetos for pequena ou o percentual de valores

ausentes por atributo variar consideravelmente, este método também não é

recomendado.

Page 82: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Imputar manualmente os valores ausentes: em geral este processo demanda

muito tempo, sendo inviável para grandes bases de dados.

3. Usar uma constante global para imputar o valor ausente: substituir todos os

valores ausentes de um certo atributo por uma constante única pode fazer com

que o algoritmo de mineração considere esta constante um conceito relevante e,

portanto, deve ser feito com cautela também.

4. Usar a média de um atributo para imputar o valor ausente;

5. Usar a média de todos os objetos da mesma classe para imputar o valor

ausente;

6. Usar o valor mais provável para imputar o valor ausente: este valor mais

provável pode ser determinado por técnicas de regressão, métodos de inferência,

indução de árvores de decisão, redes neurais ou qualquer outro método de

estimação aplicável.

Page 83: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

É importante salientar que os métodos 3 a 6 acima polarizam os dados e os valores

imputados podem não ser corretos.

Apesar disso, o método 6 acima é bastante popular na literatura, pois usa mais

informações sobre os dados para estimar o valor ausente.

Dados Ruidosos

Um ruído é um erro aleatório ou uma variância em uma determinada variável

observada.

Dado um atributo numérico, como, por exemplo, preço, como suavizar o ruído?

Vejamos as seguintes técnicas:

1. Binning: os métodos baseados em binning suavizam dados ordenados

consultando seus vizinhos. Os dados ordenados são distribuídos em intervalos

(bins) e realizam uma suavização local. Para ilustrar este processo, considere o

exemplo abaixo:

Dados ordenados para a variável preço: 4, 8, 15, 21, 21, 24, 25, 28, 34.

Page 84: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Partição em bins de Suavização pela média Suavização pelas

profundidade 3: do bin: extremidades dos bins:

Bin 1: 4, 8, 15 9, 9, 9 4, 4, 15

Bin 2: 21, 21, 24 22, 22, 22 21, 21, 24

Bin 3: 25, 28, 34 29, 29, 29 25, 25, 34

2. Agrupamento: outliers podem ser detectados por agrupamento, pois,

intuitivamente, objetos que não pertencem a um conjunto pré-definido de

clusters podem ser considerados outliers.

3. Inspeção humana e computacional: uma ferramenta computacional pode ser

usada para identificar um outlier e enviar uma mensagem para um moderador,

que tomará a decisão sobre que ação executar.

4. Aproximação: os dados podem ser suavizados aproximando-os por uma função,

que pode ser obtida via regressão, redes neurais ou outro método de

aproximação de funções.

É importante salientar que muitos métodos de suavização são também métodos de

redução ou seleção de dados.

Page 85: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Dados Inconsistentes

Uma das formas de se resolver inconsistências nos dados é através de uma análise

manual auxiliada por rotinas específicas que verificam, por exemplo, se os valores

de todos os atributos pertencem a domínios específicos.

Dados inconsistentes, assim como dados ruidosos, também podem ser mais

facilmente identificados utilizando-se gráficos, por exemplo, plotando-se o gráfico

de cada atributo separadamente.

A participação de especialistas do domínio é normalmente crucial nesta etapa.

Obs.: dados repetidos também podem resultar em problemas, uma vez que sua

influência na tarefa de mineração pode ser multiplicada.

3.2. Integração dos Dados

Um dos passos essenciais antes da aplicação de uma técnica de mineração de

dados a um certo problema é a junção de todos os dados em um conjunto de

instâncias, como os exemplos ilustrados acima.

Page 86: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Em aplicações de mundo real, os dados podem estar distribuídos em

departamentos, lojas, etc., e a integração destes dados pode resultar em grandes

problemas práticos.

Por exemplo, as formas de armazenagem, convenções dos dados, datas, chaves de

acesso, padronizações e outras características podem ser distintas.

Estes dados precisam ser reunidos, integrados e limpos.

O conceito de uma ampla base de dados da empresa é conhecido como armazém

de dados (data warehouse).

Os armazéns de dados devem fornecer um ponto único e consistente de acesso a

dados corporativos, transcendendo as barreiras departamentais.

A existência de armazéns de dados é um precursor bastante útil para a tarefa de

mineração de dados e sua inexistência implica na execução de diversos passos

anteriores à etapa de mineração.

Page 87: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

É importante reconhecer, entretanto, que mesmo um armazém de dados pode não

conter todas as informações necessárias à mineração, assim como seus dados

também podem requerer muitas das etapas de pré-processamento descritas aqui.

Diversos aspectos precisam ser considerados durante a integração de dados. Por

exemplo, como entidades equivalentes de múltiplas fontes de dados podem ser

identificadas? Um exemplo disto é o uso dos campos (atributos) cliente_ID e

Nro_cliente para se referir à mesma informação de bases de dados distintas.

Em muitos casos os bancos de dados possuem metadados, ou seja, dados sobre

dados. Estas informações podem ser usadas para integrar as bases.

Outro problema comum nas bases de dados é a redundância. Um atributo pode ser

redundante se ele puder ser ‘derivado’ de outro (ou de outra tabela).

Inconsistências na nomenclatura dos atributos também podem levar a

redundâncias.

Alguns tipos de redundância podem ser detectados usando análise de correlação.

Page 88: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Por exemplo, dados dois atributos x e y, a análise de correlação mede quão

fortemente um atributo implica no outro, com base nos dados disponíveis. A

correlação entre os atributos x e y, (x,y), é dada por:

N

j

j

N

j

j

N

i

ii

yyxx

yyxx

yx

1

2

1

2

1

)(.)(

))((

),(, (1)

onde N é o número de objetos, e x e y são os valores médios dos atributos x e y,

respectivamente.

Se o valor da Eq. (1) for positivo, então x e y são positivamente correlacionados,

indicando que um aumento nos valores de x implicam em um aumento dos valores

de y e vice-versa.

Se o valor da Eq. (1) for nulo, então x e y estão descorrelacionados.

Page 89: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Se o valor da Eq. (1) for negativo, então x e y são negativamente correlacionados,

indicando que quando um atributo aumenta o outro diminui, e vice-versa.

Durante a integração dos dados é também necessário cuidar para que não haja

duplicação de dados e nem conflitos de valores, por exemplo, quando o mesmo

objeto (aparecendo em diferentes locais) possui atributos distintos.

3.3. Redução dos Dados

Em muitos casos, por exemplo, na detecção de fraudes em cartões de crédito, na

identificação de perfis de clientes em uma grande loja de comércio (eletrônico),

etc., a base de dados disponível para análise é imensa.

A mineração destas bases pode requerer tanto esforço computacional (espaço e

tempo de processamento) de maneira a torná-la impraticável.

As técnicas de redução de dados podem ser aplicadas tanto para reduzir a

quantidade de objetos da base, quanto para reduzir a quantidade de atributos que

descrevem estes objetos (dimensionalidade), como ilustrado na Figura 3.

Page 90: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 3: Redução na quantidade de objetos e atributos.

Page 91: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

É importante, entretanto, que os métodos de redução mantenham a integridade dos

dados originais. Ou seja, a mineração dos dados reduzidos deve ser mais eficiente,

porém não menos eficaz.

Dentre os métodos de redução de dados destacam-se:

1. Seleção de atributos: efetua uma redução de dimensionalidade através da qual

atributos (dimensões) irrelevantes, pouco relevantes ou redundantes são

detectados e removidos;

2. Compressão de dados: também efetua uma redução da dimensionalidade, mas

empregando algoritmos de codificação de dados (atributos), ao invés de seleção;

3. Redução no número de dados: através da qual os dados são substituídos ou

estimados por representações menores (mais simples), como modelos

paramétricos (que armazenam apenas os parâmetros do modelo ao invés dos

dados) e os métodos não-paramétricos, como agrupamento, amostragem e

histogramas;

Page 92: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4. Discretização: através da qual valores de atributos são substituídos por

intervalos ou níveis conceituais mais elevados.

3.3.1. Seleção de Atributos

A seleção de atributos efetua uma redução de dimensionalidade e tem se tornado o

foco de muita pesquisa em áreas em que bases de dados formadas por dezenas ou

centenas de atributos estão disponíveis.

Na teoria, a disponibilidade da maior quantidade possível de atributos deveria nos

dar maior poder de discriminação. Entretanto, a prática de mineração de dados

geralmente nos mostra o contrário, e as principais razões para se selecionar um

subconjunto do conjunto total de atributos são:

1. É mais barato medir um subconjunto de atributos;

2. A precisão de classificação pode ser melhorada pela exclusão de atributos

irrelevantes;

Page 93: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3. O classificador ou estimador a ser construído é usualmente mais simples e

potencialmente mais eficiente quando uma menor quantidade de atributos é

usada;

4. Conhecer os atributos relevantes pode nos dar informações importantes sobre a

natureza do problema.

Por todos estes motivos, o problema de se selecionar atributos relevantes tem se

tornado cada vez mais importante.

Com o intuito de melhor caracterizar o problema a ser enfrentado, observa-se que o

número de combinações de subconjuntos possíveis de atributos, para uma base de

dados formada por L atributos, é O(2L).

Portanto, uma busca exaustiva pelo melhor subconjunto de atributos é normalmente

inviável sob o ponto de vista computacional.

Por exemplo, para a base de dados do Clima descrita anteriormente, é possível

listar os seguintes possíveis conjuntos de atributos a serem selecionados:

Page 94: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

tempo, temperatura, umidade, vento, tempo+temperatura, tempo+umidade,

tempo+vento, temperatura+umidade, temperatura+vento, umidade+vento,

tempo+temperatura+umidade, tempo+temperatura+vento, tempo+umidade+vento,

temperatura+umidade+vento, tempo+temperatura+umidade+vento

Obs.: além destes também é possível selecionar nenhum atributo.

Algumas estratégias de busca podem ser usadas para evitar a enumeração completa

de todos os subconjuntos possíveis de atributos:

1. Seleção forward: o procedimento começa com um subconjunto vazio de

atributos. O melhor dos atributos originais é determinado através de um critério

como, por exemplo, a taxa do ganho de informação, como será visto adiante, e

adicionado ao conjunto de atributos selecionados. A cada iteração subsequente, o

melhor dos atributos originais restantes é adicionado ao conjunto até que um

determinado critério de parada seja alcançado.

Page 95: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Eliminação backward: o procedimento começa com o conjunto completo de

atributos. A cada iteração o pior atributo do conjunto é removido, até que um

determinado critério de parada seja alcançado.

3. Combinação seleção forward e eliminação backward: os dois métodos podem ser

combinados para que a cada iteração, o procedimento selecione o melhor

atributo e remova o pior dos atributos restantes.

Existem duas abordagens fundamentais para se selecionar atributos.

1. Empacotamento: a primeira abordagem avalia o subconjunto de atributos

utilizando-se de resultados do algoritmo de aprendizado, “empacotando” o

algoritmo de seleção de atributos no algoritmo de aprendizado. Esta abordagem é

conhecida como wrapper.

2. Filtro: a segunda abordagem avalia os atributos através de propriedades

intrínsecas aos dados, sendo independente do algoritmo de aprendizado a ser

utilizado. Esta abordagem é conhecida como filtro (filter).

Page 96: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Ainda é possível combinar estas duas abordagens, obtendo assim uma abordagem

híbrida. Filtros são particularmente interessantes para selecionar atributos em

grandes bases de dados, nas quais wrappers são usualmente excessivamente

custosos em termos computacionais.

Note que a medida de correlação apresentada na Eq. (1) pode ser usada como

critério para identificação de redundância entre atributos e, portanto, ser usada

como mecanismo de seleção de atributos.

Seleção por Ganho de Informação

Seja S o conjunto de s amostras. Suponha que o rótulo do atributo de classe tenha m

valores distintos que definem m classes distintas, Ci, i = 1, ... , m. Seja si a

quantidade de amostras de S na classe Ci. A informação esperada necessária para

classificar uma dada amostra é:

I(s1, s2, ... , sm) =

m

i

ii pp1

2 )(log (2)

Page 97: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

onde pi é a probabilidade de que uma amostra arbitrária pertença à classe Ci,

estimada como sendo si/s.

Como normalmente os logaritmos são expressos na base 2, a unidade da

informação é denominada de bits.

Assuma que o atributo A tenha v valores distintos, {a1, a2, ... , av}. Ele pode ser

usado para particionar S em v subconjuntos {S1, S2, ... , Sv}, onde Sj contém aquelas

amostras em S que assumem valor aj de A.

Seja sij a quantidade de amostras da classe Ci em um subconjunto Sj. A entropia ou

informação esperada é dada por:

),...,(...

)( 1

1

1

mjj

v

j

mjjssI

s

ssAE

(3)

O termo que multiplica a informação atua como um peso para o j-ésimo

subconjunto e é o número de amostras no subconjunto dividido pelo número total

de amostras em S.

Page 98: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Para um dado subconjunto Sj,

I(s1j, s2j, ... , smj) =

m

i

ijij pp1

2 )(log ,

onde pij = sij/|Sj|.

O ganho de informação a ser obtido por este particionamento em A é:

ganho(A) = I(s1, s2, ... , sm) E(A). (4)

Este método calcula o ganho de informação para cada atributo da base de dados.

Os atributos com os maiores ganhos de informação são considerados aqueles mais

discriminatórios.

Calculando-se o ganho de informação para todos os atributos e ranqueando-os pelo

seu valor de ganho, é possível selecionar um conjunto de atributos a serem usados

na análise.

Page 99: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.3.2. Compressão de Dados

Na compressão de dados é aplicada uma codificação ou transformação tal que uma

representação compacta dos dados originais é obtida.

Se os dados originais podem ser reconstruídos a partir dos dados comprimidos sem

perda de informação, então o método de compressão é dito sem perda (lossless),

caso contrário ele é dito com perda (lossy).

Dois métodos particularmente úteis e eficazes na compressão de dados são as

transformadas wavelet e a análise de componentes principais.

Transformadas Wavelets

A transformada wavelet discreta (discrete wavelet transform – DWT) é uma

técnica linear de processamento de sinais que, quando aplicada ao vetor de dados

D, transforma-o em um vetor numericamente diferente, D’, formado por

coeficientes wavelet. Ambos os vetores possuem a mesma dimensão.

Page 100: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A vantagem da transformada de wavelet é que ela pode ser truncada, ou seja, uma

aproximação comprimida dos dados pode ser obtida armazenando-se apenas uma

fração dos coeficientes mais fortes da transformada.

Isso pode ser feito, por exemplo, definindo-se um limiar para os valores dos

coeficientes.

Esta técnica também é eficiente no sentido de remover ruído, tornando-se eficiente

também para a limpeza de dados.

O procedimento genérico para a aplicação de uma transformada wavelet discreta

usa um algoritmo piramidal hierárquico que particiona os dados pela metade a

cada iteração, resultando em um rápido processamento:

1. O comprimento L do vetor de dados de entrada deve ser inteiro e uma potência

de 2, o que pode ser obtido incluindo-se colunas de atributos nulos.

2. Cada transformada envolve a aplicação de duas funções. A primeira aplica uma

suavização nos dados, como uma soma ou média ponderada, e a segunda efetua

Page 101: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

uma diferença ponderada, que age no sentido de extrair características detalhadas

dos dados.

3. As duas funções são aplicadas a pares de dados de entrada, resultando em dois

conjuntos de comprimento L/2. Em geral estes conjuntos representam uma

versão suavizada (ou de baixa frequência) dos dados de entrada e seu respectivo

componente de alta frequência.

4. As duas funções são recursivamente aplicadas aos conjuntos de dados obtidos no

passo anterior, até que os conjuntos de dados resultantes tenham comprimento 2.

5. Uma seleção de valores dos conjuntos de dados obtidos nas iterações anteriores

compõe os coeficientes de wavelet dos dados transformados.

Algumas propriedades da DWT fazem com que ela tenha complexidade linear

O(N) em relação ao número N de dados.

Page 102: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Os detalhes matemáticos das transformadas wavelet fogem ao escopo deste curso,

mas o sucesso da aplicação desta técnica é grande em áreas como processamento

de sinais e compressão de imagens.

Para bases de dados massivas, como dados de transações bancárias, elas podem ser

bastante úteis, ainda com a vantagem de que as implementações de suas versões

mais simples são rápidas e de fácil entendimento.

Análise de Componentes Principais

A análise de componentes principais (principal component analysis – PCA) é uma

técnica usada para reduzir a dimensionalidade de dados.

Dependendo da área de aplicação também é denominada de transformada

Karhunen-Loève ou transformada de Hotelling.

A ideia da análise de componentes principais é utilizar um sistema especial de

coordenadas que depende da distribuição dos dados no espaço da seguinte forma:

coloque o primeiro eixo na direção de maior variância dos dados de forma a

Page 103: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

maximizar a variância ao longo daquele eixo; coloque o segundo eixo

perpendicular ao primeiro de forma a maximizar a variância ao longo deste eixo; e

assim por diante.

Formalmente, a PCA é matematicamente definida como uma transformação

ortogonal linear que transforma os dados para um novo sistema de coordenadas tal

que a maior variância de qualquer projeção dos dados está sobre a primeira

coordenada (denominada de primeiro componente principal), a segunda maior

variância na segunda coordenada, e assim por diante. A Figura 1 apresenta os dois

componentes principais dos dados plotados no gráfico.

Page 104: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 4: Análise de componentes principais.

O uso da PCA para a redução da dimensionalidade implica na retenção daquelas

características dos dados que contribuem mais para sua variância.

O procedimento básico de aplicação da PCA é:

1. Os dados de entrada são normalizados, de forma que todos os atributos

pertençam ao mesmo intervalo. Isso ajuda a garantir que atributos com grandes

domínios não dominarão atributos com domínios menores.

Page 105: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. A PCA calcula c vetores ortonormais que caracterizam uma base dos dados de

entrada normalizados. Estes vetores são unitários e perpendiculares entre si,

conhecidos como componentes principais. Os dados de entrada são uma

combinação linear dos componentes principais.

3. Os componentes principais são ordenados em ordem decrescente de significância

ou ‘força’. Os componentes principais servem essencialmente como um novo

conjunto de eixos para os dados, fornecendo informações importantes sobre a

variância dos mesmos.

4. Como os componentes são ordenados pela significância, a dimensão dos dados

pode ser reduzida eliminando-se os componentes de menor significância.

A PCA tem a vantagem de possuir baixo custo computacional, poder ser aplicada a

atributos ordenados e não-ordenados e poder ser aplicada a dados esparsos. Os

detalhes matemáticos de implementação de uma PCA fogem ao escopo deste

curso.

Page 106: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A Figura 5 ilustra o caso de uma base de dados com 10 atributos transformada por

PCA e ordenados de forma decrescente em relação à variância dos atributos. É

possível perceber, por exemplo, que os sete primeiros componentes correspondem

a 95% da variância. Estes componentes poderiam ser usados como os novos

atributos do processo de mineração de dados.

Eixo Variância (%) Cumulativa (%)

1 61.2 61.2

2 18.0 79.2

3 4.7 83.9

4 4.0 87.9

5 3.2 91.1

6 2.9 94.0

7 2.0 96.0

8 1.7 97.7

9 1.4 99.1

10 0.9 100

1 2 3 4 5 6 7 8 9 10 0

10

20

30

40

50

60

70

Número do componente

Perc

entu

al de v

ariância

Figura 5: Análise de componentes principais: variância de cada componente.

Page 107: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.3.3. Redução do Número de Dados

O volume de dados pode ser reduzido empregando-se dois grandes grupos de

métodos:

1. Métodos Paramétricos: utilizam um modelo para estimar os dados, de forma

que, tipicamente, só os parâmetros do modelo, e não os dados propriamente

ditos, precisam ser armazenados. Exemplos destes métodos são os algoritmos de

aproximação de funções, como redes neurais, métodos de regressão, etc.

2. Métodos Não-Paramétricos: armazenam representações resumidas dos dados.

Exemplos destes métodos são os histogramas, os métodos de amostragem e de

agrupamento.

Regressão Linear

Na regressão e nos modelos do tipo log-linear os dados são aproximados por

alguma função de aproximação.

Page 108: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Na regressão linear, por exemplo, os dados são modelados por uma linha reta.

Seja Y uma variável de resposta dependente de uma outra variável X pela equação:

Y = + .X, (5)

onde a variância de Y é assumida constante. Os coeficientes e , denominados de

coeficientes de regressão, especificam o ponto de cruzamento com o eixo Y e a

inclinação da reta, respectivamente. Estes coeficientes podem ser encontrados pelo

método dos mínimos quadrados (least squares), que minimiza o erro entre a reta

real que representa os dados e a aproximação dada pelo modelo.

A regressão linear múltipla é uma generalização da regressão linear simples no

sentido de que ela permite uma aproximação da variável Y em função de um vetor

multidimensional de características:

Y = + 1.X1 + 2.X2 + ... + L.XL, (6)

Page 109: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

onde L é o número de parâmetros a serem estimados, i, i = 1, ... , L, são os

respectivos parâmetros das variáveis independentes, é o termo constante

(intercepto).

Apesar de simples, é importante ressaltar que os métodos baseados em regressão

linear podem ter alta complexidade, principalmente quando a dimensionalidade

dos dados é elevada.

Histogramas

Os histogramas são métodos de binning para aproximar distribuições de dados e

são muito populares como ferramentas para redução de dados.

Um histograma para um atributo A particiona a distribuição de dados de A em

subconjuntos disjuntos, ou barras (buckets).

As barras são dispostas em um eixo horizontal, enquanto suas alturas (e área)

tipicamente refletem a frequência média dos valores representados pela barra.

As barras e as partições dos atributos podem ser obtidas de diversas formas:

Page 110: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. Mesma largura: a largura de cada barra é a mesma.

2. Mesma profundidade ou (mesma altura): as barras são criadas de forma que a

frequência de cada barra seja aproximadamente constante, ou seja, cada barra

contém aproximadamente o mesmo número de dados.

3. V-Ótimas: corresponde ao histograma de menor variância, dentre todos os

possíveis para um dado número de barras. A variância do histograma é uma

soma ponderada dos valores originais que cada barra representa, sendo que o

peso de uma barra é igual ao número de valores da barra.

4. MaxDiff: a fronteira de uma barra é estabelecida entre cada par de valores

adjacentes para as barras contendo as 1 maiores diferenças, sendo um

parâmetro definido pelo usuário.

Page 111: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

0 5 10 15 20 25 300

1

2

3

4

5

6

7

8

9

10

0 1-10 11-20 21-30 0

5

10

15

20

25

Valor Valor

Fre

quência

(a) (b)

Figura 6: Histogramas. (a) Histograma do tipo singleton, ou seja, cada barra representa a

frequência de ocorrência de um valor. (b) Histograma de mesma largura.

EPC 2: Construa os histogramas de Mesma Profundidade e MaxDiff para os dados

apresentados na Figura 6.

Page 112: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Agrupamento

As técnicas de agrupamento particionam o conjunto de dados em grupos ou

clusters, de forma que objetos pertencentes a um cluster sejam similares entre si e

dissimilares a objetos de outros clusters.

Obs.: a similaridade pode ser entendida como uma medida de proximidade,

enquanto a dissimilaridade pode ser entendida como uma medida de distância entre

objetos.

As técnicas de agrupamento permitem representar grupos de objetos através de

protótipos, que podem ser usados para representar (substituir) os dados originais de

maneira simplificada, como ilustrado na Figura 7 (Note que nesta figura os dados

aparecem rotulados apenas para efeitos didáticos).

Page 113: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 7: Quatro grupos de dados representados pelos seus protótipos.

Amostragem

A amostragem permite que uma grande base de dados seja representada por um

conjunto menor de dados. Seja uma base D com N objetos:

Page 114: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. Amostra Aleatória Sem Substituição (Simple Random Sample Without

Replacement - SRSWOR): uma amostra com n objetos (n < N) é retirada

aleatoriamente da base de dados.

2. Amostra Aleatória Com Substituição (Simple Random Sample With Replacement

- SRSWR): similar ao caso anterior, mas cada objeto retirado da base é

armazenado e devolvido à base, de forma que ele possa ser selecionado

novamente.

3. Amostragem por grupo: se uma base de dados está agrupada em M grupos

disjuntos, então m grupos (m < M) pode ser escolhidos aleatoriamente.

4. Amostragem estratificada: se a base de dados está dividida em grupos ou

classes, então na amostragem estratificada a proporção de dados de cada classe é

mantida.

Page 115: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Uma vantagem da amostragem é que seu custo computacional é proporcional a n,

ou seja, ao tamanho da amostra a ser retirada da base e, portanto, é sub-linear em

relação ao tamanho N da base.

Nota: Utilizando o Teorema do Limite Central é possível estimar o tamanho

suficiente de uma amostra para estimar uma dada função com um limite de erro

especificado. Neste caso, n pode ser muito menor do que N (n << N).

3.4. Transformação dos Dados

Durante o processo de transformação dos dados eles são modificados ou

consolidados em formas apropriadas aos processos de mineração.

As principais etapas de transformação dos dados são:

1. Capitalização: dados nominais podem aparecer em minúsculo, maiúsculo ou

ambos. Para evitar inconsistências com ferramentas sensíveis a letras maiúsculas

ou minúsculas, é usual padronizar as fontes, normalmente para maiúsculo;

Page 116: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Padronização de Formatos: o uso de alguns tipos de atributos, como datas e

números de documentos, permite diferentes formatos. Por exemplo, datas podem

ser apresentadas DDMMAA ou MMDDAA (dependendo do país de origem),

um número de CPF pode ser apresentado como XXX.XXX.XXX-XX ou

simplesmente como XXXXXXXXXXX. Para evitar esses problemas é preciso

observar e padronizar o formato de cada atributo da base, principalmente quando

é preciso fazer integração de bases;

3. Conversão de Unidades: outro problema comum nas análises é o uso de

diferentes unidades de medida, por exemplo, centímetros ou metros, quilômetros

por hora ou milhas por hora, etc. Neste caso, vale o mesmo princípio de

padronização discutido acima: todos os dados devem ser convertidos e

padronizados em uma mesma unidade de medida;

4. Suavização: cujo papel principal é remover ruídos dos dados. As técnicas

envolvidas incluem binning, agrupamento e regressão;

Page 117: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

5. Agregação: operações de sumarização ou agregação são aplicadas aos dados

com o objetivo de resumir a informação contida neles. Por exemplo, dados sobre

movimentações diárias de uma conta corrente podem ser substituídos por dados

semanais ou mensais;

6. Generalização: dados primitivos ou de baixo nível são substituídos por

conceitos de alto nível. Por exemplo, atributos categóricos, como ruas, podem

ser substituídos (generalizados) por bairros ou cidades;

7. Normalização: permite um escalonamento nos valores dos atributos de forma

que eles pertençam a um intervalo pré-definido. Por exemplo, dados numéricos

podem ser normalizados nos intervalos [0,1] ou [1, 1];

8. Construção de Atributos: novos atributos são construídos a partir de outros para

facilitar o processo de mineração.

Page 118: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A suavização é também um processo de limpeza dos dados e, por isso, não será

rediscutida aqui. A agregação e a generalização também funcionam como técnicas

de redução de dados e, portanto, também não serão discutidas aqui.

3.4.1. Normalização

A normalização é um processo de transformação dos dados que objetiva torná-los

mais apropriados à aplicação de algum algoritmo de mineração, como redes

neurais artificiais ou métodos baseados em distância.

A necessidade de normalização dos dados pode ser consequência de diversos

fatores como, por exemplo, evitar a saturação dos neurônios em uma rede neural

artificial e fazer com que cada atributo dos dados de entrada tenha o mesmo

domínio.

Vamos estudar aqui três tipos de normalização: a) normalização max-min;

b) normalização pelo escore-z; e c) Normalização pelo escalonamento decimal.

Page 119: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Normalização Max-Min

A normalização max-min realiza uma transformação linear nos dados originais.

Assuma que maxa e mina são, respectivamente, os valores máximo e mínimo de

um determinado atributo a.

A normalização max-min mapeia um valor a em um valor a’ no domínio

[novo_mina, novo_maxa] da seguinte forma:

aaa

aa

a novonovonovoa

a min_)min_max_(minmax

min'

Normalização pelo Escore-z

Na normalização pelo escore-z, também conhecida por normalização de média

zero, os valores de um atributo a são normalizados baseado na média e desvio

padrão de a da seguinte forma:

a’ = (a ā)/a,

onde ā é a média e a é o desvio padrão de a.

Page 120: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Este método de normalização é útil quando os valores máximo e mínimo reais de

um atributo são desconhecidos, ou quando há outliers dominando a normalização

max-min.

Normalização pelo Escalonamento Decimal

A normalização decimal move a casa decimal dos valores do atributo a. O número

de casas decimais movidas depende do valor máximo absoluto do atributo a:

a' = a/10j,

onde j é o menor inteiro tal que max(|a'|) < 1.

EPC 3:

a) Suponha que os valores máximo e mínimo do atributo salário sejam,

respectivamente, $ 12.000 e $ 98.000. Se for feita uma normalização nos

intervalos [0,1] e [1, 1], qual seria o valor do salário $ 73.000 em cada caso?

De forma análoga, qual seria o valor em $, no primeiro e segundo casos, para

o atributo normalizado igual a 0.33.

b) Suponha que a média e o desvio padrão do atributo salário sejam,

respectivamente, $ 54.000 e $ 16.000. Qual o valor do salário $ 73.000

Page 121: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

normalizado pelo escore-z? Se o valor normalizado pelo escore-z for 1, qual o

valor do salário em $?

c) Suponha que os valores armazenados do atributo a pertençam ao intervalo

[986, 917]. Qual o corresponde valor normalizado para a = 200? E para

a = 123?

3.4.2. Construção de Atributos

O processo de construção de atributos consiste em gerar novos atributos a partir

daqueles existentes com o objetivo de melhorar a acurácia da análise e

compreensão dos dados.

Por exemplo, é possível adicionar um atributo área a partir dos atributos altura e

largura.

Exemplos de operadores para a geração de atributos são o AND para atributos

binários e o produto para atributos nominais.

A combinação de atributos permite aos métodos de construção de atributos a

descoberta de informações escondidas.

Page 122: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.5. Discretização

Alguns algoritmos de mineração operam apenas com atributos nominais e,

portanto, não podem ser aplicados a dados numéricos.

Nestes casos, atributos numéricos podem ser discretizados, dividindo o domínio do

atributo em intervalos, de forma que a quantidade de métodos de análise a ser

empregada seja ampliada.

Além disso, a discretização reduz a quantidade de valores de um dado atributo

contínuo facilitando, em muitos casos, o processo de mineração.

A maneira mais óbvia de discretizar um dado atributo é dividindo seu domínio em

um número pré-determinado de intervalos iguais, o que normalmente é feito no

momento da coleta dos dados.

Outros métodos de discretização são: binning, análise de histograma,

agrupamento e discretização baseada em entropia.

Page 123: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.5.1. Binning

Os métodos de binning já foram discutidos anteriormente para suavização de

dados.

Atributos podem ser discretizados distribuindo-se seus valores em intervalos (bins)

e substituindo o valor de cada intervalo pela média ou mediana.

3.5.2. Análise de Histograma

Histogramas, como discutidos anteriormente, também podem ser usados para

discretização.

Regras de partição podem ser usadas para definir os intervalos de valores.

Por exemplo, construindo-se um histograma de mesma largura (partições de

mesmo tamanho) ou mesma profundidade (partições aproximadamente com o

mesmo número de objetos).

Page 124: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3.5.3. Agrupamento

Algoritmos de agrupamento podem ser usados para particionar atributos em grupos

de valores.

Os protótipos dos grupos passam a representar conjuntos de valores de um certo

atributo.

3.5.4. Discretização Baseada em Entropia

Uma medida baseada na informação, denominada de entropia, pode ser usada para

particionar os valores de um atributo numérico A.

Dado um conjunto D de objetos, o método de discretização baseada em entropia do

atributo A opera da seguinte forma:

1. Cada valor de A pode ser considerado uma potencial fronteira de intervalo, ou

seja, um limiar T. Por exemplo, um valor a de A pode particionar as amostras em

S em dois subconjuntos satisfazendo as condições A < a e A a,

respectivamente, criando uma discretização binária.

Page 125: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Dado o conjunto D, o valor do limiar selecionado é aquele que maximiza o

ganho de informação resultante do particionamento seguinte:

I(D,T) = |D1|/|D|*E(D1) + |D2|/|D|*E(D2), (7)

onde D1 e D2 correspondem as amostras em S que satisfazem as condições A < T

e A T, respectivamente. A função de entropia para um dado conjunto é

calculada com base na distribuição de classes dos objetos. Por exemplo, dadas m

classes a entropia de D1 é:

m

i

ii ppDE1

21 )(log)( , (8)

onde pi é a probabilidade da classe i em D1, determinada dividindo-se o número

de objetos da classe i em D1 pelo número total de objetos em D1. O valor de

E(D2) é calculado de forma análoga.

3. O processo de determinação do limiar é recursivamente aplicado a cada partição

obtida até que algum critério de parada seja atingido, como, por exemplo:

Page 126: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

E(D) I(D,T) > . (9)

A discretização baseada em entropia pode reduzir a quantidade de dados usando

informações sobre as classes dos dados disponíveis, aumentando a chance de que

os limites dos intervalos ocorram em regiões que podem contribuir para a acurácia

da classificação.

Page 127: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Credibilidade do Processo de Aprendizagem

4. Introdução

Quase invariavelmente o objetivo da aprendizagem de uma ferramenta de

aprendizagem de máquina é gerar uma espécie de ‘modelo’ dos dados que seja

capaz de identificar associações entre atributos, classes ou grupos de objetos,

estimativas de valores de variáveis específicas, ou outra medida (característica) de

interesse. Como resultado, o algoritmo permitirá a extração automática de

conhecimento a partir da base de dados.

Durante e ao final do processo de treinamento do algoritmo os seguintes erros

podem ser observados:

Erro de Representação: considere o caso em que todo o conjunto amostral está

disponível. Assuma, também, que a base de dados completa permita encontrar um

Page 128: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

conjunto ótimo de parâmetros do algoritmo de aprendizagem. Neste caso, o erro

vai depender da adequação e do nível de flexibilidade do modelo de aproximação

em relação aos dados de treinamento. Este erro é também conhecido como erro de

aproximação, ou efeito bias.

Erro de Generalização: em aplicações de mundo real, somente um número finito

de dados (uma amostra da base) está disponível ou pode ser usado

simultaneamente. Além disso, os dados podem conter ruído ou outras

inconsistências. Portanto, a resposta de um algoritmo para dados não usados no

treinamento precisa ser ‘interpolada’. Devido a estes fatores pode ocorrer um erro

de generalização, mesmo quando técnicas de pré-processamento de dados são bem

aplicadas, também conhecido como erro de estimação, ou variância.

Erro de Otimização: como o conjunto de dados é limitado, o erro é avaliado

somente nos pontos que pertencem ao conjunto amostral.

Page 129: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Torna-se necessário, portanto, avaliar quão bem um determinado algoritmo está

desempenhando em um dado problema e, em muitos casos, comparar o

desempenho de diferentes algoritmos.

O processo de avaliação de desempenho é uma etapa crucial da mineração de

dados. Avaliar como diferentes métodos operam e compará-los não é uma tarefa

direta como pode parecer.

Seja um conjunto de dados qualquer a ser minerado por um conjunto de

ferramentas distintas. Há diversas perguntas que precisam ser respondidas em

relação ao processo de aprendizagem e aplicação das ferramentas:

1. A maioria dos algoritmos de aprendizagem opera de maneira iterativa, ou seja,

os dados precisam ser apresentados diversas vezes até que o modelo seja

ajustado de forma a responder ‘adequadamente’ aos dados.

Page 130: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Pergunta 1: Quantas vezes os dados precisam ser apresentados até que a

aprendizagem tenha sido efetuada com sucesso? Dito de outra forma, em que

momento o processo de aprendizagem deve ser interrompido?

Pergunta 2: Como os dados precisam ser apresentados ao algoritmo de

aprendizagem? Ou seja, em que ordem, com que frequência e em que

quantidade?

2. Praticamente todos os algoritmos de aprendizagem de máquina e de suas áreas

correlatas (inteligência artificial, redes neurais, etc.) possuem parâmetros a

serem ajustados.

Pergunta 3: Como ajustar os parâmetros destes modelos tal que eles operem

adequadamente para um determinado grupo de problemas?

3. Normalmente os dados de treinamento constituem uma amostra de um conjunto

de dados, ou seja, nem todos os dados possíveis que representam um

determinado problema estão disponíveis. Além disso, os dados de treinamento

Page 131: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

podem estar sujeitos a ruídos ou outros elementos extrínsecos que influenciarão

o desempenho do algoritmo de mineração a ser empregado; em muitos casos

mesmo após o pré-processamento dos dados.

Pergunta 4: Sabendo que a base de dados de treinamento é uma amostra finita

do problema a ser aprendido, como selecionar partes dessa base para

treinamento e teste da ferramenta?

Pergunta 5: Assim como no caso da primeira observação, em que momento o

processo de aprendizagem deve ser interrompido para que o algoritmo não

absorva os ruídos da base?

4. Diferentes tarefas de mineração requerem diferentes métricas de avaliação.

Pergunta 6: Como avaliar o desempenho de cada uma das ferramentas para

cada classe de problemas?

5. Diferentes algoritmos de aprendizagem resultam em métodos de solução e

desempenhos distintos para a mesma base de dados.

Page 132: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Pergunta 7: Como comparar o desempenho de diferentes algoritmos aplicados

ao mesmo problema?

O principal objetivo deste tópico é responder algumas destas perguntas

apresentando métodos que podem ser empregados para aliviar estas dificuldades.

5. Treinamento e Teste

Em tarefas de predição (estimação e classificação) é natural avaliar o desempenho

de um algoritmo através de sua taxa de erro que pode ser, por exemplo, o erro de

classificação ou o erro de aproximação.

Como a base de dados de treinamento é uma amostra de toda a base de dados e

está sujeita a ruídos e outras impurezas, o erro encontrado durante o treinamento é

uma esperança matemática do erro real e nem sempre possui um grande interesse

prático.

Page 133: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A taxa de erro para os dados de treinamento não é uma boa estimativa do

desempenho futuro do algoritmo, pois o algoritmo fica ‘polarizado’ pelos dados de

treinamento, que podem não ser suficientemente representativos da base de dados.

Obs.: quando o objetivo é efetuar a limpeza dos dados o erro de treinamento passa

a ser relevante.

Nestes casos, a tarefa de aprendizagem é do tipo supervisionada e, portanto, pode

ser entendida como um problema de aproximação de função, permitindo uma

formalização matemática específica.

5.1. Aprendizagem Supervisionada como Aproximação de Funções

O processo de treinamento supervisionado pode sempre ser entendido como um

problema geral de aproximação de funções.

Considere o problema de aproximar uma função g(): X m r por um

modelo de aproximação representado pela função ĝ(,): X P r, onde

P (P finito) é um vetor de parâmetros.

Page 134: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O problema geral de aproximação pode ser formalmente apresentado como segue:

o Considere a função g(): X m r, que mapeia pontos de um subespaço

compacto X m em pontos de um subespaço compacto g[X] r.

o Com base nos pares de vetores de entrada saída {(xi,di)}i = 1,...,N, amostrados a

partir do mapeamento determinístico definido pela função g na forma:

di = g(xi)+i, i = 1,...,N, e dado o modelo de aproximação ĝ(,): XP r,

determine o vetor de parâmetros * P tal que

dist(g(), ĝ(,*)) dist(g(), ĝ(,)), para todo P, onde o operador dist(,)

mede a distância entre duas funções definidas no espaço X.

o O vetor l expressa o erro no processo de amostragem, sendo assumido ser de

média zero e variância fixa.

o A solução deste problema, se existir, é denominada a melhor aproximação e

depende diretamente da classe de funções a qual ĝ pertence.

Page 135: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Em problemas de aproximação utilizando um número finito de dados amostrados e

definido um modelo de aproximação ĝ(,), a distância entre a função a ser

aproximada e sua aproximação dist(g(),ĝ(,)) é uma função apenas do vetor de

parâmetros P.

Tomando a norma euclidiana como a medida de distância, produz-se a seguinte

expressão:

N

l

ggN

J1

2)θ,(ˆ)(

1)θ( xx (1)

O funcional J: P é denominado superfície de erro do problema de

aproximação, pois pode ser interpretado como uma hipersuperfície localizada

‘acima’ do espaço de parâmetros P, sendo que para cada ponto P

corresponde uma ‘altura’ J().

O termo funcional corresponde a toda função f : X n , e por isso o

problema de minimizar J() torna-se um problema de minimização funcional.

Page 136: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Dada a superfície de erro, o problema de aproximação passa a ser um problema de

otimização cuja solução é o vetor * P que minimiza J(), ou seja,

)θ(minarg*θθ

JP

(2)

Durante o processo de aproximação da função g() pela função ĝ(,) fornecida

pelo algoritmo de aprendizagem de máquina, devem ser considerados os três tipos

de erros discutidos acima: erro de representação, generalização e otimização.

Sob esta perspectiva, é possível que uma ferramenta de aprendizagem de máquina

apresente um comportamento de erro monotonicamente decrescente para a base de

dados de treinamento ao longo do processo adaptativo, mas tenha seu desempenho

deteriorado para uma base de dados de teste após um determinado ponto do

processo de treinamento.

Page 137: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

5.2. Validação Cruzada como Critério de Parada

Um dos principais objetivos do treinamento dos algoritmos de mineração é um

bom desempenho de generalização, ou seja, um bom desempenho para dados não

usados no treinamento do algoritmo.

Entretanto, devido a imprecisões no processo de aquisição de dados (p. ex., erros

nos sensores, leitura, digitação, etc.) e outros fatores externos, as amostras de

treinamento podem levar a geração de um modelo de aproximação inadequado a

aplicações práticas.

É importante salientar que, durante o treinamento, embora o algoritmo possa

aparentar estar desempenhando cada vez melhor (uma vez que o erro para os dados

de treinamento deve estar decaindo monotonicamente), seu desempenho de

generalização pode começar a se deteriorar após um determinado número de

iterações.

Page 138: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Este fenômeno é ilustrado na Figura 8 e é consequência da imprecisão dos dados

de treinamento e de uma possível escolha inadequada das características do

algoritmo de aprendizagem.

Teste

Treinamento

Iterações

Err

o

Figura 8: Curvas idealizadas de erro de treinamento e generalização.

Uma forma de evitar a sobre-generalização é empregando métodos conhecidos

como validação-cruzada.

Page 139: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Obs.: é importante ressaltar que a validação-cruzada pode ser usada tanto como

um critério de parada para o treinamento de alguns algoritmos com o objetivo de

evitar sobre-generalização, quanto como um mecanismo para estimar o

desempenho de generalização do algoritmo. Em ambos os casos o importante é que

os conjuntos de dados usados para treinamento e teste sejam disjuntos.

6. Validação Cruzada

Uma forma bastante comum de validação cruzada em mineração de dados é a

chamada validação cruzada em k-pastas (k-fold cross-validation), que consiste em

dividir a base de dados em k subconjuntos, sendo, k1 pastas para treinamento e 1

pasta para teste.

O processo de treinamento e teste é repetido com todos os k subconjuntos e é feita

a média dos erros para as bases de treinamento e as bases de teste.

Outro aspecto importante é se as pastas ou conjuntos estão estratificados ou não.

Page 140: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A validação cruzada estratificada consiste em distribuir uniformemente as classes

das amostras entre as pastas.

A validação cruzada em 10 pastas é considerada uma das mais seguras para se

estimar o erro de generalização de classificadores (ver Figura 1). Diversos testes

com diferentes métodos de classificação sugerem que 10 pastas é um número

razoável para se estimar o erro.

Entretanto, estes argumentos não são conclusivos e ainda há um grande debate

sobre qual o número adequado de pastas, embora 10 pastas tenha se tornado o

método padrão em termos práticos.

Testes também demonstram que a estratificação melhora significantemente os

resultados.

Page 141: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

Teste Treinamento

Passo 1:

Passo 2:

1 2 3 4 5 6 7 8 9 10 Passo 10:

. . .

Figura 9: Validação cruzada do tipo 10-pastas.

Uma única validação em 10-pastas pode não ser suficiente para obtermos uma

estimativa confiável do erro.

Diferentes validações em k-pastas podem resultar em desempenhos distintos tanto

devido à aleatoriedade de muitos algoritmos de mineração, quanto devido a

variações na escolha das pastas.

Page 142: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Embora a estratificação reduza esta variação, ela, por si só, não é capaz de resolver

este problema.

Portanto, também é usual executarmos a validação em 10-pastas 10 vezes, o que

implica em executar o algoritmo 100 vezes para uma base que é 9/10 da base toda,

e apresentarmos o desempenho médio do algoritmo para estas simulações.

Quando k é igual ao número de objetos temos a validação cruzada leave-one-out.

Neste caso, apenas um objeto por vez é usado para teste e todos os outros objetos

são usados para treinamento.

A saída do algoritmo é considerada correta se a classe predita para o dado de teste

estiver correta. Caso contrário, ocorreu um erro de classificação.

Vantagens do leave-one-out:

o Usa a maior quantidade possível de dados para o treinamento;

o Não envolve amostragem dos dados sendo, portanto, determinístico neste

quesito.

Page 143: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Desvantagens do leave-one-out:

o Elevado custo computacional, uma vez que o treinamento é executado k = N

vezes, sendo N o número de dados da base;

o Não pode ser estratificado.

Este método é interessante para bases de dados pequenas.

Outro método para estimação do erro de generalização é baseado na amostragem

com substituição e é denominado de bootstrap.

Consideremos um caso particular do bootstrap denominado de 0.632 bootstrap.

Este método consiste em amostrar a base de dados N vezes com substituição,

gerando uma nova base com N objetos, sendo que alguns deles podem se repetir e

alguns objetos da base original podem não estar contidos na base selecionada.

Aqueles objetos não selecionados constituirão o conjunto de teste.

Page 144: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Como a probabilidade de um objeto não ser selecionado em uma dada amostragem

é (1 1/N) e são feitas N amostragens, então a probabilidade de um objeto

qualquer não ser selecionado para o conjunto de treinamento é:

(1 1/N)N e1 = 0.368.

7. Avaliação de Desempenho

As principais tarefas de mineração são descrição de classes, associação, predição

(classificação e estimação), agrupamento e detecção de anomalias.

Enquanto os métodos de descrição são empregados para descrever características

ou propriedades dos dados, os algoritmos de associação apresentam associações

entre atributos e as técnicas de agrupamento detectam dados que pertencem a

mesmos grupos.

De maneira diferenciada, os algoritmos de predição e detecção de anomalias são

usados ou para estimar o valor de uma dada variável (objeto) ou para classificá-la.

Page 145: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Portanto, a avaliação dos algoritmos de predição e detecção de anomalias deve

considerar esta característica da saída do algoritmo.

Considerando que a detecção de anomalias pode ser uma tarefa tanto de

classificação, quanto de estimação, há três grandes áreas a serem discutidas aqui:

classificação, estimação e agrupamento.

7.1. Tarefas de Classificação

A forma mais trivial de avaliar o desempenho de um classificador é simplesmente

calcular o percentual de classificação correta, ou seu complemento (percentual de

classificação incorreta), para cada objeto da base.

Entretanto, este tipo de medida não considera o custo de uma decisão incorreta por

parte do classificador, ou seja, ela assume que todas as classes possuem o mesmo

grau de importância.

Há diversos problemas para os quais os erros do classificador possuem pesos

distintos. Exemplos:

Page 146: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Risco de crédito (um bom pagador com crédito negado um ‘caloteiro’ com

crédito aprovado);

o Detecção de vazamento de óleo (identificar um possível vazamento ambiental de

óleo alarme falso);

o Análise de risco de fraude em cartão de crédito (bloquear uma transação

legítima aprovar uma transação fraudulenta);

o Previsão de demanda de consumo de energia (gerar mais do que o consumido

não gerar o necessário para suprir a demanda).

7.1.1. Classificação Binária

Para o caso de problemas com apenas duas classes (classificação binária) é

possível usar a taxa de verdadeiro positivo (TPR) e a taxa de falso positivo (FPR)

como indicadores de desempenho.

Sejam as duas classes denominadas de sim e não, respectivamente. As taxas TPR e

FPR consideram as seguintes medidas (Figura 10):

Page 147: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. TP (true positive): classe sim classificada como sim. Também conhecido como

recall;

2. TN (true negative): classe não classificada como não.

3. FP (false positive): classe não classificada como sim. É também conhecido

como alarme falso ou erro Tipo 1;

4. FN (false negative): classe sim classificada como não. É também conhecido

como erro Tipo 2.

Classe Predita

Sim Não

Sim TP FN Classe Correta

Não FP TN

Figura 10: Diferentes resultados de um classificador binário. Essa matriz é chamada de matriz

de contingência ou matriz de confusão.

Page 148: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Assim temos:

FNTP

TP

P

TPTPR

, (3)

TNFP

FP

N

FPFPR

, (4)

Portanto, a taxa de verdadeiro positivo é o número de verdadeiros positivos (TP)

dividido pelo número total de positivos, enquanto a taxa de falso positivo é o

número de falsos positivos (FP) dividido pelo número total de negativos.

A taxa global de sucesso do algoritmo, conhecida como acurácia (ACC), é o

número de classificações corretas dividido pelo número total de classificações:

FNTNFPTP

TNTPACC

. (5)

A acurácia também pode ser entendida como o grau de conformidade de um valor

medido ou calculado com seu valor real.

Page 149: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A precisão (Pr) do algoritmo corresponde à proporção de verdadeiros positivos

classificados corretamente:

TPFP

TP

Pr . TPFN

TP

Re (6)

Dito de outra forma:

cuperados

cuperadoslevantesecision

Re

ReRePr

, (6.1)

levantes

cuperadoslevantescall

Re

ReReRe

, (6.2)

Portanto, a Precisão é a probabilidade de um item recuperado ser relevante,

enquanto a Recuperação é a probabilidade de recuperar um item relevante.

A taxa de erro E do classificador é, portanto:

E = 1 ACC. (7)

Page 150: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Outra medida de acurácia muito comum em estatística é a medida-F, ou score-F,

que considera a Precisão (Pr) e a Recuperação (Re) e está contida no intervalo

[0,1]:

F = 2*(Pr*Re)/(Pr+Re). (8)

A medida-F é muito usada em recuperação de informação para avaliar o

desempenho de ferramentas de busca e classificação.

Outra medida de avaliação de classificadores é conhecida como estatística Kappa,

que mede a concordância de dois avaliadores os quais cada um classifica n objetos

em C classes mutuamente exclusivas. A equação para kappa é:

κ = (Pr(a) Pr(e))/(1 Pr(e)),

onde Pr(a) é a concordância relativa observada entre os avaliadores e Pr(e) é a

probabilidade hipotética de uma concordância aleatória. Se os avaliadores

concordam plenamente, κ = 1; e se não há concordância alguma, κ = 0.

Page 151: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Para ilustrar o cálculo de κ, considere a seguinte matriz de confusão de um

classificador binário:

Classe

Predita

Classe

Correta

Sim Não

Sim 20 5

Não 10 15

A concordância observada é Pr(a) = (20+15)/50 = 0.70. Para calcular Pr(e) (a

probabilidade de uma concordância aleatória), notamos que a classe correta Sim

foi predita Sim 25 vezes de um total de 50 (50% das vezes) e a classe predita Sim

ocorreu 30 vezes de um total de 50 (60% das vezes). Assim, a probabilidade de

que ambos (correta e predita) acordem é 0.5*0.6 = 0.3, enquanto a probabilidade

de que ambos discordem é 0.5*0.4 = 0.2 e, portanto, a probabilidade de uma

concordância aleatória Pr(e) = 0.3 + 0.2 = 0.5.

Aplicando a equação para o cálculo de κ chegamos no seguinte valor:

κ = (0.7 0.5)/(1 0.5) = 0.4.

Page 152: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 4: Considere os seguintes problemas: SPAM (detecção de Spam) e Weather

(base de dados do clima). A classe alvo de cada um destes problemas é,

respectivamente, Spam e Jogar. Assuma que ambas as bases possuam N = 1.500

objetos, sendo nspam = 32 e njogar = 837. Considere o seguinte resultado de um

algoritmo de classificação aplicado a esta base de dados:

o Spam classificados corretamente: 27.

o Jogar classificado corretamente: 798.

o E-mail normal classificado corretamente: 1.411.

o Não-Jogar classificado corretamente: 633.

Pede-se:

a) Determine TPR, FPR, ACC, Pr, E.

b) Monte a matriz de confusão do classificador.

7.1.2. Múltiplas Classes

Em um problema de predição de múltiplas classes o resultado de um teste é

normalmente apresentado como uma matriz de confusão (confusion matrix) bi-

dimensional com uma linha e uma coluna para cada classe.

Page 153: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Cada elemento da matriz corresponde ao número de exemplos de teste para o qual

a classe correta está na linha e a classe predita está na coluna.

Na tabela ilustrada na Figura 11 o elemento c12 indica a quantidade de elementos

da classe 1 que foram incorretamente classificados como pertencentes à classe 2;

c21 indica a quantidade de elementos da classe 2 que foram incorretamente

classificados como pertencentes à classe 1; e assim por diante.

Portanto, um bom classificador deve apresentar números maiores na diagonal

principal e números pequenos, idealmente zero, fora da diagonal.

Classe Predita

Classe 1 Classe 2 ... Classe n

Classe 1 C11 C12 C1n

Classe 2 C21 C22 C2n

...

Classe Correta

Classe n Cn1 Cn2 Cnn

Figura 11: Matriz de confusão para múltiplas classes.

Page 154: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 5: A tabela abaixo apresenta a Matriz de Confusão de uma árvore de decisão

aplicada ao problema das Lentes de Contato. Discuta o desempenho do algoritmo

para cada classe e seu desempenho global.

Classe Predita

Macia Rígida Nenhuma

Macia 5 0 0

Rígida 0 3 1

Classe Correta

Nenhuma 1 2 12

7.1.3. Curvas ROC

As curvas ROC (receiver operating characteristic) constituem uma ferramenta

gráfica para avaliar o desempenho de classificadores.

Para desenhar uma curva ROC apenas a taxa de verdadeiros positivos (TPR) e a

taxa de falsos positivos (FPR) são necessárias.

O espaço de uma curva ROC é definido tomando-se a FPR no eixo horizontal e a

TPR no eixo vertical, o que resulta em um trade-off entre os benefícios de uma

Page 155: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

classificação correta (TPR), também conhecida como sensibilidade, e o custo de

uma classificação incorreta (FPR), também conhecida como (1 especificidade).

Cada elemento da matriz de confusão representa um ponto no espaço ROC.

O melhor algoritmo de predição possível resultaria em um ponto no canto superior

esquerdo – coordenada (0,1) do gráfico, representando 100% de sensibilidade

(todos os verdadeiros positivos foram encontrados) e 100% de especificidade

(nenhum falso positivo foi encontrado).

Um valor completamente aleatório levaria a um ponto na linha diagonal do espaço,

conhecido como linha sem discriminação.

Esta linha diagonal divide o espaço ROC em duas áreas:

1. Superior à linha: boa classificação;

2. Inferior à linha: classificação ruim.

A Figura 5 ilustra uma curva ROC para os seguintes cenários:

1. FPR = 0.28, TPR = 0.63;

Page 156: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. FPR = 0.77, TPR = 0.77;

3. FPR = 0.88, TPR = 0.24;

4. FPR = 0.24, TPR = 0.88.

Neste cenário o Ponto 1 corresponde a um bom desempenho, pois TPR é alto e

FPR é baixo; o Ponto 2 é equivalente a uma classificação aleatória (ACC = 50%); o

Ponto 3 é muito ruim, pois TPR < FPR; e o Ponto 4 é um espelhamento do Ponto 3,

e corresponde ao melhor desempenho do classificador.

Page 157: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

FPR (1-Especificidade)

TP

R (

Se

nsib

ilid

ad

e)

(Se

nsib

ilid

ad

e)

Espaço ROC

4

1

2

3

Melhor

Figura 12: Exemplo de uma curva ROC.

Note que a curva ROC pode ser usada, por exemplo, para selecionar amostras de

um conjunto de dados a serem usadas para a geração do modelo, para selecionar

Page 158: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

um algoritmo dentre um conjunto de possibilidades, ou então para selecionar

parâmetros de um algoritmo.

Assim, a análise da curva ROC corresponde a uma ferramenta para a seleção de

modelos ou conjuntos de dados ótimos independentemente do contexto ou

distribuição de classes.

7.2. Tarefas de Estimação

Considere agora o caso em que o objetivo é estimar o valor de uma variável

específica dado um vetor de entradas.

Neste caso, a tarefa de predição corresponde a uma estimação de valor e não uma

classificação.

Antes de descrever algumas medidas de avaliação de desempenho, consideremos a

seguinte formalização do processo de aprendizagem supervisionada.

Page 159: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

7.2.1. Formalização do Processo de Aprendizagem Supervisionada

Seja dj, j = 1, ... , N, a resposta desejada (correta) para o objeto j e yj a resposta

estimada (predita) do algoritmo, obtida através de um estímulo x presente na

entrada do algoritmo.

x e dj constituem um exemplo de par estímulo-resposta (ou entrada-saída)

apresentado ao algoritmo, possivelmente extraídos de um ambiente ruidoso cujas

distribuições de probabilidade são desconhecidas.

Assim, ej = dj yj é o sinal de erro observado na saída do sistema para o objeto j.

Observe que, em ambiente ruidoso, ej é uma variável aleatória.

O processo de aprendizagem supervisionada tem por objetivo corrigir este erro

observado e, para tanto, busca minimizar um critério (função objetivo) baseado em

ej, j = 1, … ,N, onde N é o número de objetos, de maneira que os valores de yj

estejam próximos dos valores de dj no sentido estatístico.

Page 160: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Há várias medidas que podem ser usadas para estimar o ‘tamanho’ deste erro,

como resumido na Tabela 8.

Tabela 8: Medidas de desempenho para predição numérica (estimação).

Medida de Desempenho Fórmula

Soma dos erros quadráticos

N

j

je1

2

Erro quadrático médio

N

j

jeN 1

21

Raiz do erro quadrático médio

N

j

jeN 1

21

Erro absoluto médio

N

j

jeN 1

||1

Erro quadrático relativo

N

j

N

j

j

j

jd

Nd

dd

e

N 1 12

21

,)(

1,

Page 161: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Raiz do erro quadrático relativo

N

j

j

N

j j

jd

Nd

dd

e

N 112

21

,)(

1

Erro absoluto relativo

N

j j

j

dd

e

N 1 ||

||1

Coeficiente de correlação

N

j

j

N

j

j

N

j

jj

yydd

yydd

1

2

1

2

1

)(.)(

))((

Qual destas medidas é mais apropriada para um certo problema só pode ser

definido estudando a própria aplicação:

o O erro quadrático médio e a raiz do erro quadrático médio normalmente

amplificam grandes discrepâncias entra a saída desejada e a predita;

Page 162: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Os erros relativos tentam compensar a previsibilidade ou não da variável de

saída: valores próximos da média implicam em melhores predições.

EPC 6: Um estimador está sendo usado para determinar a taxa de desaceleração de

um avião assim que ele toca a pista de pouso. A tabela abaixo apresenta os valores

da taxa de desaceleração ideal para uma parada suave e segura, e a taxa estimada

pelo sistema de IA nos primeiros 5s após o contato com o solo. Calcule os seguintes

erros do estimador: SSE, EQM, REQM, EAM, EQR, REQR, EAR e CC (ver Tabela

8).

Instante de

tempo Ideal (m/s2) Estimado (m/s2)

1 10,5 10,9

2 11 10,1

3 9,8 11,1

4 9,9 10,3

5 9,0 9,4

Page 163: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

7.3. Tarefas de Agrupamento

Os grupos formados pelos objetos de uma base de dados podem ser avaliados por

dois tipos de medidas:

o Internas: são medidas que utilizam apenas informações intrínsecas aos objetos

do agrupamento, baseando-se em medidas de similaridade e avaliando as

distâncias intra e/ou intergrupos;

o Externas: são medidas que avaliam o quão correto está um agrupamento dado

um agrupamento ideal que se deseja alcançar.

7.3.1. Medidas Internas

Geralmente estas medidas possuem valores maiores para o algoritmo que produz

grupos com alta similaridade intragrupo e baixa similaridade intergrupo.

Os seguintes métodos podem ser usados para avaliar a qualidade de agrupamentos

baseados em medidas internas:

Page 164: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Índice de Davies-Bouldin

(9)

onde k é o número de grupos, cx é o centroide do grupo x, x é a distância média dos

elementos do grupo x ao centroide cx, e d(ci,cj) é a distância entre os centroides ci e

cj.

Índice de Dunn

(10)

onde d(i,j) representa a distância entre os grupos i e j, e d’(k) mede a distância

intragrupo do grupo c. A distância intergrupo d(i,j) entre grupos pode ser dada por

qualquer medida, como a distância entre os centroides dos grupos. De forma similar,

a distância intragrupo pode ser dada pela distância entre quaisquer par de elementos

no grupo c.

Page 165: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Silhueta

Seja um objeto i pertencente a um grupo A e a dissimilaridade média entre os

outros objetos de A em relação a i denotada por a(i).

Seja outro grupo B, a dissimilaridade do objeto i em relação aos objetos de B é

denotada por d(i,B).

Após o cálculo de d(i,B) para todos os grupos B ≠ A, o de menor valor é escolhido,

ou seja, b(i) = min d(i,B), B ≠ A.

Este valor representa o valor de dissimilaridade do objeto i para o grupo mais

próximo:

(11)

O valor s(i) [1, +1], sendo que quanto maior o valor de s(i) maior é a

proximidade do objeto i com um dado grupo.

Page 166: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Se o valor de s(i) for zero, então não é possível definir claramente se este objeto i

deveria estar no grupo atual ou em outro grupo próximo.

Se um grupo A possui apenas um valor então s(i) não é definida e é considerada

zero.

O critério da Silhueta é dado pela média de s(i), i = 1,..,N e a melhor forma de

agrupamento é encontrada maximizando esta função.

7.3.2. Medidas Externas

Entropia e Pureza

Medidas do tipo Entropia (E) e Pureza (P) podem ser empregadas para avaliação

de desempenho de algoritmos de agrupamento, desde que conheçamos a priori os

grupos da base de dados (apenas para efeito de benchmarking).

A entropia define a homogeneidade dos grupos formados, ou seja, de que forma as

classes de objetos estão distribuídas em cada cluster, sendo que baixa entropia

indica clusters mais homogêneos.

Page 167: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Dado um determinado cluster Sr de tamanho nr, a entropia E(Sr) deste cluster pode

ser medida da seguinte forma:

E(Sr) =

k

i r

i

r

r

i

r

n

n

n

n

k 1

loglog

1, (12)

onde k é o número de classes no conjunto de objetos, e nri é o número de objetos da

i-ésima classe presente no cluster Sr.

A entropia global pode então ser calculada como a somatória das entropias obtidas

em cada cluster, ponderada pelo tamanho de cada cluster, da seguinte forma:

Eglobal =

k

r

rr SE

n

n

1

)( , (13)

Uma solução de agrupamento ideal será aquela que apresenta objetos de uma única

classe dentro de cada cluster fazendo com que a entropia seja igual a zero.

A pureza fornece a razão da classe dominante no cluster em relação ao tamanho do

próprio cluster e pode ser calculada da seguinte maneira:

Page 168: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

P(Sr) = )(max1 i

ri

r

nn . (14)

Analogamente ao cálculo da entropia global, a pureza global pode ser obtida por:

Pglobal =

k

r

rr SP

n

n

1

)( . (15)

Cada grupo pode conter objetos de diferentes classes. Valores de pureza próximos

a um indicam um subconjunto puro da classe dominante no grupo.

EPC 7: Um determinado algoritmo de agrupamento apresenta o resultado mostrado

na figura abaixo. Determine a entropia e a pureza dos agrupamentos gerados. O que

estes valores significam?

Page 169: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

G1

G2

G3

EPC 8: Assumindo que o problema anterior é um problema de classificação, monte

a Matriz de Confusão do classificador resultante.

Page 170: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

7.4. Tarefas de Associação

Medidas de interesse de uma regra, permitem ao usuário obter informações

relevantes em relação ao conjunto de regras extraídas da base de dados.

7.4.1. Confiança e Suporte

As medidas de interesse, confiança e suporte, são as mais abordadas na literatura.

O suporte, também chamado de cobertura, de uma regra de associação demonstra

a probabilidade dessa regra ser encontrada em relação a todas as transações da

base:

(16)

A confiança, também chamada de acurácia, verifica a ocorrência da parte

consequente em relação ao antecedente, determinando o grau de confiança entre os

itens, ou seja, aquilo que os une formando a regra de associação:

Page 171: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

(17)

Enquanto a confiança é uma medida da acurácia da regra, o suporte corresponde à

sua significância estatística.

Uma motivação para restrições de suporte vem do fato que, por questões de

negócio, as regras acima de um suporte mínimo são as mais interessantes.

Contudo, uma regra com suporte baixo pode ser considerada em um momento

posterior.

7.4.2. Compreensibilidade e Grau de Interesse

As medidas de compreensibilidade e grau de interesse (interestingness) avaliam a

qualidade relativa das regras, sendo que a medida de compreensibilidade1, ou

compreensibilidade do tipo 1, da regra de associação, C(R), é definida como:

(18)

Page 172: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

na qual |C| e |AC| são as quantidades de itens envolvidos na parte consequente e

na regra toda, respectivamente.

Já a medida do grau de interesse da regra, I(R), é calculada como:

(19)

na qual D define o número de registros na base de dados.

Uma medida de compreensibilidade, ou compreensibilidade do tipo 2, da regra de

associação, C(R), é definida por:

C(R) = log(1 + |C|) + log(1 + |A C|) (20)

Page 173: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Conceitos em Estatística Descritiva

8. Introdução

A mineração de dados, assim como a estatística, pode ser classificada em

descritiva e preditiva.

o A mineração de dados descritiva efetua descrições concisas e de resumo da base

de dados, apresentando propriedades importantes dos dados.

o A mineração de dados preditiva analisa os dados com o objetivo de predizer,

através de modelos ou não, o comportamento de novos dados.

As ferramentas a serem apresentadas aqui permitem medir e descrever diferentes

características da base de dados.

Dentre as características importantes dos dados destacam-se:

Page 174: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Centro: valor representativo ou médio, que indica onde se localiza o meio do

conjunto de dados;

o Variação: medida de quanto os valores dos dados variam entre eles;

o Distribuição: natureza ou forma da distribuição dos dados;

o Outliers ou valores discrepantes: valores amostrais que se localizam muito

longe da grande maioria dos outros valores amostrais; e

o Tempo: características dos dados que mudam com o tempo.

O objetivo principal deste capítulo é dominar as ferramentas básicas para

mensuração e descrição de diferentes características de uma base de dados.

Exemplo do Capítulo:

Para ilustrar os conceitos a serem apresentados neste capítulo, considere a Tabela 9

abaixo que contém dados sobre os níveis medidos de Cotinina no soro (em ng/ml)

em pessoas selecionadas como sujeitos do estudo.

Page 175: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A cotinina é um metabólito da nicotina, o que significa que quando a nicotina é

absorvida pelo organismo produz-se cotinina.

Tabela 9: Níveis medidos de Cotinina em três grupos.

Fumante: 1 0 131 173 265 210 44 277 32 3

35 112 477 289 227 103 222 149 313 491

130 234 164 198 17 253 87 121 266 290

123 167 250 245 48 86 284 1 208 173

Não-Fumante Exposto: 384 0 69 19 1 0 178 2 13 1

4 0 543 17 1 0 51 0 197 3

0 3 1 45 13 3 1 1 1 0

0 551 2 1 1 1 0 74 1 241

Não-Fumante Não Exposto: 0 0 0 0 0 0 0 0 0 0

0 9 0 0 0 0 0 0 244 0

1 0 0 0 90 1 0 309 0 0

0 0 0 0 0 0 0 0 0 0

Page 176: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

9. Distribuições de Frequência

Quando trabalhamos com grandes conjuntos de dados, muitas vezes é útil

organizar e resumir os dados com a construção de uma tabela que liste os

diferentes possíveis valores dos dados (individualmente ou por grupos), juntamente

com as frequências correspondentes, que representam o número de vezes que

aqueles valores ocorrem.

Definições:

o Distribuição de frequência: listagem dos diferentes possíveis valores dos dados

(individualmente ou por grupos), juntamente com as frequências

correspondentes, que representam o número de vezes que aqueles valores

ocorrem;

o Limites inferiores de classe: são os menores números que podem pertencer às

diferentes classes;

Page 177: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Limites superiores de classe: são os maiores números que podem pertencer às

diferentes classes;

o Fronteiras de classes: são os números usados para separar as classes, mas sem

os saltos criados pelos limites de classe. São obtidos como a seguir: ache o

tamanho do salto entre o limite superior de classe de uma classe e o limite

inferior da classe seguinte. Acrescente a metade dessa quantidade a cada limite

superior de classe para encontrar as fronteiras superiores de classe; subtraia

metade daquela mesma quantidade de cada um dos limites inferiores de classe

para encontrar as fronteiras inferiores de classe;

o Pontos médios das classes: são os pontos médios dos intervalos que determinam

cada classe (soma dos limites superior e inferior da classe dividida por 2);

o Amplitude de classe: diferença entre dois limites inferiores de classe

consecutivos ou duas fronteiras inferiores de classe consecutivas.

Page 178: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Exemplo 1: A listagem abaixo apresenta a distribuição de frequência dos níveis de

cotinina de um conjunto de fumantes.

Cotinina Frequência

0 – 99 11

100 – 199 12

200 – 299 14

300 – 399 1

400 – 499 2

Limites inferiores de classe: 0, 100, 200, 300, 400.

Limites superiores de classe: 99, 199, 299, 399, 499.

Fronteiras de classe: 0,5; 99,5; 199,5; 299,5; 399,5; 499,5.

Pontos médios de classes: 49,5; 149,5; 249,5; 349,5; 449,5.

Amplitude de classe: 100 para todas as classes.

9.1. Construção da Distribuição de Frequência

As distribuições de frequência são construídas pelas seguintes razões:

Page 179: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Grandes conjuntos de dados podem ser resumidos;

o A natureza dos dados pode ser mais bem explicada; e

o Ela fornece uma base para a construção de gráficos importantes, como os

histogramas.

Procedimento básico de construção de uma distribuição de frequências:

1. Escolha o número de classes desejado (sugerido entre 5 e 20).

2. Calcule a amplitude de classe (arredonde para cima):

Amplitude de classe [(maior valor) (menor valor)]/(número de classes).

3. Ponto inicial: comece escolhendo um número para o limite inferior da

primeira classe (p. ex., o valor mínimo dos dados).

4. Usando o limite inferior da primeira classe e a amplitude de classe,

prossiga e liste os outros limites inferiores de classe. Adicione a amplitude

de classe ao limite inferior de cada classe para obter o limite inferior da

classe seguinte.

Page 180: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

5. Liste os limites inferiores de classe em uma coluna vertical e prossiga para

preencher os limites superiores de classe, que são facilmente identificados.

6. Percorra o conjunto de dados colocando um rótulo apropriado de classe em

cada valor de dado. Use os rótulos para encontrar a frequência total para

cada classe.

9.2. Distribuição de Frequência Relativa e Acumulada

Uma variação importante da distribuição de frequência básica usa as frequências

relativas, que são facilmente encontradas dividindo-se cada frequência de classe

pelo total de todas as frequências:

frequência relativa = (frequência de classe)/(soma de todas as frequências).

Quando se desejam totais acumulados é usada a frequência acumulada, que

corresponde à soma da frequência daquela classe com a frequência de todas as

classes anteriores.

Exemplo 2: Para a tabela do exemplo anterior tem-se:

Page 181: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Cotinina Frequência

Relativa Cotinina

Frequência

Acumulada*

0 – 99 27,5% Menos que 100 27,5%

100 – 199 30% Menos que 200 57,5%

200 – 299 35% Menos que 300 92,5%

300 – 399 2,5% Menos que 400 95%

400 – 499 5% Menos que 500 100%

* A frequência acumulada pode ser expressa em valores absolutos ou relativos.

10. Visualização de Dados

Os gráficos são poderosas ferramentas para se entender a natureza das

distribuições dos dados. Dentre eles destacam-se os Histogramas, os Polígonos de

Frequência, as Ogivas, os Gráficos de Pareto, os Gráficos de Setores e os

Diagramas de Dispersão.

Page 182: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

10.1. Histogramas

Um histograma é um gráfico de barras no qual a escala horizontal representa

classes de valores de dados e a escala vertical representa frequências.

As alturas das barras correspondem aos valores das frequências e as barras são

desenhadas adjacentes umas às outras, sem separação (Figura 13).

Nota: o histograma também poderia considerar a frequência relativa, bastando

colocar as frequências relativas na escala vertical ao invés das frequências

absolutas.

Page 183: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 13: Histograma de frequências.

0 50 100 150 200 250 300 350 400 450 500 0

2

4

6

8

10

12

14

16

Níveis de Cotinina de Fumantes

Fre

que

ncia

Page 184: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

10.2. Polígono de Frequências

Um polígono de frequências usa segmentos de reta ligados a pontos localizados

diretamente acima dos valores dos pontos médios de classe (Figura 14(a)).

10.3. Ogiva

Uma ogiva é um gráfico de linha que representa frequências acumuladas,

exatamente como uma distribuição de frequências acumuladas (Figura 14(b)).

Page 185: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

(a) (b)

Figura 14: Visualização de dados. (a) Polígono de frequências. (b) Ogiva.

10.4. Gráfico de Pareto

Um gráfico de Pareto é um gráfico de barras para dados qualitativos, com as

barras dispostas em ordem pela frequência. Como em um histograma, as escalas

verticais nos gráficos de Pareto podem representar frequências ou frequências

relativas (Figura 15).

0 50 100 150 200 250 300 350 400 450 500 0

5

10

15

20

25

30

35

40

Níveis de Cotinina de Fumantes

Fre

quencia

Acum

ula

da

0 50 100 150 200 250 300 350 400 450 500 0

2

4

6

8

10

12

14

16

Níveis de Cotinina de Fumantes

Fre

quencia

Page 186: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tro

ca

Ta

xa

s e

Se

rviç

os

Inse

rçã

o d

e D

esep

esas

Ma

rke

tin

g

Ta

xa

s d

e A

ce

sso

0

0.2

0.4

0.6

0.8

1.0

1.2

1.4

1.6

1.8

2.0

x 10 4

Se

rviç

os d

e O

pe

rado

ra

Ch

am

ad

as I

nte

rna

cio

na

is

Figura 15: Gráfico de Pareto de reclamações de companhias telefônicas nos EUA.

Page 187: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

10.5. Gráfico de Setores

Os gráficos de setores também são usados para retratar dados qualitativos e

correspondem a uma forma diferente de representar os dados em relação àquela

apresentada pelo Gráfico de Pareto (Figura 16).

Troca (12.478)

Taxas e Serviços (4.473)

Inserção de Desepesas (1.214)

Marketing (1.007)

Chamadas Internacionais (766)

Taxas de Acesso (614)

Serviços de Operadora (534)

Figura 16: Gráfico de Setores de reclamações de companhias telefônicas nos EUA.

Page 188: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

10.6. Gráfico de Dispersão

Os gráficos de dispersão plotam pares de dados (x,y), com um eixo x horizontal e

um eixo y vertical. Os dados são colocados em pares que combinam cada valor de

um conjunto de dados com um valor correspondente de um segundo conjunto de

dados (Figura 17).

Page 189: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

94 96 98 100 102 104 106 108 110150

160

170

180

190

200

210

220

Cintura

Peso (

libra

s)

Figura 17: Gráfico de Dispersão com a relação Cintura (cm) x Peso (libras) de 20 indivíduos.

Page 190: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

11. Medidas de Centro

Uma medida de centro ou medida de tendência central é um valor no centro ou

meio do conjunto de dados.

As medidas de tendência central mais comuns são: média, mediana, moda e ponto

central:

Média amostral:

n

i

ixn

x1

1. (1)

Média populacional:

N

i

ixN 1

1 . (2)

Nota importante: em Mineração de Dados normalmente não é feita uma distinção

entre amostra e população e, portanto, as equações acima são usadas

indistintamente.

Mediana: valor central, ou seja, o valor do meio quando os dados originais estão

arranjados em ordem crescente ou decrescente de magnitude. É, geralmente,

Page 191: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

representada por x~ . Quando há um número par de valores some os dois valores do

meio e divida por dois.

Moda: valor mais frequente, normalmente representado por M. Quando mais de

um valor ocorre com a mesma maior frequência cada um é uma moda e a base de

dados é dita multimodal.

Ponto Médio: é a medida de centro que é exatamente o valor a meio caminho entre

o maior valor e o menor valor na base de dados:

Ponto Médio = (maior valor + menor valor)/2.

Média de uma Distribuição de Frequências: quando os dados estão resumidos em

uma distribuição de frequências, é considerado que, em cada classe, todos os

valores amostrais sejam iguais ao ponto médio da classe. Como cada ponto médio

da classe se repete um número de vezes igual à frequência da classe, a soma de

todos os valores amostrais é (f . x), em que f representa frequência e x representa

o ponto médio da classe:

Page 192: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

f

xfx

).(

. (3)

Média Ponderada: em alguns casos os valores variam em grau de importância, de

modo que podemos querer ponderá-los apropriadamente. Podemos então calcular a

média ponderada:

w

xwx

).(

. (4)

Embora seja difícil afirmar que uma determinada medida de centro é melhor que

outra, a Tabela 10 faz uma comparação geral entre elas.

Page 193: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 10: Comparação entre medidas de centro.

Medida de

centro Definição Existência

Considera

todos os

valores?

Afetada por

valores

extremos?

Vantagens e

desvantagens

Média x/N Sempre Sim Sim Mais comum

Mediana Valor do meio Sempre Não Não

Quando há

valores

extremos

Moda Mais frequente

Pode não

existir, pode

haver

múltiplos

Não Não Dados

nominais

Ponto médio (maior+menor)/2 Sempre Não Sim Sensível a

extremos

Exemplo 3:

Para a base de dados comparativa dos níveis de cotinina deste capítulo os valores de

Média, Moda, Mediana e Ponto Médio da Tabela 9 podem ser encontrados na tabela

abaixo.

Page 194: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 11: Média, Mediana, Moda e Ponto Médio da comparação dos níveis de cotinina de

fumantes, não-fumantes expostos e não-fumantes não expostos.

Fumantes Não-Fumantes Expostos Não-Fumantes Não Expostos

Média 172,48 60,58 16,50

Mediana 170 1,5 0

Moda 1 e 173 1 0

Ponto médio 245,5 275,50 154,50

12. Medidas de Variação

O conceito de variação é um dos mais importantes em estatística, pois ele permite

avaliar o quanto os objetos de uma amostra ou população variam entre si.

A amplitude de uma base de dados é a diferença entre o maior valor e o menor

valor:

amplitude = (maior valor) (menor valor). (5)

Page 195: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O desvio padrão é a medida de variação (ou medida de dispersão) mais

importante e fornece uma medida da variação dos dados em relação à média, ou

seja, uma espécie de desvio médio dos valores em relação à média:

n

i

i

n

xxs

1

2

1

)(. (6)

Nota 1: o valor do desvio padrão é fortemente afetado pela presença de outliers.

Nota 2: para o caso de uma população a Eq. (6) é ligeiramente modificada para a

Eq. (7):

N

i

i

N

x

1

2)( . (7)

A variância de um conjunto de valores é uma medida da variação igual ao

quadrado do desvio padrão:

n

i

i

n

xxs

1

22

1

)(var . (8)

Page 196: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

N

i

i

N

x

1

22 )(

var

. (9)

O coeficiente de variação (CV) para um conjunto de dados amostrais ou

população, expresso como um percentual, descreve o desvio padrão relativo à

média:

%100.x

sCV %100.

CV (10)

O desvio padrão mede a variação entre valores: valores muito próximos resultarão

em desvios padrões pequenos e vice-versa.

Consideremos três formas de dar sentido ao desvio padrão:

1. Regra empírica da amplitude: se baseia no princípio de que, para muitos

conjuntos de dados, a grande maioria (p. ex., 95%) dos valores amostrais se

localiza a dois desvios padrões da média.

Page 197: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Regra empírica (68-95-99,7) para dados com distribuição Normal: esta regra

estabelece que para conjuntos de dados com distribuição em forma de sino

(normal), aplicam-se as seguintes propriedades (Figura 18):

a. Cerca de 68% de todos os valores ficam a 1 desvio padrão da média;

b. Cerca de 95% de todos os valores ficam a 2 desvios padrões da média;

c. Cerca de 99,7% de todos os valores ficam a 3 desvios padrões da média;

3. Teorema de Chebyshev: a proporção ou fração de qualquer conjunto de dados

que se situa a K desvios padrões da média é sempre, no mínimo, 1 1/K2,

onde K > 1. Exemplo: para K = 2 podemos dizer que pelo menos 3/4 (75%) de

todos os valores se localizam a 2 desvios padrões da média.

Page 198: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 18: Regra empírica.

sx 3

sx 2 sx x sx sx 2 sx 3

99%

95%

68%

Page 199: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

13. Medidas de Posição Relativa

Há medidas que podem ser usadas para comparar valores de conjuntos de dados

diferentes ou para comparar valores dentro do mesmo conjunto de dados.

Esta seção introduz os escores z (para comparação de valores de diferentes

conjuntos de dados) e os quartis e percentis (para comparação de valores dentro do

mesmo conjunto de dados).

Um escore z ou escore padronizado pode ser encontrado convertendo-se um valor

para uma escala padronizada. Ele corresponde ao número de desvios padrões a que

se situa determinado valor de x acima ou abaixo da média:

s

xxz

(amostra)

xz (população) (11)

Assim como a mediana divide os dados em duas partes iguais, os três quartis,

representados por Q1, Q2 e Q3, dividem os valores ordenados em quatro partes

iguais:

Page 200: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. Primeiro quartil (Q1): separa os 25% inferiores valores ordenados dos 75%

superiores;

2. Segundo quartil (Q2): separa os 50% inferiores valores ordenados dos 50%

superiores, ou seja, é o mesmo que a mediana;

3. Terceiro quartil (Q3): separa os 75% inferiores valores ordenados dos 25%

superiores.

Além dos gráficos apresentados na Seção 10, um diagrama em caixa é outro

diagrama frequentemente usado. Ele é útil para revelar o centro, a dispersão e a

distribuição dos dados, além da presença de valores discrepantes (Capítulo 8).

A construção dos diagramas em caixa exige que obtenhamos primeiro o valor

mínimo, o valor máximo e os quartis. Ele consiste em uma linha que se estende do

valor mínimo ao máximo, em uma caixa com linhas no primeiro quartil, na

mediana e no terceiro quartil, como ilustrado na Figura 19 para o exemplo do

capítulo.

Page 201: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 19: Diagrama em caixa.

0

50

100

150

200

250

300

350

400

450

500

Nív

eis

de

co

tin

ina

Fumantes

491 (Máximo)

0 (Mínimo)

251,5 (Q3)

86,5 (Q1)

170 (Mediana = Q2)

Page 202: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

14. Medidas de Associação

Para duas variáveis (aleatórias) distintas é possível determinar se há alguma

dependência entre elas usando alguma medida de associação.

Por exemplo, se duas variáveis desviam de suas respectivas médias de maneira

similar, é possível dizer que elas são covariantes, ou seja, há uma correlação

estatística entre suas ‘flutuações’.

14.1. Covariância

Assuma uma base de dados com N pares (xi,yi), i = 1, 2, … , N. A covariância,

cov(x,y), entre duas variáveis aleatórias x e y é dada por:

N

i

ii yyxxN

yx1

))((1

),cov( (12)

Page 203: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Como o valor da covariância depende da escala usada para medir x e y, é difícil

usá-la como um padrão para comparar o grau estatístico de associação de

diferentes pares de variáveis.

14.2. Correlação

Para resolver este problema, um fator de escala pode ser aplicado dividindo cada

desvio individual pelo desvio padrão da respectiva variável, resultando no

coeficiente de correlação:

)().(

),cov(),(

yx

yxyx

(13)

O coeficiente de correlação, (x,y), ou medida de correlação de Pearson, mede a

dependência linear entre as variáveis. Em outras palavras, ele determina se há uma

relação (linear) entre as variáveis. Mais adiante será vista uma outra forma de se

calcular a correlação entre pares de dados amostrais.

Ele pode ser escrito em função da covariância da seguinte forma:

Page 204: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

N

j

j

N

j

j

N

i

ii

yyxx

yyxx

yx

1

2

1

2

1

)(.)(

))((

),( (14)

Note que o coeficiente de correlação entre as variáveis x e y pode assumir valores

no intervalo [1, 1].

O principal objetivo desta seção é analisar uma coleção de dados amostrais

emparelhados (às vezes chamados de dados bivariados) e determinar se parece

haver uma relação entre as duas variáveis.

Em estatística esta relação é denominada correlação. Existe uma correlação entre

duas variáveis quando uma delas está relacionada com a outra de alguma forma.

Os diagramas de dispersão apresentados na Seção 10.6 são usados para plotar

dados emparelhados (x,y) e podem descrever diferentes tipos de correlação entre

pares de pontos, como ilustrado na Figura 20.

Page 205: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

0 0.5 1 1.5 2 2.5-0.5

0

0.5

1

1.5

2

2.5

(a) Correlação positiva. (b) Forte correlação positiva.

Page 206: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

0 0.5 1 1.50

0.5

1

1.5

-0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

(c) Correlação positiva perfeita. (d) Correlação negativa.

Page 207: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

-0.5 0 0.5 1 1.5 2 2.5-0.5

0

0.5

1

1.5

2

2.5

0 0.5 1 1.50

0.5

1

1.5

(e) Forte correlação negativa. (f) Correlação negativa perfeita.

Page 208: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

-0.5 0 0.5 1 1.5 2 2.5

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

(g) Ausência de correlação. (h) Correlação não-linear.

Figura 20: Diagramas de dispersão.

Como a análise visual de diagramas de dispersão é altamente subjetiva, são

necessárias medidas mais precisas e objetivas.

Page 209: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O coeficiente de correlação linear (x,y), também chamado de correlação de

Pearson, pode ser usado para detectar padrões lineares. Ele mede a intensidade da

relação linear entre os valores quantitativos emparelhados x e y em uma amostra.

Seu valor é calculado segundo a equação abaixo:

2222),(

yynxxn

yxxynyx (15)

Nota: o coeficiente de correlação linear assume que os dados amostrais

emparelhados são aleatórios e os pares ordenados (x,y) têm uma distribuição

normal bivariada.

Como dito anteriormente, o valor de [1, 1] e pode ser interpretado da

seguinte maneira:

1. 0: ausência de correlação linear significante;

2. +1: correlação linear positiva significante;

3. 1: correlação linear negativa significante.

Page 210: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Page 211: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Análise de Grupos

15. Introdução

Uma das habilidades mais básicas dos organismos vivos é a capacidade de agrupar

objetos similares para produzir uma classificação.

A ideia de organizar coisas similares em categorias é bastante antiga e reflete a

capacidade de identificar características similares em alguns objetos, como forma,

cor, cheiro, posição, altura, etc.

Análise de grupos é um termo genérico usado para designar um amplo espectro de

métodos numéricos de análise de dados multivariados com o objetivo de descobrir

grupos ou clusters homogêneos de objetos.

O agrupamento de objetos em diferentes grupos ou clusters pode simplesmente

representar uma forma conveniente de organizar grandes bases de dados de

maneira que elas sejam mais facilmente compreendidas ou pesquisadas, como

Page 212: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

também para realizar tarefas muito mais sofisticadas como tomada de decisão em

processos críticos.

Exemplos de aplicações potenciais:

o Medicina: identificação de categorias de diagnósticos, pacientes, remédios, etc.;

o Biologia: propor taxonomia para animais e plantas;

o Marketing: identificar grupos de clientes, produtos, serviços, etc.;

o Arqueologia: investigar relações entre diferentes tipos de objetos;

o Finanças: identificar o perfil de clientes fraudadores ou transações fraudulentas,

etc.

É importante salientar que, na maioria dos casos, há diferentes agrupamentos

possíveis para a mesma base de dados e, portanto, a utilidade de um agrupamento

depende do propósito da análise.

o Por exemplo, um conjunto de carros pode ser agrupado de acordo com a cor, o

consumo de combustível, o continente de fabricação, a fábrica, o peso, etc.

Page 213: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A análise de clusters, também denominada de agrupamento de dados (data

clustering), é a organização de um conjunto de objetos (normalmente

representados como vetores de características, ou seja, pontos em um espaço

multidimensional) em grupos baseado na similaridade.

Dito de outra forma, agrupar dados é o processo de particionar um conjunto de

dados em subconjuntos (clusters) de forma que os dados em cada cluster

(idealmente) compartilhem características comuns – normalmente proximidade em

relação a alguma medida de distância.

O agrupamento de dados é uma técnica comum em análise estatística de dados que

é usada em diversas áreas, incluindo aprendizagem de máquina, mineração de

dados, reconhecimento de padrões, análise de imagens e bioinformática.

Diversas outras nomenclaturas possuem significado similar, como taxonomia

numérica, análise de clusters, reconhecimento de padrões não-supervisionado e

análise tipológica.

Page 214: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Intuitivamente, objetos pertencentes ao mesmo grupo são mais similares entre si do

que a objetos pertencentes a grupos distintos.

Um cluster pode ser definido com base na coesão interna (homogeneidade) e

isolamento externo (separação) de seus objetos (Figura 1).

Figura 21: Exemplos de grupos de dados.

A variedade de técnicas para representar os dados, avaliar a proximidade

(similaridade) entre os dados e agrupar os dados produziu uma grande riqueza de

métodos de agrupamento.

Page 215: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Embora as técnicas de agrupamento possam ser usadas em diferentes contextos, é

importante que uma quantidade mínima de hipóteses sobre os dados seja usada

durante o processo de agrupamento, para que a análise não seja polarizada***.

15.1. Componentes da Tarefa de Agrupamento

A análise de grupos normalmente envolve as seguintes etapas:

1. Pré-processamento dos dados: correspondente a preparação dos dados para

agrupamento, podendo envolver limpeza, transformação, seleção de atributos,

etc.;

2. Definição da medida de proximidade: normalmente avaliada por uma função de

distância entre pares de objetos;

3. Agrupamento: pode ser efetuado por diferentes métodos e os grupos são hard

(cada objeto pertence a um único grupo) ou fuzzy (cada objeto possui um grau de

pertinência variável a um ou mais grupos).

Page 216: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4. Abstração dos dados: é o processo de extrair uma representação simples e

compacta do conjunto de dados. Por exemplo, uma abstração típica dos dados é

a descrição dos clusters através de protótipos, ou padrões representativos dos

clusters, como seu centróide.

5. Avaliação da saída: a avaliação da saída de um algoritmo de agrupamento

depende do contexto e dos objetivos da análise. Por exemplo, em uma análise

exploratória de uma base de dados de imóveis, objetos pertencentes ao mesmo

grupo podem permitir a identificação de perfis de moradores de um determinado

bairro. A saída do algoritmo de agrupamento também pode ser avaliada em

relação à validade do agrupamento; o que pode ser feito através de uma

avaliação externa, ou seja, os grupos encontrados são comparados com uma

estrutura conhecida a priori; uma avaliação interna, ou seja, tenta-se determinar

se a estrutura encontrada pelo algoritmo é apropriada aos dados; e uma

Page 217: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

avaliação relativa, que compara duas estruturas avaliando o mérito relativo de

cada uma delas.

É importante salientar que nenhuma técnica de agrupamento é universalmente

aplicável e, além disso, diferentes técnicas podem permitir a extração de diferentes

informações de uma mesma base de dados.

Isso é consequência do fato de que muitos algoritmos assumem, implicitamente,

características específicas para as bases de dados.

Para ilustrar, considere o problema apresentado na Figura 22. Este problema,

conhecido como problema das duas espirais, não é resolvido corretamente por

grande parte dos métodos de agrupamento quando são usadas coordenadas

retangulares (apresentado na figura) para representar os dados. Porém, quando são

usadas coordenadas polares para os dados o problema torna-se facilmente

resolvível pela maioria dos algoritmos de agrupamento.

Page 218: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 22: Problema das duas espirais representado em coordenadas retangulares.

É essencial, portanto, que o usuário de um algoritmo de agrupamento tenha um

bom conhecimento do método a ser empregado, saiba detalhes do processo de

aquisição e pré-processamento dos dados, e tenha um bom conhecimento de

domínio.

Page 219: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

15.2. Complexidade da Tarefa de Agrupamento

A maioria dos algoritmos de agrupamento se concentra em obter k grupos de

objetos semelhantes de acordo com algum critério pré-estabelecido.

O número de possibilidades de se classificar N objetos em k grupos é dado por:

N(N,k) =

k

i

Ni iki

k

k 0

)1(!

1 (1)

Por exemplo, existem N(25,5) = 2.436.684.974.110.751 formas de classificar 25

objetos em 5 grupos.

Dessa maneira, pode-se perceber a complexidade de se agrupar corretamente uma

base de dados de 25 objetos em 5 grupos.

Ao considerar que o valor de k é desconhecido, o número total de maneiras de se

agrupar N objetos em k grupos é:

N

k

kNN1

),( (2)

Page 220: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

De uma maneira mais formal, o problema de se encontrar uma solução ótima para

a separação de N objetos em k grupos é NP-difícil e, devido ao fato de que o

número de separações possíveis desses N objetos em k grupos aumenta

aproximadamente na razão kN/k!, a tentativa de se encontrar uma solução ótima

globalmente é usualmente inviável sob o ponto de vista computacional.

Por outro lado, a escolha do valor de k é uma tarefa complicada, pois alguns desses

valores não implicam em partições naturais.

Nesse sentido, pode-se rodar o algoritmo de agrupamento diversas vezes, variando-

se o valor de k, para depois escolher a solução cujas características se parecem

melhores ou, ainda, aquelas soluções que forneçam a interpretação mais

significativa dos dados. Esta estratégia frequentemente assume um certo

conhecimento de domínio.

Uma alternativa se constitui em escolher a melhor solução – valor mais adequado

de k – de acordo com algum critério numérico.

Page 221: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A determinação do número ótimo de grupos em um conjunto de dados é um dos

mais difíceis aspectos do processo de agrupamento.

15.3. Agrupamento x Classificação

É importante perceber a diferença entre agrupamento e classificação de dados.

Na classificação os dados de entrada do algoritmo são rotulados, sendo que a

tarefa do algoritmo de classificação é identificar a classe à qual um novo dado,

ainda não visto, pertence.

Normalmente, os dados rotulados são apresentados ao algoritmo de classificação

(ou estimação) para que ele seja treinado, ou seja, para criar um ‘modelo’ capaz de

classificar (estimar) corretamente novos dados.

No caso do agrupamento, o problema consiste em agrupar um conjunto de dados

não-rotulados em grupos (ou clusters) que tenham algum significado ou utilidade

prática.

Page 222: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

De certa forma, os rótulos dos dados estão associados aos grupos, porém eles serão

obtidos apenas a partir do algoritmo de agrupamento e não serão usados durante o

processo de treinamento do algoritmo.

16. Medidas de Proximidade

Um elemento central no processo de identificação de grupos é a avaliação da

‘proximidade’ entre objetos.

A maioria dos métodos de agrupamento assume, como ponto de partida, uma

matriz de dados de dimensão N L que representa N objetos de dimensão L cada:

NLN

L

xx

xx

1

111

, (3)

onde cada objeto da base de dados está representado por um vetor linha xi de

dimensão L, i = 1, ... , N.

Page 223: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Uma outra estrutura de dados muito comum é a matriz de dissimilaridade, com

dimensão N N, na qual cada elemento da matriz corresponde a uma medida

quantitativa da proximidade (ou equivalentemente da dissimilaridade d(i,j) ou dij)

entre pares de objetos:

0)1,()2,()1,(

0

0)2,3()1,3(

0)1,2(

0

NNdNdNd

dd

d

(4)

A matriz de dados também é denominada de matriz de dois-modos (as linhas

representam elementos distintos das colunas), enquanto a matriz de dissimilaridade

também é denominada de matriz de um-modo (ambas linhas e colunas representam

dissimilaridade).

Grande parte dos algoritmos de agrupamento utiliza medidas de dissimilaridade

para avaliar, indiretamente, a proximidade entre objetos.

Page 224: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Para isso, é preciso identificar primeiramente se a base de dados possui dados do

tipo categórico, numérico ou ambos.

16.1. Medidas de Similaridade para Dados Categóricos

Quando os atributos da base de dados são categóricos, medidas de similaridade são

normalmente empregadas.

Estas medidas costumam ser escalonadas para o intervalo [0,1], embora

ocasionalmente também são expressas em valores percentuais 0100.

Medidas de Similaridade para Dados Binários

O tipo mais comum de dados categóricos ocorre quando todas as variáveis são

binárias e a medida de distância mais comumente utilizada para este tipo de dado é

a chamada distância Hamming H:

L

k

jkik

kk

xxH

1 casos outros0

se1δonde,δ , (5)

Page 225: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Outras medidas de similaridade importantes neste caso são expressas como função

das diferenças entre os L atributos do objeto, conforme apresentado na Tabela 12.

Tabela 12: Contagem dos resultados binários da comparação de dois objetos.

Resultado Atributo k do objeto i

1 0 Total

Atributo k do

objeto j

1 a b a + b

0 c d c + d

Total a + c b + d p = a + b + c + d

Tabela 13: Medidas de similaridade para dados binários.

Medida Fórmula

S1: Matching coefficient sij = (a + d)/(a + b + c + d)

S2: Coeficiente de Jaccard sij = (a)/(a + b + c)

S3: Rogers & Tanimoto sij = (a + d)/[(a + 2(b + c) + d)]

S4: Sokal & Sneath sij = a/[(a + 2(b + c))]

S5: Gower & Legendre sij = (a + d)/[a + 1/2(b + c) + d]

S6: Gower & Legendre 2 sij = a/[a + 2(b + c)]

Page 226: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Observando as medidas de similaridade da Tabela 13 é possível perceber algumas

de suas características e diferenças relevantes:

o As medidas S1, S3 e S5 são coeficientes simétricos, no sentido de que tratam as

igualdades (matching) positiva, a, e negativa, d, da mesma forma.

o As medidas S2, S4 e S6 desconsideram um matching zero-zero (d) e, portanto, a

presença de um atributo em comum entre os objetos é considerada, enquanto a

ausência comum não.

Como usual em análise de dados, a opção por uma ou outra medida dependerá do

contexto e, possivelmente, de testes preliminares.

Medidas de Similaridade para Dados Nominais

A medida de similaridade mais simples para dados nominais é um coeficiente de

similaridade sij = 1 entre os objetos i e j indicando que eles são idênticos. Um valor

sij = 0 indica que eles diferem maximamente para todas as variáveis.

Page 227: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Nota: uma forma trivial de converter similaridade em distância dij é fazer dij =

1 sij.

Apesar de simples esta medida é pouco usada, pois ela assume que uma diferença

em um único atributo da base implica que os objetos são completamente

diferentes, ou seja, implica em ausência de similaridade.

Outra forma de calcular a similaridade é usando a dissimilaridade entre dois

objetos i e j, que pode ser computada através de uma comparação simples atributo

a atributo:

dij = (L m)/L, (6)

onde m é o número de matches (ou seja, de variáveis para as quais i e j possuem o

mesmo valor) e L é o número total de atributos. Pesos podem ser especificados

para aumentar o efeito de m ou para especificar ponderações maiores aos matches

de atributos com um grande número de valores distintos.

Page 228: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Medidas de Similaridade para Dados Ordinais

Um atributo ordinal se assemelha a um atributo nominal, exceto pelo fato de que o

atributo ordinal está ordenado por uma sequência lógica.

Seja k um atributo de um conjunto de variáveis ordinais descrevendo N objetos. O

cálculo da dissimilaridade em relação a k envolve os seguintes passos:

1. Assuma que o valor de k para o i-ésimo objeto é xik e que k possui Mk valores

ordenados, representando o ranking 1, ... , Mk. Substitua cada xik pelo seu

ranking correspondente, rik {1, ... , Mk}.

2. Como cada atributo ordinal pode possuir uma diferente quantidade de valores, é

normalmente necessário mapear o domínio de cada atributo no intervalo [0,1]

de forma que cada atributo possua o mesmo peso. Isso pode ser feito

substituindo o ranking rik do k-ésimo atributo do i-ésimo objeto por:

1

1

k

ikik

M

rz (7)

Page 229: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

3. Feito isso, a dissimilaridade entre dois objetos pode ser calculada empregando

qualquer medida de distância entre dados contínuos a serem descritas na

próxima seção.

Medidas de Similaridade para Dados com Diferentes Tipos de Atributos

Até agora foram descritas medidas de similaridade ou distância para objetos cujos

atributos são todos do mesmo tipo.

Entretanto, a maioria das bases de dados reais possui atributos híbridos, ou seja,

diferentes tipos de atributos (binários, nominais, ordinais, etc.) são usados para

descrever cada objeto.

Uma abordagem para tratar este tipo de base de dados é separar cada tipo de

atributo e fazer uma análise isolada para cada um deles. Apesar de factível, esta

abordagem pode fornecer resultados inconsistentes, pois cada atributo pode ou não

possuir um papel discriminatório diferente na base.

Page 230: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Para combinar todos os tipos de variáveis em uma única medida de distância (a ser

usada, por exemplo, para construir uma matriz de distâncias) no intervalo [0,1],

podemos proceder da seguinte forma:

L

k

k

ij

L

k

k

ij

k

ij

ij

d

d

1

1

, (8)

onde o parâmetro ijk = 0 se: (1) xik ou xjk estiver ausente, ou (2) xik = xjk = 0 e o

atributo k for binário; caso contrário ijk = 1. A contribuição do atributo k para a

dissimilaridade entre i e j, dijk, é calculada dependendo do tipo do atributo:

o Se k é binário ou nominal: dijk = 0 se xik = xjk; caso contrário, dij

k = 1.

o Se k é ordinal, calcule os rankings rik e zik e trate zik como um atributo real.

Assim, a dissimilaridade entre objetos pode ser calculada mesmo quando os

atributos são de tipos diferentes.

Page 231: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 9: Para a base de dados do Clima (Tabela 4), faça:

a) Calcule a distância do primeiro objeto da base a todos os demais utilizando a

Eq. (6).

b) Transforme todos os atributos nominais e ordinais da base em atributos

numéricos utilizando a Eq. (7).

c) Usando a distância Euclidiana calcule a distância do primeiro objeto da base a

todos os demais.

16.2. Medidas de Dissimilaridade e Distância para Dados Contínuos

Quando todos os atributos são contínuos, a proximidade entre objetos é

tipicamente quantificada por métricas ou medidas de distância, sendo que uma

medida de distância é considerada uma métrica se ela satisfaz a desigualdade

triangular:

dij + dim djm (9)

para pares de objetos (i,j), (i,m) e (j,m).

Page 232: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Equivalentemente ao caso de atributos categóricos, muitas medidas de distância

foram propostas para a criação das matrizes de dissimilaridade de dados contínuos,

como resumido na Tabela 14.

Tabela 14: Medidas de dissimilaridade para atributos contínuos.

Medida Fórmula

D1: Distância Euclidiana

2/1

1

2)(

L

k

jkikij xxd

D2: Distância de Manhattan

L

k

jkikij xxd1

||

D3: Distância de Minkowski )1( ,)(

/1

1

rxxd

rL

k

r

jkikij

D4: Distância de Canberra

0ou 0|)||/(|||

00

1

jkik

L

k

jkikjkik

jkik

ij xxxxxx

xx

d

Page 233: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

D5: Correlação de Pearson

L

k

jjk

L

k

iik

L

k

jjkiik

ij

xxxx

xxxx

1

2

1

2

1

)(.)(

))((

D6: Medida do Cosseno

L

k

jk

L

k

ik

L

k

jkik

ij

xx

xx

1

2

1

2

1

.

As medidas de dissimilaridade apresentadas podem ser divididas em medidas de

distância (D1 a D4) e medidas tipo correlação (D5 e D6).

A medida mais comumente utilizada é a distância Euclidiana (D1), pois possui a

propriedade de representar a distância física entre pontos em um espaço L-

dimensional. Também é conhecida como a norma l2.

Page 234: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A distância de Manhattan também é conhecida como distância city block, taxicab e

rectilinear, pois avalia a distância percorrida em uma configuração de quadras de

cidades (como Manhattan).

Cabe ressaltar que a distância de Manhattan e a distância Euclidiana são casos

particulares da distância de Minkowski para r = 1 e r = 2, respectivamente.

Tanto a correlação quanto a medida do cosseno estão definidas no intervalo

1 ij 1, com o valor 1 refletindo a relação mais forte possível e o valor 1

refletindo a relação mais fraca possível. Ambas podem ser facilmente transladadas

para o intervalo [0, 1] da seguinte forma:

ij = (1 ij)/2. (10)

17. Tipos de Métodos de Agrupamento

Há diversos algoritmos de agrupamento na literatura e a escolha de um deles

depende da aplicação e do tipo de dados disponíveis.

Page 235: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Considere uma base de dados X = {x1, x2, ..., xN} com N objetos, onde xj, j = 1, ...,

N, corresponde a um vetor de dados com L atributos. Uma partição dos dados é

uma coleção C = {C1, C2, ..., Ck} de k subconjuntos, Ci , tal que C1 C2

... Ck = X.

De forma abrangente os métodos podem ser divididos em:

1. Hierárquicos: os métodos hierárquicos criam uma decomposição hierárquica

dos dados. Estes métodos podem ser aglomerativos ou divisivos, baseado em

como o processo de decomposição é efetuado.

a. Os métodos aglomerativos começam com cada objeto pertencendo a um

grupo e unem sucessivamente objetos em grupos de acordo com a

proximidade entre eles até que um critério de parada seja atingido (por

exemplo, houver um único grupo contendo todos os objetos).

b. Os métodos divisivos começam com todos os objetos fazendo parte do

mesmo grupo e particionam sucessivamente os grupos em grupos

Page 236: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

menores, até que um critério de parada seja atingido (por exemplo, cada

objeto pertença a um grupo distinto);

2. Particionais: dado um conjunto com N objetos, um método particional constrói

k partições dos dados, sendo que cada partição representa um cluster (k N).

Dado o número k de partições, um método particional cria uma partição inicial e

emprega um algoritmo de realocação iterativa que tem por objetivo melhorar o

particionamento movendo objetos entre grupos.

3. Não-Exclusivos (overlapping): dado um conjunto com N objetos, os métodos

não-exclusivos permitem que um objeto pertença completamente (soft) ou

parcialmente (fuzzy) a mais de um grupo simultaneamente.

Outras características dos algoritmos também podem ser usadas para classificá-los

como:

Page 237: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. Monotéticos x Politéticos: corresponde ao uso sequencial ou simultâneo dos

atributos no processo de agrupamento. A maioria dos algoritmos é politética, ou

seja, todos os atributos são usados para calcular a distância entre os objetos;

2. Hard x Fuzzy: em um agrupamento hard cada objeto pertence a um único grupo,

Ci Cj = ; enquanto um agrupamento fuzzy atribui graus de pertinência aos

grupos para cada um dos objetos da base, neste caso a condição Ci Cj = é

relaxada;

3. Determinístico x Estocástico: métodos determinísticos apresentam sempre o

mesmo agrupamento, independentemente de parâmetros do algoritmo e/ou

condição inicial; os algoritmos estocásticos podem apresentar diferentes

soluções dependendo dos parâmetros e/ou condição inicial. Obs.: outros fatores

podem influenciar, como a ordem de apresentação dos objetos.

Page 238: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

18. Algoritmos de Agrupamento

Nesta seção serão abordados alguns dos métodos mais comuns de agrupamento,

sendo quatro deles particionais e os demais hierárquicos.

18.1. Algoritmos Particionais

Dada uma base de dados contendo N objetos e k o número de clusters a serem

formados, um método particional organizará os objetos em k partições (k N),

sendo que cada partição representa um cluster.

Os clusters são formados para otimizar um critério objetivo de particionamento,

normalmente denominado de função de similaridade, como a distância, de maneira

que objetos em um cluster sejam ‘similares’ e objetos de clusters distintos sejam

‘dissimilares’.

Os algoritmos particionais mais conhecidos são o k-means (k-médias), o k-

medoides e suas variações.

Page 239: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Algoritmo k-Means

O algoritmo k-means toma como entrada o parâmetro k e particiona o conjunto de

N objetos em k clusters de forma que a similaridade intracluster seja alta e a

similaridade intercluster seja baixa.

A similaridade intracluster é avaliada considerando o valor médio dos objetos em

um cluster, que pode ser visto como o centro de gravidade ou centróide do cluster.

Algoritmo: k-means. Algoritmo k-means para particionamento baseado no

valor médio dos objetos do grupo. Entrada: Número k de clusters e base de dados contendo N objetos

Saída: Um conjunto de k clusters que minimiza o critério de erro quadrático.

1. Escolha k objetos da base aleatoriamente para compor os centros dos clusters

iniciais

2. Repita

a. (re)aloque cada objeto ao cluster do objeto mais similar a ele com base

no valor médio dos objetos no cluster (centróide)

b. atualize os centróides, ou seja, calcule a média dos objetos em cada

cluster

3. Até que não haja mudanças significativas

Page 240: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O processo iterativo do algoritmo k-means é repetido até que a função objetivo

convirja. Normalmente esta função é definida como:

K

iCx i

i

E1

2|| cx , (11)

onde E é a soma dos erros quadráticos para todos os objetos da base, x é um objeto

da base e ci é o centróide do cluster Ci.

Algoritmo k-Medoides

Um Medoide pode ser definido como o objeto de um cluster com a menor

dissimilaridade média a todos os outros objetos do cluster, ou seja, é o objeto mais

centralmente localizado do cluster.

O algoritmo k-medoides é um método de agrupamento relacionado ao k-means.

Ambos são algoritmos particionais que visam minimizar o erro quadrático entre os

objetos de um grupo e seu protótipo (no caso do k-médias o centróide do grupo e

do k-medoides o medoide do grupo).

Page 241: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Uma diferença entre os métodos é que o k-medoides escolhe objetos da base como

os centros dos grupos, enquanto o k-means calcula o centro do grupo a partir dos

objetos do grupo.

O algoritmo k-medoides é mais robusto a ruído e outliers do que o k-means, pois o

centro do grupo será necessariamente um objeto da base e, portanto, ruídos e

outliers não influenciarão tão fortemente a definição do centro do grupo.

Algoritmo: k-medoides. Algoritmo k-medoides típico para particionamento

baseado nos medoides dos grupos. Entrada: Número k de clusters e base de dados contendo N objetos

Saída: Um conjunto de k clusters que minimiza a soma da dissimilaridade de

todos os objetos ao medoide mais próximo.

1. Escolha k objetos da base aleatoriamente para compor os medoides dos

clusters iniciais

2. Repita

a. aloque cada objeto restante ao cluster com o medoide mais próximo;

b. selecione aleatoriamente um objeto x’ que não é um medoide

c. calcule o custo total S de mudar um medoide inicial por x’

d. se S < 0 então substitua o medoide inicial por x’

3. Até que não haja mudanças significativas

Page 242: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 10: Para a base de dados da Tabela 15 selecione o primeiro e o sexto objeto

para serem os protótipos iniciais do k-means e do k-medoides e execute uma iteração

completa de cada um desses algoritmos. Comente.

Tabela 15: Base de dados para agrupamento.

x y Grupo

1.5 0.1 Iris-setosa

1.3 0.2 Iris-setosa

1.5 0.2 Iris-setosa

1.3 0.3 Iris-setosa

1.3 0.3 Iris-setosa

4.3 1.3 Iris-versicolor

4.4 1.4 Iris-versicolor

4.8 1.4 Iris-versicolor

5.0 1.7 Iris-versicolor

Algoritmo Fuzzy k-Means

O método fuzzy k-means consiste em um algoritmo de agrupamento, que se

apresenta como uma extensão do algoritmo k-means.

Page 243: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

No algoritmo fuzzy k-means cada elemento está associado a uma função de

pertinência que indica o grau de pertinência do elemento com relação a um

determinado grupo.

O algoritmo trabalha a partir de um procedimento iterativo no qual os objetos são

agrupados em k grupos da seguinte maneira:

o Dado o número de grupos desejados, k, são calculados os centros de cada grupo

com base na média dos atributos dos objetos;

o Num próximo passo os objetos são realocados entre os grupos de acordo com a

similaridade entre eles. A medida de similaridade pode ser qualquer uma das

medidas de distância discutidas anteriormente, sendo que a mais comum é a

distância Euclidiana.

Para cada objeto x da base há um valor uk(x) correspondente a seu grau de

pertinência ao grupo k. Por convenção, a soma dos graus de pertinência de um

objeto a todos os grupos da base deve ser 1:

Page 244: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

i ui(x) = 1, i = 1, 2, ... , k. (12)

O centróide ci de cada grupo i é a média de todos os objetos do grupo, ponderada

pelos seus respectivos graus de pertinência ao grupo:

x

x

x

xxc

m

i

m

i

iu

u

)(

)(

(13)

O grau de pertinência está relacionado ao inverso da distância do objeto ao grupo:

),(

1)(

xcx

i

id

u , (14)

onde d(,) é uma das medidas de distâncias discutidas anteriormente.

Os valores de pertinência são então normalizados e fuzzificados através do

parâmetro real m > 1, tal que sua soma seja 1.

j

m

j

i

i

d

d

u

)1(

2

),(

),(

1)(

xc

xc

x

, (15)

Page 245: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

onde 1 m , é um coeficiente que vai ponderar o quanto o grau de

pertinência influencia na medida de distância definida. Os valores utilizados

normalmente estão no intervalo [1, 30] e apenas experimentalmente pode-se

defini-lo. Para a maioria dos casos 1 m 3.

O funcionamento do algoritmo fuzzy k-means é muito similar ao k-means e pode

ser descrito como abaixo.

Algoritmo: fuzzy k-means. Algoritmo fuzzy k-means para particionamento

fuzzy baseado no valor médio dos objetos do grupo.

Entrada: Número k de clusters e base de dados contendo N objetos

Saída: Um conjunto de k clusters que minimiza o critério de erro quadrático. 1. Atribua valores de pertinência aleatórios para cada objeto em relação a cada

cluster, respeitando a Eq. (12).

2. Repita

a. Calcule o centróide de cada cluster utilizando a Eq. (13)

b. Calcule o grau de pertinência de cada objeto a cada cluster (Eq. (15)).

3. Até que não haja mudanças significativas

Page 246: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Notas: O algoritmo das k-médias, assim como o fuzzy k-médias, possuem os

seguintes problemas: estão sujeitos a ótimos locais; o resultado depende da

condição inicial; e o valor de k precisa ser definido a priori.

Árvore Geradora Mínima (Minimal Spanning Tree)

A árvore geradora mínima (MST – minimal spanning tree) é um artifício muito

eficiente quando utilizada para clusterização.

Para entender a MST, vamos a algumas definições.

o Uma árvore é uma árvore geradora se ela é um subgrafo contendo todos os nós

do grafo.

o Uma árvore geradora mínima de um grafo é uma árvore geradora com peso

mínimo, onde o peso de uma árvore é definido como sendo a soma dos pesos de

seus arcos.

o Um caminho minimax entre um par de nós é aquele que minimiza o custo (peso

máximo do caminho), sobre todos os caminhos. A MST sempre percorre os

Page 247: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

caminhos minimax, forçando a conexão entre dois nós mais próximos antes de

sair em busca de outro nó.

A MST só pode ser visualizada em casos onde os dados de treinamento possuem

até 3 dimensões.

Em situações em que o número de atributos da base supera esse valor pode-se

recorrer a um histograma dos pesos das conexões da árvore. Muitas vezes é

possível, através do histograma, identificar os ramos que apresentam um peso

significativamente maior que os da sua vizinhança, revelando sinais de

inconsistência.

As conexões inconsistentes podem então ser removidas para a separação dos

grupos.

Pelo histograma é possível visualizar também a quantidade de grupos, que

corresponde ao número de vales formados pelos ramos inconsistentes, ou ao

número de picos mais um.

Page 248: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

De uma forma geral, dado um conjunto de pontos (dados), uma árvore geradora

mínima é construída ligando-se alguns desses pontos e aqueles considerados

inconsistentes são removidos da árvore, resultando em um grafo desconexo; isto é,

um conjunto de subgrafos. Cada um dos subgrafos resultantes corresponde a um

cluster.

Esta abordagem é muito poderosa porque não só define os membros de cada

cluster, mas também determina automaticamente o número de clusters. Esta

potencialidade é apresentada por poucas alternativas.

Existem várias formas de medir a inconsistência dos ramos da MST, sendo que

normalmente eles consideram as densidades e distâncias relativas dos clusters,

preservando assim a estrutura inerente da distribuição espacial dos dados. Este

método pode ser descrito da seguinte maneira.

o Depois de construir a MST para uma certa base de dados, para cada ramo da

árvore, suas duas extremidades são analisadas até uma profundidade p. Isto

Page 249: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

significa que a média (med) e o desvio padrão () do comprimento de todos os

ramos que estão a p passos de cada extremidade são calculados.

o Um ramo é considerado inconsistente se seu comprimento (l) for maior que a

média mais d desvios padrões. Isto é, se l > (med + d.), então o ramo é

considerado inconsistente.

Este critério faz da MST uma técnica de agrupamento por densidade (density

search technique). Ela identifica clusters que são regiões contínuas do espaço

contendo uma densidade relativamente alta de pontos, separadas entre si por

regiões contendo uma densidade relativamente baixa.

Clusters descritos desta forma são chamados clusters naturais.

Exemplo: A Figura 23 mostra a presença de dois clusters, um marcado com (I),

com alta densidade, e o outro com (II), com baixa densidade de dados. Os números

próximos às conexões correspondem aos seus comprimentos. A média med dos

ramos mais próximos com profundidade p = 2 do nó A é med = ¼ (5 + 5 + 5 + 3) =

Page 250: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4,5 e o desvio padrão é Assim, a média mais dois desvios padrões é med +

(d.) = 4,5 + 21 = 6,5. Portanto, de acordo com o critério descrito e com os

parâmetros sugeridos p = 2 e d = 2, o ramo AB seria considerado inconsistente e os

dois clusters corretamente separados.

Figura 23: Identificação de grupos utilizando a árvore geradora mínima.

Page 251: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Há vários algoritmos que podem ser utilizados para gerar a MST para um

determinado conjunto de dados. Descreveremos neste tópico o algoritmo de Prim,

que busca uma árvore geradora mínima para um grafo conexo ponderado.

O algoritmo de Prim aumenta continuamente o tamanho da árvore, partindo de um

único vértice até que a árvore cubra todos os vértices do grafo (ver Figura 24).

Algoritmo: Prim. Algoritmo de Prim para a construção de árvores geradoras

mínimas.

Entrada: Um grafo conexo ponderado com arcos E e vértices V. Obs.: este

grafo é montado da seguinte forma: cada nó corresponde a um objeto da base

de dados e os arcos ligando os nós correspondem à distância entre os nós.

Saída: A árvore geradora mínima (MST) composta por Vnovo e Enovo. 1. Inicialize Vnovo = {x}, onde x é um objeto arbitrário da base (nó) obtido a

partir do conjunto V. Enovo = {};

2. Repita

a. Escolha um arco (u,v) E com peso mínimo tal que u Vnovo e v

Vnovo (se há múltiplos nós com o mesmo peso, escolha um

arbitrariamente).

b. Adicione v a Vnovo e (u,v) a Enovo.

3. Até que Vnovo = V.

Page 252: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Figura 24: Construção da MST usando o algoritmo de Prim.

Page 253: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 11: Para a MST da Figura 23 verifique a inconsistência do nó B.

18.2. Algoritmos Hierárquicos

No agrupamento hierárquico os dados não são particionados em um número pré-

definido de grupos em um único passo.

Ao invés disso, o agrupamento consiste em uma série de partições que vão desde

um único grupo contendo todos os objetos até N grupos, cada um contendo um

único objeto.

Estas técnicas podem ser divididas em aglomerativas, que efetuam uma série de

fusões sucessivas dos N objetos em grupos e divisivas, que separam os N objetos

sucessivamente em grupos mais refinados.

Os métodos hierárquicos sofrem do problema que as divisões ou fusões, uma vez

efetuadas, não podem ser desfeitas.

Elas operam com uma matriz de proximidade entre os dados.

Page 254: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

O resultado da aplicação de um algoritmo hierárquico normalmente é um

dendrograma representando o agrupamento dos dados.

Como os métodos aglomerativos sempre reduzem os dados a um único cluster

contendo todos os objetos e os métodos divisivos particionam os dados em N

grupos com um objeto cada, o usuário do sistema precisa definir o ponto de corte

do dendrograma resultante. A questão difícil que precisa ser respondida é: Qual o

número de grupos a ser considerado?

A maioria dos métodos aglomerativos são variações dos métodos single-link e

complete-link, sendo estes também os mais populares.

o A diferença entre eles está na forma com que é calculada a similaridade entre os

clusters. No single-link a distância entre dois grupos é o mínimo da distância

entre todos os pares de objetos dos grupos, e no complete-link a distância entre

dois grupos é o máximo das distâncias entre os pares de objetos dos dois grupos.

Page 255: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Em ambos os casos, dois grupos são unidos para formar um grupo maior com

base na mínima distância entre os pares.

Single-link

O single-link (ou vizinho mais próximo) é um método para calcular a distância

entre grupos para análise hierárquica de grupos.

Neste método, a distância (proximidade) entre dois grupos é calculada como a

distância entre os dois elementos mais próximos nos dois clusters.

Matematicamente, a função de ligação – a distância D(C1,C2) entre os clusters C1 e

C2 – é descrita pela seguinte expressão:

D(C1,C2) = min(d(x1,x2)), (16)

onde d(x1,x2) é a distância entre os objetos x1 e x2, e C1 e C2 são dois grupos.

O seguinte algoritmo é um método aglomerativo que elimina linhas e colunas da

matriz de similaridade conforme clusters vão sendo fundidos.

Page 256: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A matriz de proximidades contém todas as distâncias d(i,j) entre os objetos e os

agrupamentos vão recebendo números em sequência 0, 1, ... , N 1, sendo L(k) o

nível do k-ésimo cluster. Um cluster com um número de sequência m é denotado

por (m) e a proximidade entre os clusters (r) e (s) é denotada por d[(r),(s)].

O algoritmo possui os seguintes passos:

1. Inicie com o agrupamento disjunto de nível L(0) = 0 e número m = 0.

2. Encontre o par de grupos menos dissimilar, por exemplo, (r) e (s), de acordo

com d[(r),(s)] = min d[(i),(j)], onde o mínimo é tomado sobre todos os pares de

grupos existentes.

3. Incremente o número da sequência m = m + 1. Una os grupos (r) e (s) em um

único grupo formando o próximo agrupamento m. Defina o nível deste

agrupamento como sendo L(m) = d[(r),(s)].

4. Atualize a matriz de proximidade D eliminando a linha e a coluna

correspondente aos clusters (r) e (s) e adicionando uma linha e coluna

Page 257: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

correspondente ao novo cluster formado. A proximidade entre o novo cluster

(r,s) e o cluster antigo (k) é definida como sendo d[(k),(r,s)] = min {d[(k),(r)],

d[(k),(s)]}.

5. Se todos os objetos estiverem em um único cluster, então pare; senão, vá para o

Passo 2.

Complete-Link

O algoritmo complete-link (ou vizinho mais distante) opera de maneira oposta ao

single-link, no sentido de que a proximidade entre dois grupos é calculada como a

distância entre os dois elementos mais distantes nos dois clusters.

Exemplo: Dada a matriz de distâncias D abaixo, a Figura 25 apresenta o

dendrograma gerado por estes dois métodos.

Page 258: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

03589

04910

056

02

0

D

.

Para o algoritmo single-link temos as seguintes interações:

Iteração 0: par de grupos menos dissimilar (2) e (1) com d(1,2) = 2; m = 1.

d(3,12) = min{d(3,1), d(3,2)} = 5.

d(4,12) = min{d(4,1), d(4,2)} = 9.

d(5,12) = min{d(5,1), d(5,2)} = 8.

03589

04910

056

0

0

5

4

3

2

1

2

D

058

049

05

0

5

4

3

12

3

D

Page 259: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Iteração 1: par de grupos menos dissimilar (4) e (5) com d(4,5) = 3; m = 2.

d(12,45) = min{d(12,4), d(12,5)} = 8.

d(3,45) = min{d(3,4), d(3,5)} = 4.

0358

049

05

0

5

4

3

12

D

08

05

0

45

3

12

4

D

Iteração 2: par de grupos menos dissimilar (3) e (45) com d(3,45) = 4; m = 3.

d(12,345) = min{d(12,3), d(12,45)} = 5.

08

05

0

45

3

12

4

D

05

0

345

12D

Page 260: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1 2 3 4 5

2

2.5

3

3.5

4

4.5

5

1 2 3 4 5

2

3

4

5

6

7

8

9

10

Figura 25: Métodos hierárquicos aplicados a matriz de dados D. (a) Single-link. (b) Complete-

link.

EPC 12: Utilizando o algoritmo single-link construa o dendrograma para as matrizes

de distância abaixo:

Page 261: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

a)

08529

0491

057

02

0

D

b)

0

150

14130

1211100

98760

543210

D

EPC 13: Aplique todos os algoritmos de agrupamento discutidos na base de dados

do Clima (Tabela 4). Para aqueles algoritmos que não determinam k

automaticamente, utilize os seguintes valores: k = {2, 3}.

Page 262: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 16: Base de dados do Clima.

Tempo Temperatura Umidade Vento Jogar

Ensolarado Quente Alta Não Não

Ensolarado Quente Alta Sim Não

Fechado Quente Alta Não Sim

Chuvoso Branda Alta Não Sim

Chuvoso Fria Normal Não Sim

Chuvoso Fria Normal Sim Não

Fechado Fria Normal Sim Sim

Ensolarado Branda Alta Não Não

Ensolarado Fria Normal Não Sim

Chuvoso Branda Normal Não Sim

Ensolarado Branda Normal Sim Sim

Fechado Branda Alta Sim Sim

Fechado Quente Normal Não Sim

Chuvoso Branda Alta Sim Não

Page 263: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

19. Agrupamento Ótimo de Dados

Sob uma perspectiva de otimização, o agrupamento pode ser considerado um tipo

específico de problema NP-hard (Seção 15.2).

Essa característica tem estimulado o desenvolvimento de algoritmos eficientes de

busca e otimização para resolver o problema de agrupamento de dados, incluindo a

pesquisa sobre métodos heurísticos de propósito geral.

Particularmente, os algoritmos evolutivos se constituem em heurísticas

amplamente aplicadas e, muitas vezes, efetivas na solução de problemas NP-hard,

fornecendo soluções quase-ótimas para esta classe de problemas em tempo

aceitável.

Sob essa perspectiva, uma vasta gama de algoritmos evolutivos para agrupamento

de dados tem sido proposta na literatura e estes são baseados na otimização de

alguma função objetivo, conhecida como função de custo ou função de fitness.

Page 264: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Os algoritmos evolutivos essencialmente evoluem soluções de agrupamento

através de operadores que usam regras probabilísticas para processar partições de

dados amostradas a partir de um espaço de busca.

o De forma simples, partições com melhores valores de fitness possuem maiores

probabilidades de serem amostradas.

o Assim, a busca evolutiva é polarizada pelas melhores soluções de agrupamento e

tende a realizar uma exploração mais eficiente do espaço de busca do que os

métodos tradicionais de amostragem aleatória, por exemplo, múltiplas

inicializações do k-means.

o Além disso, a utilização de uma função de custo explícita permite,

diferentemente do caso dos algoritmos apresentados anteriormente, avaliar a

qualidade relativa das soluções de agrupamento sendo propostas e melhorá-las

iterativamente visando maximizar a performance do algoritmo de agrupamento

sob a ótica da função-objetivo proposta.

Page 265: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Essa seção faz uma revisão de alguns algoritmos evolutivos para agrupamento de

dados, considerando os seguintes elementos:

o Representação das soluções candidatas (codificação);

o Operadores;

o Função de fitness.

Para ilustrar os algoritmos em estudo, considere a seguinte base de dados

hipotética:

x1 = (1,1), C1.

x2 = (1,2), C1.

x3 = (2,1), C1.

x4 = (2,2), C1.

x5 = (10,1), C2.

x6 = (10,2), C2.

x7 = (11,1), C2.

x8 = (11,2), C2.

x9 = (5,5), C3.

x10 = (6,6), C3.

Page 266: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

19.1. Codificação

Os três principais tipos de codificação propostos na literatura para agrupamento de

dados com algoritmos evolutivos são: binário, inteiro e real.

o Codificação binária: cada solução de agrupamento (partição) é normalmente

representada por uma cadeia binária de comprimento N, sendo N a quantidade

de objetos da base. Cada posição da cadeia corresponde a um objeto da base e o

valor do gene i é 1 se o objeto i for um protótipo e 0 caso contrário. Esse tipo de

representação leva a um algoritmo do tipo baseado em medoides, pois um objeto

da base torna-se um protótipo do grupo ou não.

Ex.: Se assumirmos que os objetos 1, 5 e 9 são protótipos da base numa solução

candidata qualquer, então temos a seguinte representação para este genótipo:

[1000100010].

Uma representação binária alternativa envolve o uso de uma matriz de dimensão

k × N para cada indivíduo, sendo que as linhas representam os grupos e as

Page 267: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

colunas representam os objetos. Neste caso, se o j-ésimo objeto pertence ao i-

ésimo grupo, então o valor 1 é colocado no i-ésimo elemento da j-ésima coluna

do genótipo, enquanto os demais valores permanecem em 0.

Ex.: Se assumirmos a partição original da base de dados (objetos 1 a 4 C1,

objetos 5 a 8 C2, e objetos 9 e 10 C3), então temos a seguinte representação

para este genótipo:

1 1 1 1 0 0 0 0 0 0

0 0 0 0 1 1 1 1 0 0

0 0 0 0 0 0 0 0 1 1

o Codificação inteira: Numa possível codificação inteira para as soluções de

agrupamento, um genótipo é um vetor inteiro de N posições (N = número de

objetos da base), sendo cada posição correspondente ao rótulo do grupo ao qual

um objeto particular pertence.

Page 268: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Ex.: Se assumirmos a partição original da base de dados (objetos 1 a 4 C1,

objetos 5 a 8 C2, e objetos 9 e 10 C3), então temos a seguinte representação

para este genótipo: [1111222233]. Note que essa codificação é naturalmente

redundante e, portanto, o tamanho do espaço de busca é muito maior que o

espaço original de possíveis soluções.

Uma representação inteira alternativa envolve o uso de um arranjo de k

elementos numa representação baseada em medoides, sendo que cada elemento

do vetor corresponde ao número do objeto que é o medoide do grupo k.

Ex.: Se assumirmos que os objetos 2, 6 e 10 são os medoides dos grupos, então

o vetor que representa os protótipos (soluções candidatas) é: [2 6 10].

o Codificação real: Na codificação real, os genótipos correspondem a números

reais que representam as coordenadas dos protótipos dos grupos. Se o genótipo

codifica k grupos em um espaço de dimensão L, então o comprimento de cada

genótipo é L.k.

Page 269: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Ex.: O genótipo [1.5 1.5 10.5 1.5 5.5 5.0] codifica os protótipos (1.5 1.5), (10.5

1.5), (5.5 5.0).

19.2. Operadores

Quando operadores genéticos tradicionais de cruzamento e mutação são utilizados

em problemas de agrupamento, eles simplesmente manipulam os valores dos genes

sem considerar suas interrelações.

No entanto, no contexto de agrupamento de dados, as interrelações entre genes

devem constituir o objetivo primário do processo de otimização.

Portanto, é importante se atentar para a necessidade de desenvolver operadores

genéticos orientados à tarefa de agrupamento de dados.

Vamos considerar alguns operadores específicos com base nos três principais tipos

de codificação:

Page 270: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Operador de Cruzamento (Crossover)

o Codificação binária: Um operador tipicamente usado para codificação binária é

o crossover uniforme, através do qual os genótipos dos pais trocam bits. Note

que, caso k seja fixo, esse operador pode levar ao surgimento de soluções

candidatas com um número de protótipos maior ou menor que k.

o Codificação inteira: Uma maneira de combinar soluções de agrupamento

advindas de diferentes genótipos é: dados dois genótipos G1 e G2 com,

respectivamente, k1 e k2 grupos, um número c, c {1, 2, ..., k1}, de grupos é

selecionado aleatoriamente de G1 e copiado para G2. Os grupos de G2 que não

sofrem alteração são mantidos e aqueles mudados têm seus objetos não afetados

alocados nos grupos mais próximos. Dessa forma obtemos o descendente G3 e,

similarmente, obtemos o descendente G4.

Ex.: Para ilustrar esse procedimento, considere os seguintes genótipos:

G1 = 1123245125432533424

Page 271: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

G2 = 1212332124423221321

Vamos assumir que os grupos {2, 3} de G1 foram aleatoriamente selecionados:

G1 = 1123245125432533424

Quando estes grupos são copiados para G2, eles modificam os grupos 1, 2 e 3 de

G2, enquanto o grupo 4 não é alterado.

G2 = 1223232124432233321

As posições sublinhadas, que correspondem aqueles genes indiretamente

afetados pelos grupos 2 e 3 de G1 agora são mudados para 0:

G3 = 0023200024432033020

Os genes setados em zero deverão ser colocados nos grupos mais próximos já

codificados por G3. O mesmo procedimento é aplicado para se obter um

descendente G4, exceto pelos grupos selecionados para serem copiados em G1.

Estes grupos agora são os grupos de G2 inicialmente mudados para gerar o

descendente G3, ou seja, 1, 2 e 3.

Page 272: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Codificação real: Operadores de crossover de um ponto ou dois pontos (single-

point ou two-points) não são sensíveis a contexto, ou seja, não consideram as

interrelações entre os grupos no momento do cruzamento. Isso pode gerar,

dentre outras coisas, soluções inválidas, particionamentos com dois centróides

iguais, etc. Operadores de cruzamento específicos podem ser pensados, como:

Crossover aleatório: selecione aleatoriamente k/2 centróides de cada um dos

pais e troque entre si; centróides duplicados são substituídos por sorteios

aleatórios.

Distância do centróide: os grupos são inicialmente ordenados com base na

distância deles ao centróide da base de dados. Os grupos mais próximos deste

centróide global são denominados de grupos centrais e os demais de grupos

remotos. Um descendente é criado tomando-se os grupos centrais de um dos

pais e os grupos remotos do outro pai.

Page 273: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Crossover par a par: os grupos codificados em diferentes pais são pareados de

acordo com a similaridade de seus centróides. Um descendente é gerado

tomando-se aleatoriamente um centróide de cada par de grupos.

Crossover par a par por vizinho mais próximo (pairwise nearest neighbor

crossover): os 2k centróides de dois pais podem ser agrupados em k grupos

que formarão o descendente.

Operador de Mutação

o Codificação binária: Uma forma de mutar genótipos binários codificados como

visto anteriormente é simplesmente alternar bits do genótipo, o que corresponde

a deletar protótipos existentes ou inserir novos protótipos.

o Codificação inteira: No caso de uma codificação inteira na qual cada posição do

genótipo representa o rótulo de um objeto da base, diferentes tipos de

operadores de mutação podem ser empregados:

Troca aleatória do rótulo de objetos probabilisticamente selecionados;

Page 274: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Troca do valor de um gene dependendo da distância dos centróides dos

grupos em relação ao objeto correspondente. Especificamente, a

probabilidade de trocar o valor de um gene de um dado objeto é maior se o

centróide do grupo correspondente está mais próximo do objeto.

Para a representação alternativa baseada nos medoides, é possível selecionar

aleatoriamente um medoide e substituí-lo por outro objeto da base, de acordo

com uma probabilidade pré-determinada.

Nota: Nos casos em que o algoritmo evolutivo permite a determinação

automática do número k de grupos da base, é comum o uso de operadores de

mutação que permitem a criação de novos grupos (rótulos), a remoção de

grupos e a mudança de grupo de um determinado objeto. Um caso desses será

apresentado posteriormente.

o Codificação real: Para este tipo de codificação também é possível projetar

diferentes tipos de operadores de mutação:

Page 275: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Perturbar suavemente os centróides codificados em cada genótipo;

Substituir protótipos por objetos da base de dados, o que aumenta a

probabilidade de se criar ou eliminar grupos através da mutação.

19.3. Funções de Fitness

Muitos critérios de validação de agrupamentos podem ser usados para avaliar

partições contendo um número k de grupos.

Vários destes critérios podem ser adaptados e usados como função de fitness de

algoritmos evolutivos para agrupamento.

Portanto, as funções de fitness usadas em algoritmos evolutivos representam

apenas um subconjunto das possíveis funções de fitness a serem usadas. Vejamos

algumas delas:

o Representação baseada em medoide:

Page 276: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Soma das distâncias intra-cluster: Minimização da soma das distâncias entre

os objetos da base X = {x1, x2, ..., xN} e os medoides do conjunto {m1, m2, ...,

mk} {x1, x2, ..., xN}. Para isso é definido o critério de fitness:

N

i

idF1

),( mx , (17)

onde m representa o medoide mais próximo do objeto xi, d(xi,m) = minj

d(xi,mj) e d(,) corresponde a medida de distância.

o Representação baseada em centróide:

Soma das distâncias intra-cluster: Minimização da soma das distâncias entre

os objetos da base X = {x1, x2, ..., xN} e os centróides dos grupos {c1, c2, ...,

ck}. Para isso é definido o critério de fitness:

k

j

jik

ji

F1

2

21 ||||),...,,(Cx

cxCCC, (18)

Page 277: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

onde {C1, ..., Ck} é o conjunto de k grupos codificados no genótipo, xi é um

objeto da base e cj é o centróide do grupo Cj.

o Independente de representação:

MaxInter-MinIntra: A função de fitness abaixo maximiza a distância

intergrupo dinter enquanto minimiza a distância intragrupo dintra e está

associada a cada genótipo:

k

j

jrajer ddwF1

intint )()(. CC (19)

onde dinter(Cj) é a distância entre o grupo Cj e o conjunto de todos os outros

grupos e dintra(Cj) é a distância intragrupo de Cj, e w é um peso associado a

distância integrupo definido pelo usuário.

Silhueta: Seja um objeto xi pertencente a um grupo A e a dissimilaridade

média entre os outros objetos de A em relação a xi denotada por a(xi). Seja

outro grupo C; a dissimilaridade do objeto i em relação aos objetos de C é

Page 278: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

denotada por d(xi,C). Após o cálculo de d(xi,C) para todos os grupos C ≠ A, o

de menor valor é escolhido, ou seja, b(xi) = min d(xi,C), C ≠ A. Este valor

representa o valor do objeto xi para o grupo mais próximo:

)}(),(max{

)()()(

ii

iii

ba

abs

xx

xxx

(20).

O valor s(xi) [1, +1], sendo que quanto maior o valor de s(xi) maior é a

proximidade do objeto xi com um dado grupo. Se o valor de s(xi) for zero,

então não é possível definir claramente se este objeto xi deveria estar no grupo

atual ou em outro grupo próximo. Se um grupo A possui apenas um valor

então s(xi) não é definida e é considerada zero. O critério da Silhueta é dado

pela média de s(xi), i = 1, ..., N e a melhor forma de agrupamento é

encontrada maximizando esta função.

Page 279: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Page 280: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Predição: Classificação e Estimação

20. Introdução

As técnicas de predição podem ser usadas para extrair modelos descrevendo as

classes dos dados ou para predizer (estimar) tendências dos dados.

A classificação é usada para predição de rótulos categóricos, enquanto os

algoritmos de estimação modelam valores ou funções contínuas.

Por exemplo: classificar pessoas em altas, medianas ou baixas; estimar a altura de

uma pessoa com base em certas características, como idade, peso, etc.

Há diversas classes de algoritmos de predição na literatura, incluindo métodos de

aprendizagem de máquina, sistemas imunológicos artificiais, métodos estatísticos,

algoritmos de inteligência de enxame, sistemas fuzzy e redes neurais artificiais.

Page 281: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Este tópico tem particular ênfase nos métodos básicos de aprendizagem de

máquina, como o classificador k-NN, as árvores de decisão, o classificador one-

rule, o classificador naïve Bayes e a regressão linear.

21. Classificador k-NN

O classificador k-NN (k-nearest neighbors) ou k vizinhos mais próximos é um dos

classificadores mais simples da literatura.

Dado um objeto x0 cuja classe deseja-se inferir, encontra-se os k objetos xi, i = 1, ...

, k da base mais próximos a x0 e depois se classifica o objeto x0 como pertencente à

classe da maioria dos k vizinhos.

Obs.: empates são decididos aleatoriamente.

Qualquer uma das medidas de similaridade apresentadas no Tópico 4 pode ser

usada para determinar os k vizinhos mais próximos.

Page 282: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Apesar da simplicidade, o método k-NN apresenta bons resultados em diversos

cenários e normalmente se comporta bem quando cada classe possui diversos

protótipos e a superfície de decisão é irregular.

22. Árvores de Decisão

Uma árvore de decisão é uma estrutura em forma de árvore na qual cada nó

interno corresponde a um teste de um atributo, cada ramo representa um resultado

do teste e os nós folhas representam classes ou distribuições de classes. O nó mais

elevado da árvore é conhecido como nó raiz.

Uma vez construída a árvore ela pode ser usada para classificar um objeto

desconhecido. Para isso, basta testar os valores dos atributos na árvore e percorrê-

la até se atingir um nó folha, que corresponde à classe predita para aquele objeto.

Page 283: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Considere o exemplo abaixo de uma base de dados contendo condições sob as

quais um oftalmologista poderá ou não prescrever lentes de contato a seus

pacientes (Tabela 2).

Page 284: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 17: Base de dados de lentes de contatos (Contact Lenses). TPL: Taxa de Produção de Lágrimas.

Idade Prescrição Astigmatismo (A) TPL Lente recomendada

Jovem Miopia Não Reduzida Nenhuma

Jovem Miopia Não Normal Macia

Jovem Miopia Sim Reduzida Nenhuma

Jovem Miopia Sim Normal Rígida

Jovem Hipermetropia Não Reduzida Nenhuma

Jovem Hipermetropia Não Normal Macia

Jovem Hipermetropia Sim Reduzida Nenhuma

Jovem Hipermetropia Sim Normal Rígida

Pré-presbiótico Miopia Não Reduzida Nenhuma

Pré-presbiótico Miopia Não Normal Macia

Pré-presbiótico Miopia Sim Reduzida Nenhuma

Pré-presbiótico Miopia Sim Normal Rígida

Pré-presbiótico Hipermetropia Não Reduzida Nenhuma

Pré-presbiótico Hipermetropia Não Normal Macia

Pré-presbiótico Hipermetropia Sim Reduzida Nenhuma

Pré-presbiótico Hipermetropia Sim Normal Nenhuma

Presbiótico Miopia Não Reduzida Nenhuma

Presbiótico Miopia Não Normal Nenhuma

Presbiótico Miopia Sim Reduzida Nenhuma

Presbiótico Miopia Sim Normal Rígida

Presbiótico Hipermetropia Não Reduzida Nenhuma

Presbiótico Hipermetropia Não Normal Macia

Presbiótico Hipermetropia Sim Reduzida Nenhuma

Presbiótico Hipermetropia Sim Normal Nenhuma

Page 285: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Um conjunto simples de regras pode ser inferido a partir desta base de dados:

Se TPL = reduzida, então recomenda = nenhuma. Se idade = J e A = não e TPL = normal, então recomenda = macia. Se idade = PP e A = não e TPL = normal, então recomenda = macia. Se idade = P e prescrição = míope e A = não, então recomenda = nenhuma. Se prescrição = hipermetropia e A = não e TPL = normal, então recomenda = macia. Se prescrição = miopia e A = sim e TPL = normal, então recomenda = rígida. Se idade = J e A = sim e TPL = normal, então recomenda = rígida. Se idade = PP e prescrição = hipermetropia e A = sim, então recomenda = nenhuma. Se idade = P e prescrição = hipermetropia e A = sim, então recomenda = nenhuma.

Este conjunto de regras classifica corretamente todos os dados; ele é completo e

determinístico, ou seja, oferece uma única prescrição para todos os exemplos.

Entretanto, isso nem sempre ocorre, pois em alguns casos nenhuma regra se aplica

e em outros mais de uma regra se aplica.

Uma outra forma de descrever a base de dados é através de uma árvore, conhecida

como árvore de decisão (Figura 26).

As árvores de decisão possuem as vantagens de serem normalmente concisas e de

fácil visualização.

Page 286: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Prescrição

TPL

Astigmatismo Nenhuma

Nenhuma Rígida

Macia

Reduzida Normal

Não Sim

Miopia Hipermetropia

Figura 26: Árvore de decisão para a base de dados Lentes de Contato.

EPC 14: A árvore de decisão apresentada na Figura 26 comete dois erros para a base

de dados, quais são eles?

Page 287: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Consideremos agora um exemplo mais realista de Negociações Trabalhistas, como

ilustrado na Tabela 3.

Tabela 18: Base de dados de Negociações Trabalhistas.

Atributo Objeto

Descrição Tipo 1 2 3 ... 40

Duração Anos 1 2 3 2

Aumento salarial ano 1 Percentual 2% 4% 4.3% 4.5%

Aumento salarial ano 2 Percentual ? 5% 4.4% 4.0%

Aumento salarial ano 3 Percentual ? ? ? ?

Ajuste de custo de vida {nenhum, tcf, tc} Nenhum Tcf ? Nenhum

Carga horária semanal Horas 28 35 38 40

Aposentadoria {nenhuma, pública,

privada}

Nenhum ? ? ?

Pagamento por horas vagas Percentual ? 13% ? ?

Horas extras Percentual ? 5% 4% 4

Adicional para educação {sim, não} Sim ? ? ?

Feriados Dias 11 15 12 12

Férias {abaixo-média, média,

generosa}

Média Gen Gen Média

Assistência para ausência prolongada {sim, não} Não ? ? Sim

Seguro odontológico {nenhum, parcial, total} Nenhum ? Total Total

Seguro de vida {sim, não} Não ? ? Sim

Seguro saúde {nenhum, parcial, total} Nenhum ? Total Parcial

Aceitabilidade do contrato {boa, ruim} Ruim Boa Boa Boa

Page 288: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Não há uma única árvore de decisão que represente este problema, como pode ser

observado na Figura 27(a) e (b).

Aumento Ano 1

Aumento Ano 1

Feriados Ruim

Bom Ruim

Bom

2.5% > 2.5%

> 10 10

4% > 4%

(a)

Page 289: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Seguro Saúde

Aumento Ano 1

Aumento Ano 1 Ruim

Bom Ruim

Bom

2.5% > 2.5%

> 10 10

4 > 4

Carga Horária Feriados

36 > 36

Ruim Bom Ruim

Nenhum Parcial Total

(b)

Figura 27: Árvores de decisão para a base de dados de Negociações Trabalhistas.

Page 290: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

22.1. Construção de Árvores de Decisão

Uma abordagem do tipo ‘dividir para conquistar’ pode ser aplicada ao problema de

aprendizagem a partir de um conjunto de amostras independentes, resultando

naturalmente em uma representação denominada de árvore de decisão.

Os nós em uma árvore de decisão correspondem ao teste de um determinado

atributo.

Normalmente o teste compara o valor do atributo a uma constante, embora

algumas árvores comparem dois atributos entre si ou usem alguma função de um

ou mais atributos.

Os nós folhas fornecem uma classificação, um conjunto de classificações ou uma

distribuição de probabilidade sobre todas as possíveis classificações, que é

aplicada a todas as amostras que atingem a folha.

Para classificar uma nova amostra, basta apresentá-la à raiz e caminhar na árvore

até chegar em um nó folha, que dirá a classe a qual esta amostra pertence.

Page 291: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Se o atributo testado em um nó é nominal, então a quantidade de filhos é

normalmente igual ao número de possíveis valores do atributo.

o Neste caso, como há um ramo para cada valor possível o mesmo atributo não

será testado novamente na árvore.

o Em alguns casos, os valores dos atributos são divididos em sub-grupos, situação

na qual o mesmo atributo pode aparecer mais de uma vez na árvore.

Se o atributo é numérico, então o teste em um nó normalmente determina se o

valor é maior ou menor que uma constante pré-definida, ou criando-se intervalos

de valores.

Em alguns casos, valores ausentes são considerados valores de um atributo,

criando uma ramificação a mais.

A construção de uma árvore de decisão pode ser expressa recursivamente:

Page 292: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. Selecione um atributo, coloque-o na raiz da árvore e faça uma ramificação para

cada valor possível, o que divide a base de dados em subconjuntos (um para

cada valor do atributo);

2. Repita o processo recursivamente para cada ramo, usando somente aquelas

amostras que alcançam o ramo;

3. Se todas as amostras em um nó possuem a mesma classificação, pare de

desenvolver esta parte da árvore.

Ainda é preciso identificar qual atributo deve ser escolhido para divisão.

Para ilustrar como é feito este processo, considere o exemplo da base de dados do

Clima, que corresponde à identificação de condições climáticas para a prática de

um determinado esporte (Tabela 4).

Para esta base de dados, há quatro possibilidades de nós (atributos) para expansão:

Tempo, Temperatura, Umidade e Vento.

Page 293: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 19: Base de dados do Clima.

Tempo Temperatura Umidade Vento Jogar

Ensolarado Quente Alta Não Não

Ensolarado Quente Alta Sim Não

Fechado Quente Alta Não Sim

Chuvoso Branda Alta Não Sim

Chuvoso Fria Normal Não Sim

Chuvoso Fria Normal Sim Não

Fechado Fria Normal Sim Sim

Ensolarado Branda Alta Não Não

Ensolarado Fria Normal Não Sim

Chuvoso Branda Normal Não Sim

Ensolarado Branda Normal Sim Sim

Fechado Branda Alta Sim Sim

Fechado Quente Normal Não Sim

Chuvoso Branda Alta Sim Não

Page 294: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tempo

Sim

Sim

Não

Não

Não

Ensolarado Chuvoso

Fechado

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Não

Não

Temperatura

Sim

Sim

Não

Não

Quente Fria

Branda

Sim

Sim

Sim

Sim

Não

Não

Sim

Sim

Sim

Não

Umidade

Sim

Sim

Sim

Não

Não

Não

Não

Alta Normal

Sim

Sim

Sim

Sim

Sim

Sim

Não

Vento

Sim Não

Sim

Sim

Sim

Não

Não

Não

Sim

Sim

Sim

Sim

Sim

Sim

Não

Não

(a) (b)

(c) (d)

Figura 28: Possíveis árvores de decisão para a base de dados do Clima.

Page 295: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Note que identificamos a quantidade de respostas positivas e negativas de cada nó,

sendo que os nós com apenas uma classe, nós puros, tornam-se folhas.

o Como o objetivo é encontrar árvores parcimoniosas, quanto mais isso ocorrer,

melhor.

A pergunta que precisa ser respondida é: Qual nó escolher para expansão?

Para responder a esta pergunta precisamos de uma medida de pureza de cada nó e

expandiremos aquele com filhos mais puros.

A medida de pureza que usaremos é denominada de informação e sua unidade é o

bit.

Associada a um nó da rede, a informação representa a quantidade esperada de

informação que será necessária para especificar se uma nova amostra deverá ser

classificada em uma determinada classe, dado que a amostra atingiu aquele nó

folha.

Page 296: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

22.1.1. Cálculo da Informação

Seja S o conjunto de s amostras. Suponha que o rótulo do atributo de classe tenha

m valores distintos que definem m classes distintas, Ci, i = 1, ... , m. Seja si a

quantidade de amostras de S na classe Ci. A informação esperada necessária para

classificar uma dada amostra é:

I(s1, s2, ... , sm) =

m

i

ii pp1

2 )(log (1)

onde pi é a probabilidade de que uma amostra arbitrária pertença à classe Ci,

estimada como sendo si/s.

Como normalmente os logaritmos são expressos na base 2, a unidade da

informação é denominada de bits.

Assuma que o atributo A tenha v valores distintos, {a1, a2, ... , av}. Ele pode ser

usado para particionar S em v subconjuntos {S1, S2, ... , Sv}, onde Sj contém aquelas

amostras em S que assumem valor aj de A.

Page 297: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Se A fosse selecionado como o atributo teste, ou seja, o melhor atributo (nó) a ser

expandido, então estes subconjuntos corresponderiam aos ramos que partem do nó

contendo o conjunto S.

Seja sij a quantidade de amostras da classe Ci em um subconjunto Sj. A entropia ou

informação esperada é dada por:

),...,(...

)( 1

1

1

mjj

v

j

mjjssI

s

ssAE

(2)

o termo que multiplica a informação atua como um peso para o j-ésimo

subconjunto e é o número de objetos no subconjunto dividido pelo número total de

objetos em S.

Quanto menor o valor da entropia, maior a pureza da partição.

Note que para um dado subconjunto Sj a probabilidade de uma amostra em Sj

pertencer à classe Ci é:

Page 298: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

I(s1j, s2j, ... , smj) =

m

i

ijij pp1

2 )(log (3)

onde pij = sij / |Sj|.

O ganho de informação a ser obtido expandindo-se A é:

ganho(A) = I(s1, s2, ... , sm) E(A). (4)

Em outras palavras, o ganho ganho(A) é a redução esperada na entropia quando se

conhece o valor do atributo A.

O algoritmo calcula o ganho de informação para cada atributo e aquele com maior

ganho é escolhido como o atributo teste para o conjunto S. Um nó é criado e

rotulado com este atributo, ramos são criados para cada valor do atributo e as

amostras particionadas.

A informação é usada como base para se avaliar a expansão de um nó.

A informação deve ter as seguintes propriedades:

1. Quando o número de valores do atributo for zero, a informação é zero;

Page 299: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Quando o número de valores do atributo for igual, a informação possui valor

máximo;

3. A informação deve obedecer a uma propriedade de múltiplos estágios.

A medida de informação está relacionada à quantidade de informação obtida ao se

tomar uma decisão e uma propriedade mais sutil da informação pode ser derivada

considerando a natureza das decisões.

As quantidades de cada um dos possíveis valores em um nó folha da árvore serão

representadas na forma de uma lista de valores: {s1, s2, ... , sm}, sendo que m é a

quantidade de possíveis valores de um determinado atributo.

A única função para o cálculo da informação que satisfaz as três condições listadas

acima é chamada de valor da informação ou simplesmente informação (Eq. (1)):

I(s1, s2, ... , sm) = p1 log2 p1 p2 log2 p2 ... pm log2 pm

onde os termos pi, i = 1, ... , n correspondem à probabilidade de ocorrência de cada

um dos eventos i, pi = si/s.

Page 300: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Exemplo: Para a base de dados do Clima é possível fazer a indução da árvore de

decisão seguindo os passos apresentados.

Dados: m = 2 (número de classes possíveis); C1 = Sim, C2 = Não; s = 14, s1 = 9,

s2 = 5.

Para o atributo teste A = Tempo, temos {a1 = Ensolarado, a2 = Fechado,

a3 = Chuvoso}; v = 3:

I(s1,s2) = I(9,5) = 0.940 bits.

E(A = Tempo) = ),(),(),( 23132313

22122212

21112111 ssI

s

ssssI

s

ssssI

s

ss

Com base no exposto acima, o valor da informação de cada nó folha da árvore da

Figura 28(a) é:

I(s11, s21) = I(2,3) = 0.971 bits

I(s12, s22) = I(4,0) = 0 bit

I(s13, s23) = I(3,2) = 0.971 bits

Page 301: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

ganho(Tempo) = I(9,5) E(A) = 0,940 0,693.

EPC 15: Calcule o ganho de cada uma das folhas das árvores apresentadas na Figura

28.

EPC 16: Encontre a árvore de decisão para a base de dados do Clima dando

continuidade ao procedimento descrito acima. Apresente detalhadamente todas as

etapas do algoritmo.

22.1.2. Algoritmo de Indução de Árvores de Decisão

O algoritmo básico para a indução de árvores de decisão é um algoritmo guloso

que constrói a árvore recursivamente de cima para baixo e da forma dividir para

conquistar.

Vamos assumir atributos discretos (no caso de atributos contínuos eles deverão ser

discretizados).

A estratégia se desenvolve da seguinte maneira (ver pseudo-código):

1. A árvore começa com um único nó representando as amostras de treinamento

(Passo 1);

Page 302: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Se todas as amostras pertencem à mesma classe, então o nó torna-se uma folha

e é rotulado com aquela classe (Passo 2);

a. Senão, o algoritmo calcula o ganho de informação, que é usado como

heurística para selecionar o atributo que melhor separa as classes em

classes individuais (Passo 4). Este atributo se torna o atributo teste ou

atributo de decisão no nó (Passo 5).

3. Para cada valor conhecido do atributo teste as amostras são particionadas

seguindo estes valores (Passos 6a-b);

4. O algoritmo usa o mesmo processo recursivamente para formar uma árvore de

decisão para as amostras em cada partição. Uma vez que um atributo apareceu

em um nó, ele não precisa mais ser considerado nos descendentes deste nó

(Passo 6d);

5. O particionamento recursivo pára quando uma das seguintes condições for

satisfeita:

Page 303: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

a. Todas as amostras para um dado nó pertencem à mesma classe (Passo 2);

ou

b. Não há mais atributos para os quais as amostras precisem ser particionadas

(Passo 3). Neste caso, uma abordagem de voto da maioria é empregada

para a definição da classe (Passo 3a), o que envolve converter o nó em

uma folha e rotulá-lo com a classe predominante na amostra. Outra opção

é armazenar a distribuição de classes do nó.

c. Não há amostras para o atributo teste = ai (Passo 6c). Neste caso uma folha

é criada com a classe predominante nas amostras (Passo 6ci).

Page 304: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Algoritmo: Gere_DT. Gera uma árvore de decisão a partir da base de dados.

Entradas: Base de dados (amostras representadas por atributos discretos),

conjunto de atributos candidatos (lista de atributos).

Saída: Uma árvore de decisão. 1. Crie um nó N

2. Se amostras pertencem todas a mesma classe C, então

a. Retorne N como um nó folha rotulado com a classe C

3. Se a lista de atributos está vazia, então

a. Retorne N como um nó folha rotulado com a classe predominante em

amostras

4. Selecione o atributo teste como aquele que promove o maior ganho de

informação

5. Rotule o nó N com o atributo teste

6. Para cada valor conhecido ai do atributo teste

a. Cresça um ramo a partir do nó N para a condição atributo teste = ai

b. Seja si o conjunto de amostras em amostras para o qual o atributo teste = ai

c. Se si estiver vazio, então

i. Crie uma folha rotulada com a classe predominante em amostras

d. Senão coloque o nó retornado por Gere_DT(si, atributos candidatos

atributo teste)

Page 305: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 17: Considere a base de dados AllElectronics apresentada abaixo. Encontre a

árvore de decisão para esta base detalhando todos os passos até a solução.

Tabela 20: Base de dados AllElectronics.

Idade Renda Estudante? Nível de

Crédito

Classe

(compra_computador)

30 Alta Não Razoável Não

30 Alta Não Excelente Não

[31,40] Alta Não Razoável Sim

> 40 Média Não Razoável Sim

> 40 Baixa Sim Razoável Sim

> 40 Baixa Sim Excelente Não

[31,40] Baixa Sim Excelente Sim

30 Média Não Razoável Não

30 Baixa Sim Razoável Sim

> 40 Média Sim Razoável Sim

30 Média Sim Excelente Sim

[31,40] Média Não Excelente Sim

[31,40] Alta Sim Razoável Sim

> 40 Média Não Excelente Não

Page 306: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

23. Regras de Classificação

Regras de classificação constituem uma alternativa popular às árvores de decisão.

O antecedente da regra é uma série de testes similares aos testes feitos nos nós da

árvore de decisão e o consequente da regra fornece a classe ou classes (ou a

distribuição de probabilidades sobre as classes) aplicáveis às instâncias cobertas

por aquela regra.

Geralmente os componentes do antecedente são combinados através do conectivo

lógico AND (embora outros possam ser usados também) e todos os testes têm que

ser satisfeitos para que a regra seja ativada.

É fácil ler um conjunto de regras diretamente de uma árvore de decisão:

o Uma regra é gerada para cada nó folha da árvore.

o O antecedente da regra inclui uma condição para cada nó do caminho da raiz à

folha e o consequente da regra é a classe especificada pela folha.

Page 307: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Este procedimento produz regras sem ambiguidade e cuja ordem de execução é

irrelevante.

Entretanto, o conjunto de regras gerado a partir de uma árvore de decisão

normalmente possui regras redundantes que podem ser podadas (eliminadas).

EPC 18: Extraia um conjunto de Regras de Classificação para a árvore de decisão

encontrada para as árvores da Figura 27 e para a base de dados do Clima.

EPC 19: Extraia um conjunto de Regras de Classificação para a árvore de decisão

encontrada para a base de dados AllElectronics.

24. Classificador One-Rule (1R)

O algoritmo chamado one-rule (1R) é uma forma fácil de encontrar regras de

classificação que geram uma árvore de decisão com um único nível expressa na

forma de um conjunto de regras sendo que todas elas testam um único atributo.

O algoritmo 1R é simples e tem baixo custo computacional, mas muitas vezes é

capaz de descobrir boas regras que caracterizam a estrutura dos dados.

Page 308: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Frequentemente regras simples são capazes de fornecer altos valores de acurácia,

talvez por que a estrutura intrínseca de muitas bases de dados seja rudimentar e um

único atributo é suficiente para determinar a classe de uma instância com acurácia.

A ideia do algoritmo é a seguinte:

1. São construídas regras que testam um único atributo, ramificando-o, sendo que

cada ramo corresponde a diferentes valores do atributo;

2. A melhor classificação de cada ramo é aquela que usa a classe que ocorre mais

frequentemente nos dados de treinamento.

3. Assim, a taxa de erro das regras pode ser facilmente determinada: conte o

número de erros que ocorre para os dados de treinamento, ou seja, o número de

objetos que não possuem a maioria das classes.

Cada atributo gera um conjunto diferente de regras, sendo uma regra para cada

valor do atributo.

Avalie a taxa de erro do conjunto de regras de cada atributo e escolha a menor.

Page 309: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Algoritmo: One-Rule. Gera um conjunto de regras para cada atributo e

escolhe o de maior acurácia a partir da base de dados.

Entrada: Base de dados. Saída: Conjunto de regras para o atributo de maior acurácia.

1. Para cada atributo,

a. Para cada valor do atributo, faça uma regra como a seguir:

a. Conte a frequência de cada classe

b. Encontre a classe mais frequente

c. Faça a regra especificar a classe a este valor do atributo

b. Calcule a taxa de erro das regras

2. Escolha o atributo que contenha as regras com a menor taxa de erro

Exemplo: Para a base de dados do Clima aplique o algoritmo 1R.

Para classificar a coluna final, Jogar, o algoritmo 1R considera quatro conjuntos de

regras, um para cada atributo. Estas regras são apresentadas na Tabela 21. Nota-se

que dois atributos apresentam o menor erro: Tempo e Umidade. Se escolhermos o

atributo Umidade, então o resultado do 1R é o conjunto de regras:

Umidade: Alta Não

Normal Sim

Page 310: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 21: Avaliação dos atributos para a base de dados do clima.

Atributo Regras Erros Erros Totais

1 Tempo

Ensolarado Não

Fechado Sim

Chuvoso Sim

2/5

0/4

2/5

4/14

2 Temperatura

Quente Não*

Branda Sim

Fria Sim

2/4

2/6

1/4

5/14

3 Umidade Alta Não

Normal Sim

3/7

1/7 4/14

4 Vento Não Sim

Sim Não*

2/8

3/6 5/14

* Uma escolha aleatória foi feita entre dois resultados igualmente possíveis.

EPC 20: Aplique o algoritmo One-Rule nas bases de dados AllElectronics e Contact

Lenses.

25. Classificação Bayesiana

Classificadores Bayesianos são classificadores estatísticos usados para predizer a

probabilidade de pertinência de um item a uma determinada classe.

Page 311: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A classificação Bayesiana é fundamentada no Teorema de Bayes.

Estudos indicam que os algoritmos simples de classificação Bayesiana, conhecidos

como naïve Bayes possuem desempenho comparável a redes neurais e árvores de

decisão. Eles também apresentam alta acurácia e velocidade de processamento

quando aplicados a grandes bases de dados.

Os classificadores naïve Bayes assumem que o efeito do valor de um atributo em

uma dada classe é independente dos valores dos outros atributos.

o Esta premissa é denominada de independência condicional da classe (class

conditional independence).

Esta premissa tem o objetivo de simplificar os cálculos e, por causa dela, o

algoritmo é denominado de naïve.

As redes Bayesianas são modelos gráficos que, diferentemente dos classificadores

Bayesianos, permitem a representação de dependências entre subconjuntos de

atributos. Elas também podem ser usadas para classificação.

Page 312: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

25.1. Teorema de Bayes

Seja x um objeto cuja classe é desconhecida.

Seja H uma hipótese tal que o objeto x pertença a classe C.

Em problemas de classificação, o objetivo é determinar a probabilidade P(H|x), ou

seja, a probabilidade de que a hipótese H seja satisfeita dada o objeto observado x.

P(H|x) é a probabilidade a posteriori de H dado x, e P(H) é a probabilidade a

priori de H.

Exemplo: Suponha um conjunto de frutas (amostras) caracterizadas por sua cor e

forma. Assuma que x é vermelha e arredondada e que a hipótese H é de que uma

fruta selecionada seja uma maçã. Neste caso, a probabilidade P(H|x) indica a

confiança de que x é uma maçã, dado que ela é vermelha e arredondada, e P(H) é a

probabilidade de que um objeto qualquer seja uma maçã. De forma similar, P(x|H) é

a probabilidade de que x seja vermelha e arredondada dado que o objeto selecionado

é uma maçã, e P(x) é a probabilidade de que um objeto seja vermelho e arredondado.

Page 313: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

As probabilidades P(x), P(H) e P(x|H) são estimadas para a base de dados em

estudo.

A utilidade do Teorema de Bayes reside no fato de que ele fornece uma maneira de

calcular a probabilidade a posteriori, P(H|x) a partir de P(H), P(x) e P(x|H):

)(

)()|()|(

x

xx

P

HPHPHP (5)

25.2. Construção do Classificador Bayesiano

O classificador Bayesiano, ou naïve Bayes, opera da seguinte forma:

1. Cada objeto é representado por um vetor de características L-dimensional

x = (x1, x2, ... , xL), representando L medições sobre L atributos A1, A2, ... , AL.

2. Assuma que a base de dados possui m classes, C1, C2, ... , Cm. Dado um objeto x

com classe desconhecida, o classificador deve ser usado para predizer a classe à

qual este objeto pertence com base na maior probabilidade a posteriori

Page 314: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

encontrada, dado x. Ou seja, o classificador Bayesiano especifica uma classe Ci

para o objeto x se e somente se:

P(Ci|x) > P(Cj|x), j i

Portanto, o algoritmo maximiza P(Ci|x). A classe Ci para a qual P(Ci|x) é

maximizada é denominada de hipótese a posteriori máxima. Pelo Teorema de

Bayes:

)(

)()|()|(

x

xx

P

CPCPCP ii

i (6)

3. Como P(x) é constante para todas as classes, somente P(x|Ci)P(Ci) precisa ser

maximizado. Se as probabilidades a priori não são conhecidas, é assumido que

as classes possuem a mesma probabilidade P(C1) = P(C2) = ... = P(Cm) e o

objetivo torna-se maximizar P(x|Ci). Note que as probabilidades a priori devem

ser estimadas por P(Ci) = si/s, onde si é o número de amostras de treinamento da

classe Ci e s é o número total de amostras.

Page 315: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4. Para conjuntos de dados com muitos objetos o cálculo de P(x|Ci) torna-se

computacionalmente caro e, por isso, a premissa da independência condicional

de classe é assumida para os atributos:

L

k

iki CxPCP1

)|()|(x (7)

As probabilidades P(x1|Ci), P(x2|Ci), ... , P(xL|Ci) podem ser estimadas a partir

das amostras de entrada P(xi|Ci), onde:

(a) Se Ak é categórico, então P(xk|Ci) = sik/si, onde sik é o número de amostras de

treinamento da classe Ci com valor xk para Ak e si é o número de amostras de

treinamento pertencentes à classe Ci.

(b) Se Ak é contínuo, então o atributo assume tipicamente uma distribuição de

probabilidade Gaussiana, de forma que

2

2

2

)(exp

2

1),,()|(

i

i

i

ii

C

Ck

C

CCkik

xxgCxP

(8)

Page 316: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

onde ),,(ii CCkxg é a função densidade Gaussiana ou normal para o

atributo Ak, enquanto iC e

iC são a média e o desvio padrão,

respectivamente, do atributo Ak para as amostras da classe Ci.

5. Para classificar uma amostra desconhecida x, P(x|Ci)P(Ci) é avaliado para cada

classe Ci. A amostra x é especificada à classe Ci se e somente se

P(x|Ci)P(Ci) > P(x|Cj)P(Cj), j i

Exemplo: Para a base de dados AllElectronics descrita na Tabela 22 use o naïve

Bayes para estimar a classe da seguinte amostra desconhecida:

x = ( 30, Média, Sim, Razoável).

Page 317: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 22: Base de dados AllElectronics.

Idade Renda Estudante? Nível de

Crédito

Classe

(compra_computador)

30 Alta Não Razoável Não

30 Alta Não Excelente Não

[31,40] Alta Não Razoável Sim

> 40 Média Não Razoável Sim

> 40 Baixa Sim Razoável Sim

> 40 Baixa Sim Excelente Não

[31,40] Baixa Sim Excelente Sim

30 Média Não Razoável Não

30 Baixa Sim Razoável Sim

> 40 Média Sim Razoável Sim

30 Média Sim Excelente Sim

[31,40] Média Não Excelente Sim

[31,40] Alta Sim Razoável Sim

> 40 Média Não Excelente Não

P(Classe = sim) = 9/14 = 64,3%

P(Classe = não) = 5/14 = 35,7%

P(x|Ci) = ?

P( 30 | Classe = sim) = 2/9 = 0,222 P( 30 | Classe = não) = 3/5 = 0,60

Page 318: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

P(Média | Classe = sim) = 4/9 = 0,444 P(Média | Classe = não) = 2/5 = 0,40

P(Sim | Classe = sim) = 6/9 = 0,667 P(Sim | Classe = não) = 1/5 = 0,20

P(Razoável | Classe = sim) = 2/9 = 0,667 P(Razoável|Classe = não) = 2/5 = 0,40

Assim,

P(x | Classe = sim) = 0,222 * 0,444 * 0,667 * 0,667 = 0,044

P(x | Classe = não) = 0,60 * 0,40 * 0,20 * 0,40 = 0,019

P(x | Classe = sim)P(Classe = sim) = 0,028.

P(x | Classe = não)P(Classe = não) = 0,007.

Portanto, o classificador naïve Bayes prediz Classe = sim para a amostra x dada.

Um problema pode ocorrer com o naïve Bayes se um determinado atributo não

aparecer na base de dados conjuntamente com cada valor de classe. Neste caso,

P(x|Ci) = 0 e o resultado da Eq. (7) também será 0.

Page 319: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Este problema pode ser resolvido, por exemplo, adicionando-se uma constante /L

a cada numerador da Eq. (7) e ao denominador para compensar a constante do

numerador.

Esta estratégia de adicionar uma constante a cada numerador é uma técnica padrão,

denominada estimador de Laplace.

É claro que o valor da constante a ser adicionada poderia ser qualquer, embora

valores grandes desta constante implicam que a probabilidade a priori é muito

importante em relação aos dados.

Page 320: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 21: Para a base de dados do Clima (Tabela 4) estime a classe de cada uma das

amostras de entrada abaixo usando o naïve Bayes:

x1 = (Ensolarado, Branda, Normal, Não)

x2 = (Fechado, Fria, Normal, Não)

x3 = (Chuvoso, Quente, Alta, Sim)

x4 = (Chuvoso, Fria, Normal, Não)

Tabela 23: Base de dados do Clima.

Tempo Temperatura Umidade Vento Jogar

Ensolarado Quente Alta Não Não

Ensolarado Quente Alta Sim Não

Fechado Quente Alta Não Sim

Chuvoso Branda Alta Não Sim

Chuvoso Fria Normal Não Sim

Chuvoso Fria Normal Sim Não

Fechado Fria Normal Sim Sim

Ensolarado Branda Alta Não Não

Ensolarado Fria Normal Não Sim

Chuvoso Branda Normal Não Sim

Ensolarado Branda Normal Sim Sim

Fechado Branda Alta Sim Sim

Fechado Quente Normal Não Sim

Chuvoso Branda Alta Sim Não

Page 321: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 22: Para a base de dados de lentes de contato (Tabela 2) estime a classe de cada

uma das amostras de entrada abaixo usando o naïve Bayes:

x1 = (Jovem, Hipermetropia, Não, Reduzida)

x2 = (Jovem, Miopia, Sim, Reduzida)

x3 = (Jovem, Hipermetropia, Sim, Normal)

x4 = (Jovem, Miopia, Não, Normal)

x5 = (Pré-presbiótico, Hipermetropia, Não, Reduzida)

x6 = (Pré-presbiótico, Miopia, Sim, Normal)

x7 = (Pré-presbiótico, Hipermetropia, Sim, Reduzida)

x8 = (Pré-presbiótico, Miopia, Não, Reduzida)

x9 = (Presbiótico, Hipermetropia, Não, Reduzida)

x10 = (Presbiótico, Hipermetropia, Sim, Normal)

x11 = (Presbiótico, Miopia, Não, Reduzida)

x12 = (Presbiótico, Miopia, Não, Normal)

Page 322: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 24: Base de dados de lentes de contatos (Contact Lenses). TPL: Taxa de Produção de Lágrimas.

Idade Prescrição Astigmatismo (A) TPL Lente recomendada

Jovem Miopia Não Reduzida Nenhuma

Jovem Miopia Não Normal Macia

Jovem Miopia Sim Reduzida Nenhuma

Jovem Miopia Sim Normal Rígida

Jovem Hipermetropia Não Reduzida Nenhuma

Jovem Hipermetropia Não Normal Macia

Jovem Hipermetropia Sim Reduzida Nenhuma

Jovem Hipermetropia Sim Normal Rígida

Pré-presbiótico Miopia Não Reduzida Nenhuma

Pré-presbiótico Miopia Não Normal Macia

Pré-presbiótico Miopia Sim Reduzida Nenhuma

Pré-presbiótico Miopia Sim Normal Rígida

Pré-presbiótico Hipermetropia Não Reduzida Nenhuma

Pré-presbiótico Hipermetropia Não Normal Macia

Pré-presbiótico Hipermetropia Sim Reduzida Nenhuma

Pré-presbiótico Hipermetropia Sim Normal Nenhuma

Presbiótico Miopia Não Reduzida Nenhuma

Presbiótico Miopia Não Normal Nenhuma

Presbiótico Miopia Sim Reduzida Nenhuma

Presbiótico Miopia Sim Normal Rígida

Presbiótico Hipermetropia Não Reduzida Nenhuma

Presbiótico Hipermetropia Não Normal Macia

Presbiótico Hipermetropia Sim Reduzida Nenhuma

Presbiótico Hipermetropia Sim Normal Nenhuma

Page 323: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 23: Considere agora a base de dados do Clima com os atributos Temperatura e

Umidade assumindo valores contínuos (Tabela 25). Estime a classe de cada uma das

amostras de entrada abaixo usando o naïve Bayes:

x1 = (Ensolarado, 79, 65, Não)

x2 = (Fechado, 70, 85, Não)

x3 = (Chuvoso, 70, 98, Sim)

x4 = (Chuvoso, 85, 80, Não)

Page 324: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 25: Base de dados do Clima com alguns atributos contínuos.

Tempo Temperatura Umidade Vento Jogar

Ensolarado 85 85 Não Não

Ensolarado 80 90 Sim Não

Fechado 83 86 Não Sim

Chuvoso 70 96 Não Sim

Chuvoso 68 80 Não Sim

Chuvoso 65 70 Sim Não

Fechado 64 65 Sim Sim

Ensolarado 72 95 Não Não

Ensolarado 69 70 Não Sim

Chuvoso 75 80 Não Sim

Ensolarado 75 70 Sim Sim

Fechado 72 90 Sim Sim

Fechado 81 75 Não Sim

Chuvoso 71 91 Sim Não

26. Estimação

A predição de valores contínuos pode ser feita por técnicas estatísticas de

regressão, dentre outras.

Page 325: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Muitos problemas podem ser resolvidos através de regressão linear e outros

podem ser resolvidos aplicando-se transformações nas variáveis de forma que um

problema não-linear seja transformado em um problema linear.

Nesta seção faremos uma breve discussão sobre um método de regressão linear.

26.1. Regressão Linear

A regressão linear é a forma mais simples de regressão na qual os dados são

modelados utilizando uma linha reta (hiperplano).

No Tópico 2 foi feita uma introdução sobre regressão linear como técnica para a

redução do número objetos na base de dados.

Consideremos agora a regressão linear como um método de estimação de

variáveis.

Neste caso, dado um vetor de entradas x = x1, x2, ... , xL, é possível estimar a saída y

usando o modelo:

Page 326: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

L

j

jjxy1

0

, (9)

onde o termo 0

é o intercepto.

É conveniente incluir a variável constante 1 no vetor x e escrever a equação em

notação matricial na forma de um produto interno de vetores:

y

= xT β

Neste caso estamos assumindo que há uma única saída a ser estimada, ou seja,

y

.

Entretanto, a equação permanece válida para múltiplas saídas e, neste caso,

β Lo, sendo o o número de saídas a serem estimadas.

No espaço de dimensão (L + 1), a função de regressão seria um hiperplano e não

uma reta.

Page 327: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Vista como uma função no espaço de entrada de dimensão L, f(x) = xT é linear e

o gradiente da função f’(x) = é um vetor no espaço multidimensional de entradas

que aponta na direção de maior crescimento da função.

A questão que precisa ser respondida neste momento é como aproximar a função

aos dados de entrada.

Embora haja diversos métodos possíveis na literatura, o mais conhecido é o

método dos mínimos quadrados (least squares).

Este método determina os coeficientes que minimizam a soma dos erros

quadráticos da função de aproximação:

N

j

T

iiSSE1

2)()( βxyβ (10)

Em notação matricial a equação pode ser escrita da seguinte forma:

)()()( XβyXβyβ i

T

iSSE , (11)

Page 328: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

onde X NL na qual cada linha é um vetor de entradas, e y N é o vetor

contendo as saídas para cada um dos N vetores de entrada (objetos).

Para resolver este problema linear na otimalidade basta diferenciar a Eq. (11) em

relação a e igualar o resultado a 0:

XT(y X) = 0

Resolvendo para e assumindo a não-singularidade de XTX, temos:

β

= (XTX)1 XTy. (12)

E o valor estimado das saídas para um vetor de entradas x é:

y = xβ

. (13)

Exemplo: Para ilustrar o procedimento de regressão linear, considere o conjunto de

pontos abaixo a serem aproximados.

A Figura 29 apresenta o hiperplano aproximador (linha reta) para os pontos dados

calculado utilizando as Eqs. (12) e (13).

Page 329: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

0.1253 -1.0565

0.2877 0.5000

1.1909 0.5287

1.1892 0.2193

-0.0376 -0.9219

-0.1867 -1.0106

0.7258 0.6145

-0.5883 0.5077

2.1832 1.6924

-0.1364 0.5913

0.1139 -0.6436

1.0668 0.3803

0.0593 -1.0091

-0.0956 -0.0195

-0.8323 -0.0482

0.2944 0.0000

-1.3362 -0.3179

0.7143 1.0950

1.6236 1.1000

-0.6918 0.4282

0.8580 0.8956

1.2540 0.7310

0.5711 0.6771

-0.3999 0.5689

0.6900 -0.2556

0.8156 -0.3775

0.7119 -0.2959

1.2902 1.0000

0.6686 -0.2340

1.1908 0.1184

-1.2025 0.3148

-0.0198 0.6780

-0.1567 -0.3510

0.2573 0.7990

Page 330: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-1.5

-1

-0.5

0

0.5

1

1.5

2

Figura 29: Regressão linear dos pontos ilustrados.

Page 331: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Regras de Associação

27. Introdução

A mineração de regras de associação permite a descoberta de relações de

associação em bases de dados, o que pode ajudar em várias etapas de tomada de

decisão, como projeto de catálogos, estratégias de marketing, vendas cruzadas e

análise de perdas.

Um exemplo típico de mineração de regras de associação é a análise de carrinho

de supermercado (market basket analysis), que investiga o comportamento de

compras de consumidores buscando associações entre os itens que eles colocam

nos carrinhos (Figura 30).

Page 332: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Leite Pão Cereais Manteiga

Leite Broa Cereais Chocolate

Pão Café

Ovos Açúcar Pão Café Iogurte Adoçante

Figura 30: Análise de carrinho de supermercado.

Dado um conjunto de transações, onde cada transação é um conjunto de itens, uma

regra de associação é uma regra X Y, na qual X e Y são conjuntos de itens.

O significado intuitivo de uma regra de associação é que as transações em uma

base de dados que contêm itens em X também contêm itens em Y.

Page 333: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Exemplo 01:

No exemplo da Figura 30, com quatro carrinhos (transações), 100% dos

consumidores que compram leite compram cereais e 50% dos consumidores que

compram cereais compram pão.

Se denominarmos X = leite, Y = cereais, Z = pão, então temos as seguintes regras:

Regra 1: X Y

Regra 2: Y Z

Os valores 100% e 50% são conhecidos como confiança da Regra 1 e da Regra 2,

respectivamente.

O suporte de cada regra é o percentual de transações que contém ambos X e Y. No

caso deste exemplo, o suporte da Regra 1 é 50% e o suporte da Regra 2 é 25%.

Exemplo 02:

98% dos consumidores que compram pneus e acessórios para carros também

pagam por algum serviço automotivo.

Page 334: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A confiança desta regra é de 98%.

27.1. Definição do Problema

As regras de associação podem ser vistas como padrões descritivos que

representam a probabilidade de que um conjunto de itens apareça em uma

transação visto que outro conjunto está presente.

O problema de minerar regras de associação corresponde a encontrar todas as

regras que satisfazem um valor mínimo pré-definido de suporte e confiança das

regras.

As regras de associação não são diferentes das regras de classificação, exceto pelo

fato de que elas podem ser usadas para predizer qualquer atributo, não apenas a

classe. Essa característica lhes dá a liberdade de predizer combinações de atributos

também.

Além disso, as regras de associação não são planejadas para serem usadas em

conjunto, como no caso das regras de classificação. Diferentes regras de

Page 335: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

associação expressam diferentes regularidades da base de dados e geralmente são

usadas para estimar aspectos distintos.

Como uma grande quantidade de regras de associação pode ser derivada a partir de

uma base de dados, mesmo que pequena, normalmente se objetiva a derivação de

regras que cubram um grande número de amostras e que possuem uma confiança

razoável para as amostras às quais elas são aplicáveis.

Conceitos:

o A cobertura ou suporte de uma regra de associação é o número de transações

para as quais ela faz a predição correta. Ela também pode ser entendida como a

utilidade de uma dada regra.

o A acurácia ou confiança de uma regra é o número de amostras que ela prediz

corretamente proporcionalmente às instâncias para as quais ela se aplica. Ela

também pode ser entendida como a certeza de uma dada regra.

Considere novamente o exemplo da base de dados do Clima (Tabela 4).

Page 336: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Assuma a seguinte regra:

Se temperatura = Branda, então umidade = normal

Neste caso, a cobertura é o percentual de dias com temperatura branda e umidade

normal, ou seja, suporte = 14,28%; e a confiança é a proporção de dias com

temperatura branda e que possuem umidade normal, ou seja, confiança = 33,33%.

Normalmente são estabelecidos valores mínimos para o suporte e a confiança das

regras de associação, que são derivadas de forma a satisfazer estes valores limites.

EPC 01: Para a base de dados do Clima (Tabela 4), calcule o suporte e a confiança

de cada uma das regras abaixo:

Se tempo = ensolarado e umidade = alta, então jogar = não

Se tempo = chuvoso e vento = sim, então jogar = não

Se tempo = fechado, então jogar = sim

Se umidade = normal, então jogar = sim

Page 337: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 26: Base de dados do Clima.

Tempo Temperatura Umidade Vento Jogar

Ensolarado Quente Alta Não Não

Ensolarado Quente Alta Sim Não

Fechado Quente Alta Não Sim

Chuvoso Branda Alta Não Sim

Chuvoso Fria Normal Não Sim

Chuvoso Fria Normal Sim Não

Fechado Fria Normal Sim Sim

Ensolarado Branda Alta Não Não

Ensolarado Fria Normal Não Sim

Chuvoso Branda Normal Não Sim

Ensolarado Branda Normal Sim Sim

Fechado Branda Alta Sim Sim

Fechado Quente Normal Não Sim

Chuvoso Branda Alta Sim Não

EPC 02: Para a base de dados das lentes de contato (Tabela 2), calcule o suporte e a

confiança de cada uma das regras abaixo: Se TPL = reduzida, então recomenda = nenhuma. Se idade = J e A = não e TPL = normal, então recomenda = macia. Se idade = PP e A = não e TPL = normal, então recomenda = macia. Se idade = P e prescrição = míope e A = não, então recomenda = nenhuma. Se prescrição = hipermetropia e A = não e TPL = normal, então recomenda = macia. Se prescrição = miopia e A = sim e TPL = normal, então recomenda = rígida. Se idade = J e A = sim e TPL = normal, então recomenda = rígida.

Page 338: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 27: Base de dados de lentes de contatos (Contact Lenses). TPL: Taxa de Produção de Lágrimas.

Idade Prescrição Astigmatismo (A) TPL Lente recomendada

Jovem Miopia Não Reduzida Nenhuma

Jovem Miopia Não Normal Macia

Jovem Miopia Sim Reduzida Nenhuma

Jovem Miopia Sim Normal Rígida

Jovem Hipermetropia Não Reduzida Nenhuma

Jovem Hipermetropia Não Normal Macia

Jovem Hipermetropia Sim Reduzida Nenhuma

Jovem Hipermetropia Sim Normal Rígida

Pré-presbiótico Miopia Não Reduzida Nenhuma

Pré-presbiótico Miopia Não Normal Macia

Pré-presbiótico Miopia Sim Reduzida Nenhuma

Pré-presbiótico Miopia Sim Normal Rígida

Pré-presbiótico Hipermetropia Não Reduzida Nenhuma

Pré-presbiótico Hipermetropia Não Normal Macia

Pré-presbiótico Hipermetropia Sim Reduzida Nenhuma

Pré-presbiótico Hipermetropia Sim Normal Nenhuma

Presbiótico Miopia Não Reduzida Nenhuma

Presbiótico Miopia Não Normal Nenhuma

Presbiótico Miopia Sim Reduzida Nenhuma

Presbiótico Miopia Sim Normal Rígida

Presbiótico Hipermetropia Não Reduzida Nenhuma

Presbiótico Hipermetropia Não Normal Macia

Presbiótico Hipermetropia Sim Reduzida Nenhuma

Presbiótico Hipermetropia Sim Normal Nenhuma

Page 339: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

28. Minerando Regras de Associação

28.1. Conceitos Básicos

Seja = {i1, i2, ... , im} um conjunto de itens.

Seja D um conjunto de transações da base de dados, onde cada transação T é um

conjunto de itens tal que T . Cada transação está associada a um identificador,

denominado TID.

Seja A um conjunto de itens, A T.

Uma regra de associação é uma implicação da forma:

A B

onde A, B , e A B = .

A regra A B vale para o conjunto de transações D com suporte s, onde s é o

percentual de transações em D que contêm A B. Esta é a probabilidade

P(A B).

Page 340: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

A regra A B tem confiança c no conjunto de transações D se c é o percentual de

transações em D contendo A que também contém B, o que corresponde à

probabilidade condicional P(B|A).

Portanto:

suporte(A B) = P(A B) = (Frequência de A e B) / (Total de T).

confiança(A B) = P(B|A) = (Frequência de A e B) / (Frequência de A).

Regras que satisfazem um limiar mínimo de suporte (min_sup) e um limiar mínimo

de confiança (min_conf) são denominadas de fortes ou grandes.

Por convenção, os valores de suporte e confiança são expressos percentualmente.

Um conjunto de itens que contém k itens é um conjunto-k.

A frequência de ocorrência de um conjunto de itens, conhecida por frequência,

contagem do suporte ou contagem do conjunto de itens, é o número de transações

que contêm o conjunto de itens.

Page 341: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Um conjunto de itens satisfaz o suporte mínimo se a frequência de ocorrência do

conjunto de itens é maior ou igual ao produto do min_sup pelo número total de

transações em D.

O número de transações necessárias para que o conjunto de itens satisfaça o

suporte mínimo é conhecido como contagem do suporte mínimo.

Se um conjunto de itens satisfaz o suporte mínimo, então ele é um conjunto

frequente.

O conjunto conjunto-k frequente é normalmente denotado por Lk.

Exemplo 03:

Seja = {Calçado, Tênis, Botas, Roupas, Jaqueta, Calça, Camiseta} e D a base de

dados abaixo (note que alguns itens são, na verdade, categorias de itens):

Page 342: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 28: Base de dados D.

Transação Itens comprados

100 Camiseta

200 Jaqueta, Botas

300 Calça, Botas

400 Tênis

500 Tênis

600 Jaqueta

Assuma min_sup = 30% e min_conf = 50%.

Assim, os conjuntos de itens com suporte mínimo (conjuntos frequentes) e as

regras para estes conjuntos de itens são mostradas abaixo:

Page 343: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Tabela 29: Conjuntos de itens frequentes.

Conjuntos de itens Suporte

{Jaqueta} 2/6

{Roupas} 4/6

{Calçados} 4/6

{Botas} 2/6

{Tênis} 2/6

{Roupas, Botas} 2/6

Tabela 30: Regras.

Regra Suporte Confiança

Jaqueta Botas 33% 50%

Calçado Tênis 66% 50%

Botas Roupas 33% 100%

28.2. Algoritmo Apriori de Mineração de Regras de Associação

O problema de descobrir regras de associação pode ser dividido em três partes:

1. Encontre todos os conjuntos de itens cujo suporte seja maior que o min_sup

especificado. Estes conjuntos são denominados de frequentes.

Page 344: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Use os conjuntos de itens frequentes para gerar as regras desejadas. A ideia

geral é que se, por exemplo, ABCD e AB são frequentes, então é possível

determinar se a regra AB CD é válida através do cálculo da razão

confiança = suporte(ABCD)/suporte(AB). Se a confiança for maior ou igual a

min_conf, então a regra é válida.

3. Efetue a poda de todas as regras não interessantes.

O algoritmo Apriori é um dos métodos mais conhecidos para a mineração de

regras de associação.

O algoritmo emprega busca em profundidade e gera conjuntos de itens candidatos

de k elementos a partir de conjuntos de itens de k 1 elementos.

Os itens candidatos não frequentes são eliminados.

Toda a base de dados é rastreada e os conjuntos de itens frequentes são obtidos a

partir dos conjuntos de itens candidatos.

Considere a seguinte notação:

Page 345: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

conjunto-k: conjunto com k itens

Fk: conjunto de itens frequentes de tamanho k (aqueles com suporte mínimo). Cada

elemento deste conjunto tem dois campos, o primeiro indicando o conjunto de

itens e o segundo um contador para o suporte.

Ck: conjunto de itens candidatos de tamanho k (conjuntos de itens potencialmente

frequentes). Cada elemento deste conjunto tem dois campos, o primeiro indicando

o conjunto de itens e o segundo um contador para o suporte.

Page 346: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Algoritmo: Apriori. Encontra conjuntos de itens frequentes usando uma

abordagem iterativa baseada na geração de candidatos.

Entradas: Base de dados, D, de transações; limiar mínimo de suporte,

min_sup. Saída: L, conjuntos de itens frequentes em D.

1. L1 := {conjunto de itens frequentes com 1 item}

2. for (k = 2; Lk1 ; k++)

a. Ck := apriori_gen(Lk1, min_sup)

b. for todas as transações t D, do //leia D

i. Ct = subconjunto(Ck,t) //pegue os subconjuntos candidatos de t ii. for cada candidato c Ct, do

c.count++ c. Lk := {c Ck | c.count min_sup}

3. L= k Lk

procedure apriori_gen(Lk1; min_sup)

1. inserirEm Ck

2. selecione p.item1, p.item2, ... , p.itemk1, q.itemk1

3. de Fk1p, Fk1q

4. onde p.item1 = q.item1, ... , p.itemk2 = q.itemk2, p.itemk1 < q.itemk1

5. for all c Ck do

a. for all sobconjuntos-de-(k 1) itens s de c do

i. if s Fk1 then

remova c de Ck

Page 347: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

28.3. Funcionamento do Algoritmo

A meta do algoritmo é procurar relações entre os dados enquanto eles são

separados e, para isso, ele calcula o valor do suporte e confiança das regras.

O algoritmo trabalha sobre uma base de transações em busca de itens frequentes,

ou seja, aqueles com suporte maior ou igual ao limiar mínimo.

Portanto, é necessário ter como entrada a base de dados de transações e o min_sup.

O algoritmo principal (Apriori) usa o procedimento apriori_gen(Lk1, min_sup)

para gerar conjuntos de itens candidatos. Neste conjunto são considerados todos os

itens, independente deles atenderem o limiar mínimo de suporte especificado, e são

eliminados os não-frequentes.

O procedimento subconjunto(Ck,t) é utilizado para extrair as regras de associação.

O algoritmo é executado da seguinte forma:

Page 348: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Na primeira iteração, o suporte para cada item individual (conjuntos-1) é

calculado e todos aqueles que satisfizerem o min_sup são selecionados,

compondo os conjuntos frequentes de um item (F1).

o Na segunda iteração conjuntos de dois itens (conjunto-2) candidatos são gerados

pela junção dos conjuntos de 1 item (feita através do procedimento apriori_gen)

e seus suportes são determinados pela pesquisa no banco de dados, encontrando-

se os conjuntos de 2 itens frequentes.

o O algoritmo prossegue iterativamente até que o conjunto de k itens encontrados

seja vazio.

O procedimento apriori_gen recebe como argumento Fk1 (conjuntos de (k 1)

itens) e retorna o conjunto dos conjuntos de todos os conjuntos de k itens.

Obtenção das Regras

Por fim, as regras de associação são obtidas após a determinação dos conjuntos de

itens frequentes F.

Page 349: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Para cada item frequente Y = {i1, i2, ... , ik} F, k 2, pode-se gerar todas as regras

(no máximo k) que usam itens do conjunto Y.

O antecedente de cada regra será o subconjunto X de Y tal que X tem k 1 itens e o

consequente será o item Y X.

Exemplo 04: Para a base de dados da Tabela 31 execute o algoritmo Apriori e

obtenha um conjunto de regras de associação. Assuma min_sup = 20% e min_conf =

50%.

Tabela 31: Transações efetuadas na base de dados.

Item 1 Item 2 Item 3 Item 4 Item 5

Transação 1 1 1 0 0 1

Transação 2 0 1 0 1 0

Transação 3 0 1 1 0 0

Transação 4 1 1 0 1 0

Transação 5 1 0 1 0 0

Transação 6 0 1 1 0 0

Transação 7 1 0 1 0 0

Transação 8 1 1 1 0 1

Transação 9 1 1 1 0 0

Transação 10 0 0 0 0 0

Page 350: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Para k = 1, os seguintes conjuntos candidatos (C1) são formados:

Conjunto Suporte

1 60%

2 70%

3 60%

4 20%

5 20%

Como todos os conjuntos acima satisfazem o suporte mínimo, o conjunto F1 é o

próprio C1.

O conjunto C2 será formado a partir da junção (combinação) dos itens de F1

(procedimento apriori_gen), tomados dois a dois, sendo que o primeiro deles é

sempre menor que o segundo.

O novo conjunto gerado com seu suporte é:

Conjunto de itens de Conjunto de itens frequentes

tamanho 2 (C2) de tamanho 2 (F2)

Conjunto Suporte Conjunto Suporte

1,2 40% 1,2 40%

Page 351: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1,3 40% 1,3 40%

1,4 10% 1,5 20%

1,5 20% 2,3 40%

2,3 40% 2,4 20%

2,4 20% 2,5 20%

2,5 20%

3,4 0%

3,5 10%

4,5 0%

A partir de F2 é gerado o conjunto C3 pela aplicação do procedimento apriori_gen

que produzirá conjuntos de tamanho 3. Esta função gera novos conjuntos a partir

de dois conjuntos de dois elementos nos quais os primeiros elementos são iguais e

o segundo elemento do segundo par é maior que o segundo elemento do primeiro

par:

Conjunto de itens de Conjunto de itens frequentes

tamanho 3 (C3) de tamanho 3 (F3)

Conjunto Suporte Conjunto Suporte

1,2,3 20% 1,2,3 20%

1,2,5 20% 1,2,5 20%

Page 352: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2,3,4 00%

2,3,5 10%

2,4,5 00%

Em seguida gera-se C4 e os valores de suporte são verificados, formando-se o

conjunto F4:

Conjunto de itens de

tamanho 4 (C4)

Conjunto Suporte

1,2,3,5 10%

Como F4 = o algoritmo pára e as regras de associação podem ser geradas:

L Regras Confiança

1,2 1 2 67%

1,3 1 3 67%

2,3 2 3 57%

EPC 03: Para a base de dados do Clima (Tabela 4) encontre um conjunto de regras

de associação dados min_sup = 21% e min_conf = 50%.

Page 353: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 04: Para a base de transações apresentada abaixo, assuma que o conjunto de

itens frequentes é l = {I1, I2, I5}. Quais regras de associação podem ser geradas a

partir de l e quais seus valores de confiança?

TID Itens

100 I1,I2,I5

101 I2,I4

102 I2,I3

103 I1,I2,I4

104 I1,I3

105 I2,I3

106 I1,I3

107 I1,I2,I3,I5

108 I1,I2,I3

Page 354: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Detecção de Anomalias

29. Introdução

A detecção de outliers tem sido usada há séculos para detectar e, quando

apropriado, executar alguma tomada de decisão sobre objetos anômalos da base de

dados.

Várias nomenclaturas são usadas quase indistintamente para detecção de outliers, a

saber, detecção de novidades, detecção de anomalias, detecção de ruídos,

detecção de desvios e mineração de exceções.

Neste tópico utilizaremos a expressão detecção de anomalias ou detecção de

outliers indistintamente.

Definições:

Page 355: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

1. “Um outlier é um objeto que parece desviar fortemente de outros membros da

amostra a qual ele pertence.” (Grubbs, F. E., 1969, “Procedures for detecting outlying

observations in samples”, Technometrics, 11, pp. 1-21.)

2. “Um outlier é um objeto ou subconjunto de objetos que parece inconsistente

com o restante da base de dados.” (Barnett, V.; Lewis, T. 1994, Outliers in Statistical Data,

3rd ed., John Wiley & Sons)

Um outlier é um valor discrepante, ou seja, um valor que se localiza muito distante

de quase todos os outros valores. Em relação aos outros valores um outlier é um

valor extremo, que pode ser um valor correto ou não.

Ou seja, é importante notar que um outlier não necessariamente é um erro ou um

ruído, ele pode caracterizar uma classe bem definida, porém de baixa ocorrência,

indesejada, ou que reside fora de agrupamentos ou classes típicas.

Page 356: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Ao explorarmos um conjunto de dados devemos considerar os outliers, pois eles

podem revelar informações importantes e podem afetar grandemente os valores da

média e do desvio padrão, bem como distorcer seriamente um histograma.

Em relação às medidas de tendência central e variabilidade, há três importantes

princípios envolvendo os outliers:

1. Um outlier pode ter um efeito dramático sobre a média;

2. Um outlier pode ter um efeito dramático sobre o desvio padrão;

3. Um outlier pode ter um efeito dramático sobre a escala do histograma, de modo

que a verdadeira natureza da distribuição pode ser totalmente obscurecida.

A detecção de anomalias é uma tarefa crítica em vários cenários, pois os outliers

(anomalias) indicam condições anormais de operação.

Seguem abaixo alguns exemplos de aplicação que usam detecção de anomalias:

1. Detecção de fraudes: em transações de cartões de crédito, em uso de telefones

celulares, em medição de consumo de energia, etc.

Page 357: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

2. Análise de crédito: identificação de clientes potencialmente problemáticos ou

fraudulentos, etc.

3. Detecção de intrusão: acesso não permitido a redes de computadores e

ambientes diversos, etc;

4. Monitoramento de atividades: negociações suspeitas em mercados financeiros,

comportamentos incomuns de usuários, etc;

5. Desempenho de rede: monitoramento do desempenho de redes de comunicação

para identificação de gargalos;

6. Diagnóstico de faltas: em motores, geradores, redes, instrumentos, etc;

7. Análise de imagens: identificação de novas características;

8. Monitoramento de séries temporais: em aplicações que envolvem séries

temporais, por exemplo, consumo de energia elétrica de subestações, análise de

batimentos cardíacos, etc.;

Page 358: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

9. Análise de textos: identificação de novas estórias, análise de desempenho de

commodities, etc.

Dois elementos centrais precisam ser considerados no momento de escolher uma

metodologia apropriada para um sistema de detecção de anomalias:

1. Selecionar um algoritmo capaz de modelar adequadamente a distribuição dos

dados e identificar corretamente outliers. Além disso, o algoritmo precisa

escalonar para grandes bases de dados;

2. Selecionar uma vizinhança adequada para um outlier. A seleção de uma

vizinhança de interesse não é uma tarefa trivial, sendo que muitos algoritmos

requerem uma grande quantidade de parâmetros a serem ajustados, enquanto

outros assumem um tipo específico de distribuição dos dados.

É importante salientar que não existe uma definição matemática rígida sobre o que

é um outlier; e sua detecção é uma tarefa bastante subjetiva. Da mesma forma, não

Page 359: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

há um método que seja genérico ou melhor que todos os outros em todos os cenários

(No Free Lunch!).

30. Abordagens para Detecção de Anomalias

A forma com que um sistema de detecção de anomalias trata as anomalias depende

da área de aplicação.

Há três abordagens principais para detecção de anomalias:

1. Tipo 1: aprendizagem não-supervisionada;

2. Tipo 2: aprendizagem supervisionada;

3. Tipo 3: aprendizagem semi-supervisionada.

30.1. Tipo 1: Aprendizagem Não-Supervisionada

Na abordagem Tipo 1 os outliers devem ser identificados sem nenhum

conhecimento a priori dos dados, de maneira análoga à aprendizagem não-

supervisionada.

Page 360: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Normalmente os dados são processados como uma distribuição estática, os pontos

mais distantes são identificados e apontados como potenciais outliers.

Estes métodos assumem que os erros ou falhas estão distantes dos dados normais e,

portanto, aparecerão como outliers.

Há duas abordagens do Tipo 1 comumente empregadas:

1. Diagnóstico: uma vez detectados os outliers, o sistema os remove da base de

dados e readequa o modelo ao restante dos dados até que não sobrem outliers;

2. Acomodação: esta metodologia incorpora os outliers ao modelo gerado e,

posteriormente, emprega um método robusto de classificação, induzindo uma

fronteira de normalidade ao redor da maioria dos dados que representam o

comportamento normal.

Page 361: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

30.2. Tipo 2: Aprendizagem Supervisionada

Na abordagem Tipo 2 tanto os comportamentos normais quanto os anormais são

modelados, analogamente a métodos de classificação baseada em aprendizagem

supervisionada. Neste caso, os dados normais e anômalos precisam ser rotulados.

Em muitos casos a classe normal é subdividida em várias classes para melhorar a

acurácia de classificação.

Os algoritmos de classificação requerem bases de dados representativas das

classes, permitindo uma ampla cobertura do espaço e bom desempenho de

generalização.

Os classificadores são mais adequados a dados estáticos, uma vez que o

classificador precisa ser reconstruído caso a distribuição dos dados varie, a não ser

que o sistema utilize um classificador incremental.

Page 362: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

30.3. Tipo 3: Aprendizagem Semi-Supervisionada

Na abordagem Tipo 3 apenas a classe normal é conhecida e, portanto, modelada.

Esta técnica é também denominada de reconhecimento ou detecção de novidades e

é análoga a uma tarefa de aprendizagem semi-supervisionada, pois a classe normal

é ensinada e o sistema aprende a reconhecer as anomalias.

Um sistema do Tipo 3 reconhece um novo exemplar como normal se ele está

dentro da fronteira que separa a classe normal do restante do espaço, e reconhece

como anomalia caso contrário.

Trata-se de um método adequado para dados estáticos ou dinâmicos, pois ele

aprende apenas uma classe que fornece o padrão de normalidade.

31. Áreas de Detecção de Anomalias

Três principais linhas de pesquisa investigam e propõem métodos para a detecção

de anomalias: Estatística (métodos baseados em proximidade, paramétricos, não-

Page 363: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

paramétricos e semi-paramétricos); Redes Neurais (supervisionadas e não-

supervisionadas); e Aprendizagem de Máquina (algoritmos de agrupamento e

classificação).

31.1. Métodos Estatísticos

Os métodos estatísticos foram os primeiros a serem utilizados para detecção de

anomalias e muitos deles operam com dados unidimensionais.

31.1.1. Métodos Não-Paramétricos

Há muitos métodos estatísticos que não assumem uma distribuição pré-

especificada dos dados. Exemplos destes métodos são a detecção de outlier

baseada no Diagrama em Caixa e no Range Interquartil.

Método 01: Box Plot (Tipo 1)

Uma das técnicas mais simples consiste em plotar um Diagrama em Caixa e

visualmente indicar os outliers, sendo que os outliers são os valores além dos

limites extremos do gráfico.

Page 364: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

EPC 01: A base de dados da Tabela 32 corresponde aos quatro atributos (colunas da

matriz) de dez objetos da classe Iris-Setosa da base de dados da Iris. Faça:

a) Desenhe um diagrama em caixa para cada atributo da base e verifique se há

algum outlier.

b) Desenhe um diagrama em caixa para a base de dados considerando todos os

objetos e verifique se há algum outlier.

Tabela 32: Dados parciais da base Iris.

0.2,4.1,1.5,0.1,Iris-setosa

5.5,4.2,1.4,0.2,Iris-setosa

4.9,3.1,1.5,0.1,Iris-setosa

5.0,3.2,1.2,0.2,Iris-setosa

5.5,3.5,1.3,0.2,Iris-setosa

4.9,3.1,1.5,1.1,Iris-setosa

4.4,3.0,1.3,0.2,Iris-setosa

5.1,0.4,1.5,0.2,Iris-setosa

5.0,3.5,1.3,0.3,Iris-setosa

4.5,2.3,1.3,0.3,Iris-setosa

Page 365: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Método 02: Range Interquartil (Tipo 1)

o O método denominado range interquartil calcula os valores dos quartis de um

diagrama em caixa e identifica como outlier qualquer objeto que esteja fora do

range:

[Q1 k(Q3 Q1), Q3 k(Q3 Q1)], (1)

onde k é uma constante definida pelo usuário.

EPC 02: Para base de dados da Tabela 32 aplique o método do Range Interquartil e

encontre um valor de k que indique um outlier no primeiro, outro no segundo e outro

no quarto atributo. Trate cada atributo separadamente.

31.1.2. Métodos Baseados em Proximidade

Os métodos baseados em proximidade são simples de implementar e não

necessitam da especificação prévia de um modelo de distribuição para os dados.

Eles podem ser aplicáveis tanto nos métodos do Tipo 1, quanto do Tipo 2.

Seu principal problema é o elevado custo computacional, que depende tanto da

dimensionalidade dos dados, quanto do número de objetos na base.

Page 366: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

Dentre as medidas de distância aplicáveis destacam-se Euclidiana e de

Mahalanobis.

Método 03: Método Baseado em k-NN (Tipo 1)

o Para um conjunto de m vizinhos (m < k) de um dado objeto, encontre a distância

dm do m-ésimo vizinho ao objeto.

o Se esta distância é menor que um limiar pré-definido, então o objeto está

contido em uma região suficientemente densa de dados e é classificada como

normal. Caso contrário, o objeto está em uma região dispersa e é considerado

um outlier.

Método 04: Voto Majoritário (Tipo 2)

o Os k vizinhos mais próximos de um dado objeto são determinados e ele é

rotulado de acordo com a classificação da maioria dos vizinhos mais próximos.

Método 05: k-Means (Tipo 1)

Page 367: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

o Para um determinado valor de k, o algoritmo k-means é executado e os

centróides de cada grupo determinados.

o Ao final do treinamento, cada cluster possui um raio igual a distância do

centróide ao objeto mais distante do cluster.

o Um novo objeto é comparado a todos os centróides e se sua distância a todos os

centróides for maior que o raio de cada um dos clusters, então ele é considerado

um outlier.

EPC 03: Utilizando o Método 03, verifique se há anomalias na base de dados da

Tabela 33.

EPC 04: Para a base de dados da Tabela 33 utilize o Método 04 com k = 2 para

determinar a classe dos seguintes objetos: (4.9,3.3,1.2,0.4), (0.2,0.7,0.6,0.3),

(4.5,3.3,1.3,0.4). Assuma que os dois últimos objetos da base são anomalias,

conhecidas a priori.

Tabela 33: Base de dados parcial da Iris com duas anomalias nos dois últimos objetos da base (negritados).

5.1,3.5,1.4,0.2, Iris-setosa

4.9,3.0,1.4,0.2, Iris-setosa

4.7,3.2,1.3,0.2, Iris-setosa

4.6,3.1,1.5,0.2, Iris-setosa

5.0,3.6,1.4,0.2, Iris-setosa

5.4,3.9,1.7,0.4, Iris-setosa

4.6,3.4,1.4,0.3, Iris-setosa

5.0,3.4,1.5,0.2, Iris-setosa

Page 368: 2008: Introdução à Mineração de Dados

Introdução à Mineração de Dados

Copyright © Leandro Nunes de Castro

4.4,2.9,1.4,0.2, Iris-setosa

4.9,3.1,1.5,0.1, Iris-setosa

5.4,3.7,1.5,0.2, Iris-setosa

4.8,3.4,1.6,0.2, Iris-setosa

4.8,3.0,1.4,0.1, Iris-setosa

4.3,3.0,1.1,0.1, Iris-setosa

5.8,4.0,1.2,0.2, Iris-setosa

5.7,4.4,1.5,0.4, Iris-setosa

5.4,3.9,1.3,0.4, Iris-setosa

5.1,3.5,1.4,0.3, Iris-setosa

0.7,0.8,0.7,0.3, Iris-setosa

0.1,0.8,0.5,0.3, Iris-setosa

Page 369: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 369

Método 06: k-Medóides (Tipo 1)

o Este Método funciona similarmente ao Método 04, porém utilizando o medóide

de cada grupo ao invés do centróide.

o As vantagens deste Método em relação ao anterior incluem uma maior robustez

a outliers, uma menor susceptibilidade a mínimos locais e a independência da

ordem dos dados.

31.1.3. Métodos Paramétricos

Os métodos paramétricos permitem que o modelo seja avaliado rapidamente para

novas instâncias e são adequados para grandes bases de dados, pois o modelo

cresce somente com a complexidade do modelo e não com o tamanho da base de

dados.

Entretanto, sua aplicação é limitada, pois eles forçam uma distribuição pré-

especificada aos dados.

Page 370: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 370

Método 07: Regressão Linear (Tipo 1)

o Uma forma de utilizar regressão linear para detecção de anomalias é

iterativamente podar os outliers e refazer a regressão. Este método avalia o

efeito de deletar o ponto de maior influência na regressão, ou seja, aquele que

causa o maior desvio no hiperplano de regressão, até que a influência do ponto

deletado seja inferior a um determinado limiar.

Método 08: Teste Estatístico de Grubbs (Tipo 1)

o O Teste de Grubbs, também conhecido como teste do erro normado máximo, é

utilizado em dados univariados normais, ou seja, é preciso verificar se os dados

podem ser aproximados por uma distribuição normal antes de aplicar o teste.

o O Teste de Grubbs detecta um outlier por vez e o elimina da base, interagindo

até que nenhum outlier seja detectado. É recomendado para bases com mais de

seis objetos.

o O Teste de Grubbs consiste em calcular

Page 371: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 371

s

xxG i

Ni

||max

,...,1

, (2)

onde x e s são, respectivamente, a média e o desvio padrão da amostra de

tamanho N.

o E verificar qual o maior desvio absoluto da média amostral em unidades de

desvio padrão.

EPC 05: Para a base de dados da Tabela 33 verifique se existe normalidade dos

dados da base (considerando todos os atributos) e aplique o teste de Grubbs para

identificar e remover anomalias da base. Assuma que se G 2.71, então o argmaxi

z é uma anomalia.

31.2. Redes Neurais

Abordagens neurais são geralmente não-paramétricas e baseadas em modelo, ou

seja, uma rede neural é treinada para responder adequadamente (classificar) aos

dados e depois utilizada como modelo de generalização (classificador) dos dados.

Page 372: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 372

Elas são capazes de aprender fronteiras complexas de classes e normalmente

requerem múltiplas apresentações da base de dados e procedimentos de validação

cruzada ou regularização para que a aprendizagem seja adequada.

31.2.1. Redes Neurais Supervisionadas

Método 09: Rede Neural Supervisionada (Tipo 1)

o Uma forma simples de utilizar redes neurais supervisionadas, como um MLP

por exemplo, para detectar anomalias é treinar a rede apenas com objetos

representativos das classes normais, apresentar um novo objeto e verificar o

valor de ativação dos neurônios de saída da rede.

o Caso este valor de ativação seja inferior a um determinado limiar, então o objeto

é considerado uma anomalia; caso contrário, ele é considerado normal.

Método 10: Rede Neural Supervisionada (Tipo 2)

o Outra forma simples de utilizar redes neurais supervisionadas, como um MLP

por exemplo, para detectar anomalias é treinar a rede com objetos

Page 373: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 373

representativos de ambas as classes, apresentar um novo objeto e verificar em

qual classe ele é mapeado.

Método 11: Rede Neural Supervisionada (Tipo 3)

o Também é possível utilizar outras redes supervisionadas, como a rede de

Hopfield discreta, para detectar anomalias.

o A rede de Hopfield é treinada apenas com os objetos pertencentes a classe

normal e, em seguida, os objetos a serem avaliados são apresentados a rede.

o Ao invés de fazer a recuperação do estado armazenado para os padrões de teste,

é calculada a função de energia para estes padrões e caso o valor da energia

fique acima de um determinado limiar, o padrão de entrada é considerado

anomalia.

Page 374: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 374

31.2.2. Redes Neurais Não-Supervisionadas

Método 12: Rede Neural Competitiva (Tipo 3)

o É possível utilizar uma rede neural competitiva, como uma rede auto-organizada

simples ou um Mapa Auto-Organizável de Kohonen, para detectar anomalias da

seguinte forma.

o Treine a rede neural utilizando apenas objetos da classe de dados normal. Após

treinada, verifique a distância do objeto a ser avaliado ao neurônio vencedor. Se

esta distância for maior que um determinado limiar, então o objeto é uma

anomalia; caso contrário, ele pertence a classe normal.

Nota: cabe ressaltar que, embora esteja sendo utilizado um método não-

supervisionado, os dados para o treinamento do classificador são rotulados, ou

seja, são utilizados apenas dados da classe normal. Assim, o algoritmo é

classificado como do Tipo 3.

Page 375: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 375

Método 13: Rede Neural Competitiva Construtiva (Tipo 1)

o Similarmente ao caso anterior, considere agora uma rede neural que permite a

inserção dinâmica de neurônios ao longo do processo de aprendizagem. Neste

caso, sempre que um neurônio existir na rede mapeando um número de objetos

muito pequeno em relação ao número de objetos de outros grupos, estes podem

ser considerados anomalias.

31.3. Aprendizagem de Máquina

Os métodos de detecção de anomalias vistos até agora enfocam dados reais

contínuos, como os métodos estatísticos e neurais apresentados.

Muitas técnicas de aprendizagem de máquina vistas neste curso, como árvores de

decisão e regras de classificação, trabalham com dados categóricos e não requerem

conhecimento a priori dos dados ou de sua distribuição.

Page 376: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 376

Além disso, estas técnicas geram superfícies de decisão relativamente simples, não

sofrem da maldição da dimensionalidade (pois normalmente escolhem os atributos

mais relevantes) e possuem uma única iteração para treinamento.

Árvores de decisão e Regras de classificação normalmente são empregadas como

algoritmos do Tipo 2.

31.4. Métodos Híbridos

Métodos híbridos combinam dois ou mais dos métodos estudados anteriormente

(estatísticos, neurais e de aprendizagem de máquina). O objetivo é hibridizar as

técnicas para superar deficiências específicas de cada uma delas.

Um exemplo de hibridização já existente na literatura é o uso do k-means ou outro

algoritmo de agrupamento seguido de um método de classificação (p. ex., redes

MLP).

Page 377: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 377

Mineração de Textos e Recomendação

32. Pré-Processamento e Análise de Textos

32.1. Introdução

A mineração de textos é um campo multidisciplinar de investigação que pode

requerer conhecimentos das áreas de Recuperação de Informação, Estatística e

Linguística, e é baseada na Mineração de Dados.

A mineração de textos objetiva a extração de regularidades e padrões em grandes

volumes de textos de linguagem natural, usualmente com objetivos específicos.

Baseada em mineração de dados, que procura descobrir padrões em bases de dados

estruturadas, a mineração de textos procura extrair conhecimento útil a partir de

dados não estruturados ou semi estruturados.

Page 378: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 378

Portanto, a mineração de textos prepara os dados (textos), estruturando-os de

forma a categorizar e gerar uma identidade para cada termo.

Este tópico aborda a análise de textos com base no clássico modelo de espaço

vetorial, que requer o pré-processamento dos documentos usando algumas (ou

todas) das seguintes etapas:

o Análise léxica ou tokenização do texto;

o Geração do dicionário, incluindo a eliminação de palavras frequentes

(stopwords), stemming, geração de vetores e armazenamento;

o Seleção de características; e

o Comparação de documentos

32.2. Análise Léxica ou Tokenização

Esta etapa é o primeiro passo para a manipulação de textos e corresponde à

conversão dos textos (conjunto de caracteres) em conjuntos de palavras conhecidas

como termos.

Page 379: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 379

A separação do documento em termos ocorre através da escolha de algumas

delimitações que podem ser desde uma palavra inteira (e.g. “pesquisa”), parte da

palavra (e.g. “pesq”) e até um espaço em branco.

Outras formas comuns de delimitação são as pontuações (e.g. “;” (ponto e

vírgula), “,” (vírgula), “.” (ponto)), caracteres especiais (e.g. “$”, “%”, “#”) e tags

de linguagens de marcação (e.g. “<html>”, “</xml>”).

32.3. Eliminação de Palavras Frequentes (Stopwords)

Stopword é o nome dado às palavras que são filtradas antes ou depois do

processamento do texto.

As stopwords podem ser vistas como uma espécie de ruído na informação,

dificultando a habilidade de identificar rapidamente a relevância do resultado da

busca ou o significado e importância das palavras em um documento.

A filtragem das stopwords permite que o documento se torne mais claro e útil.

Page 380: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 380

O conjunto de palavras classificadas como stopwords é denominado de stoplist e,

normalmente, depende do idioma.

Exemplos de stopwords são artigos e preposições, como ‘a’, ‘de’, etc.

A eliminação de stopwords é importante, pois diminui consideravelmente a

quantidade de palavras usadas na representação de um documento e possibilita o

aumento na precisão do cálculo de frequência das palavras nos documentos.

O resultado é uma melhoria na qualidade da geração do dicionário de palavras,

visto que as palavras mais usuais e desnecessárias não farão parte do dicionário.

32.4. Stemming

Uma vez que o documento foi segmentado em uma sequência de termos, o

próximo passo é converter cada um dos termos para um formato padrão, processo

normalmente referido como lematização ou stemming.

Lematização ou stemming é o processo de redução de palavras através da retirada

de derivações e plurais, e unificação dos sinônimos, ou seja, determinar um

Page 381: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 381

conjunto de palavras cuja raiz é a mesma, seja por significado ou gramaticalmente,

um centro de referência.

A lematização, apesar de parecer um processo fácil, é um processo que requer um

estudo gramatical minucioso da língua a ser utilizada e também da aplicação.

Algumas línguas, como a língua inglesa, possuem complicações menores do que a

língua portuguesa em relação às regras de plural.

A grande importância de seu uso é o fornecimento de padrões para cada palavra, o

que favorece a contagem de frequência das palavras no documento, mas a sua

vantagem nem sempre é perceptível, em especial para tarefas de classificação.

32.5. Geração de Vetores e Armazenamento

Os atributos característicos de um documento são os termos ou as palavras que ele

contêm.

Page 382: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 382

Todo o conjunto de palavras de todos os documentos é denominado de dicionário,

que forma a base para se criar uma planilha de dados numéricos na qual as linhas

correspondem aos documentos e as colunas aos atributos (termos).

Para reduzir o tamanho dos dicionários podem ser usados dicionários locais,

eliminação de stopwords, seleção de características, frequência dos termos

(termos raros e frequentes demais podem ser descartados), redução de termos

(stemming, sinonímia), e extração de palavras-chave (keywords).

Para descrever o processo de geração dos vetores considere a seguinte notação:

i = (i1, i2, ..., iL) corresponde ao item (documento) que se deseja analisar e L é o

número de termos deste documento; fl,j é o número de vezes (frequência absoluta)

que o termo l aparece no documento j.

Dada esta notação, a geração dos vetores de características para o preenchimento

das planilhas de dados numéricos pode considerar diversas transformações de

atributos, como a seguir:

Page 383: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 383

o Binária: insere ‘0’ ou ‘1’ na planilha de acordo com a presença ou ausência de

um determinado termo no documento.

o Frequência absoluta: insere a frequência de aparecimento de um dado termo

(token) no documento:

fl,j = número de ocorrências do termo l no documento j. (1)

o Frequência relativa ou normalizada: insere a frequência relativa de

aparecimento de um dado termo no documento (frequência absoluta dividida

pela frequência máxima dentre os termos do documento), conhecida como TFl,j:

TFl,j = fl,j /(maxz fz,j) (2)

onde o máximo é computado sobre as frequências fz,j de todas as palavras iz

que aparecem no documento ij.

o TF-IDF: frequência do termo (TF) modificada por um fator de escala,

denominado inverso da frequência do termo il nos documentos (IDFl), que

pondera a importância do termo:

Page 384: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 384

IDFl = log(N/DFl),

TF-IDF = TFl,j*IDFl, (3)

onde DFl é o número de documentos contendo o termo il e N é o número total

de documentos. Note que, nesta representação, termos que aparecem em

múltiplos documentos possuem um peso associado potencialmente menor do

que termos que aparecem em poucos documentos distintos.

Cada uma das transformações de atributos acima tem o objetivo de definir,

genericamente, um peso wl,j para cada termo il,j no documento j que será usado na

construção do vetor de atributos do documento ij.

Este peso wl,j pode ser qualquer um dos elementos dados pelas Eqs. (1) a (3).

32.6. Seleção de Características (Termos)

A etapa de seleção de características envolve dois passos principais:

1. Remoção de termos de baixa frequência;

Page 385: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 385

2. Seleção baseada em algum critério numérico bem definido, por exemplo, ganho

de informação.

A remoção de termos de baixa frequência é realizada através da eliminação dos

termos que não aparecem no mínimo em um número pré-especificado de

documentos, por exemplo, três. Os demais termos são selecionados.

Esse processo, em muitos casos, pode fornecer uma diminuição substancial do

número de termos no dicionário.

Calcular o ganho de informação para cada característica (termo) também favorece

a classificação dos termos mais relevantes em um conjunto de textos.

Após o ranqueamento através do ganho de informação, um limiar (threshold) é

utilizado para eliminar aqueles termos que promoveram um ganho menor que o

limiar estipulado.

O cálculo do ganho de informação fornece um valor de significância às palavras

relevantes permitindo a ordenação do dicionário de palavras pela sua relevância.

Page 386: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 386

Também conhecido como divergência Kullback–Leibler, divergência de

informação ou entropia relativa o ganho de informação é uma medida que verifica

a redução da entropia causada pela partição das amostras de acordo com os valores

de um atributo. O ganho de informação é obtido conforme a seguinte expressão:

Ganho (S, A) = Entropia ( S )

k

i

i

S

S

1 ||

|| x Entropia ( iS ) (4)

onde k é a quantidade de classes, iS são as instâncias por classe e a entropia fornece

a homogeneidade das classes, conforme visto anteriormente.

32.7. Comparação de Documentos

A comparação de documentos ou computação da similaridade entre vetores de

textos é um dos passos mais importantes para a tarefa de agrupamento, pois define

o quão similar um vetor é do outro, ou seja, um documento do outro.

Page 387: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 387

Dentre as medidas mais conhecidas para avaliação de similaridade entre vetores

gerados a partir de dados textuais destacam-se a Medida do Cosseno (Eq. (5)) e a

Correlação de Pearson (Eq. (6)):

v(ia,i) = cos(ia,i) = (iai)/(||ia||2*||i||2) (5)

v(ia,i) = [(ia īa)(i ī)]/(||ia īa||2*||i ī||2) (6)

onde ia é o vetor de atributos do item sendo pesquisado, i é um outro vetor de

atributos a ser comparado, īa é o valor médio de ia, ī é o valor médio de i, o operador

||||2 é a norma Euclidiana do vetor, e o operador iai corresponde ao produto interno

entre os vetores ia e i.

32.8. Análise dos Textos

Depois que um documento textual é transformado em uma matriz de dados

numéricos, através da aplicação de um ou mais dos métodos de pré-processamento

listados acima, praticamente qualquer técnica de mineração de dados vista neste

curso (predição, agrupamento e associação) pode ser aplicada.

Page 388: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 388

EPC 01: As cinco frases abaixo correspondem a uma base de dados textual. Pede-se:

a) Faça a tokenização dos documentos; b) Gere os documentos sem a seguinte lista

de stopwords (e, não, uma, que, se, às, das, em, o, teu, te, de, a, só, com, os, aos);

c) Para o processo de lematização (stemming) reduza todas as palavras no plural ao

singular e retire as derivações, gerando a raiz das palavras; d) Gere os vetores de

características através de transformação binária, frequência absoluta, frequência

relativa (TF), e pelo método TF-IDF; e) Através da medida do cosseno, da distância

Euclidiana e da correlação de Pearson, determine os documentos mais próximos

entre si.

1. Sonhos e dedicação são uma poderosa combinação (William Longgood)

2. Aqueles que se dedicam demasiado às pequenas coisas tornam-se normalmente

incapazes das grandes (François de La Rochefoucauld)

3. Se queres assumir em pleno o teu trabalho, não te esqueças de que toda a

vocação só se consegue concretizar com muita dedicação (Georges Bernanos)

4. Se você quer ser bem sucedido, precisa ter dedicação total, buscar seu último

limite e dar o melhor de si mesmo (Ayrton Senna)

5. Dedicação não é o que os outros esperam de você, é o que você pode dar aos

outros (Autor desconhecido)

Fonte: http://mensagensepoemas.uol.com.br/frases/frases-sobre-dedicacao.html

Page 389: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 389

33. Sistemas de Recomendação

33.1. Introdução

Sistemas de recomendação podem ter utilidades distintas, por exemplo, podem

servir como ferramentas de auxílio à identificação de conteúdo sobre o qual tecer

comentários, como ferramentas para ajudar na identificação de novos produtos ou

serviços a serem vistos e até mesmo adquiridos ou como ferramentas para o

treinamento de equipes de vendas.

Entretanto, a principal aplicação dos sistemas de recomendação é como ferramenta

de apoio à decisão de compra ou locação de algum produto ou serviço, como

livros, filmes, pacotes de viagem, CDs e muitos outros.

Em sua grande maioria eles estão incorporados a sites de comércio eletrônico ou e-

commerce.

Page 390: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 390

Os sistemas de recomendação mais simples operam da seguinte forma. Em um

determinado site de comércio eletrônico ou em uma loja na qual há terminais de

computadores com o catálogo de produtos/serviços disponíveis, o usuário (também

denominado de cliente ou consumidor) navega anonimamente pelo site da empresa

e, conforme sua navegação, o sistema de recomendação sugere produtos ou

serviços a serem vistos, consumidos ou adquiridos.

o Estes sistemas são denominados de baseados em conteúdo, pois as

recomendações consideram apenas a similaridade entre os itens sendo

pesquisados.

Em um caso um pouco mais complexo de sistema baseado em conteúdo, o usuário

entra em uma área pessoal dentro do sistema, que pode conter seu perfil,

informações sobre suas preferências, e dados históricos sobre seus itens visitados,

suas compras e itens que ele avaliou anteriormente.

Page 391: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 391

Com base nestas informações, o sistema de recomendação lhe sugere novos itens a

serem vistos, consumidos ou adquiridos.

A vantagem deste tipo de sistema é que itens já visitados não são mais

recomendados ao usuário, além do fato de que o sistema passa a usar as

‘preferências’ do usuário para fazer recomendações.

Os sistemas de recomendação mais comumente usados, entretanto, utilizam

informações sobre uma comunidade de usuários similares para recomendar um

dado item ao usuário ativo, ou seja, aquele usuário que está navegando pela loja.

o Estes últimos são chamados de sistemas de filtragem colaborativa ou sistemas

de recomendação colaborativa.

33.2. Motivação

É surpreendente o aumento na quantidade de informação, produtos e serviços

disponíveis no mercado atualmente.

Page 392: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 392

o Como exemplos, é possível citar uma enorme quantidade e variedade de pacotes

de viagens (cruzeiros, roteiros, eco-turismo, etc.), telefones celulares, livros,

vídeos, músicas, produtos laboratoriais, prestadoras de serviço, etc.

Diante deste cenário, os sistemas de recomendação deixaram de ser novidade e

passaram a fazer parte dos negócios de grandes e pequenas empresas,

principalmente naqueles efetuados através da Internet, conhecidos como comércio

eletrônico ou e-commerce.

Os sistemas de recomendação podem melhorar os resultados de um negócio de

diversas formas:

o Transformando visitantes (ou usuários) em clientes;

o Estimulando as vendas-cruzadas;

o Fidelização; e

o Treinamento.

Page 393: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 393

33.3. Tipos de Sistemas de Recomendação

Os sistemas de recomendação podem ser classificados de diversas formas. Por

exemplo, há uma taxonomia para os sistemas de recomendação baseada na

interface e nas propriedades da interação do usuário com o sistema. São definidas

duas dimensões na taxonomia, que são o grau de automação e o grau de

persistência das recomendações.

o Automáticas ou manuais, sendo que automática significa que a recomendação é

gerada sem um esforço explícito do usuário, enquanto a manual requer alguma

entrada de dados por parte do usuário.

o Efêmera ou persistente, sendo que uma recomendação efêmera é feita com base

em uma única seção ou visita de um usuário.

Em relação à forma como as recomendações são feitas, outra classificação é

apropriada:

Page 394: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 394

o Recomendações baseadas em conteúdo: a recomendação é feita através da

sugestão de itens similares àqueles que o usuário procura ou que ele adquiriu ou

preferiu anteriormente.

o Recomendações colaborativas: a recomendação é feita através da sugestão de

itens que usuários com gostos e preferências similares aos do usuário ativo

avaliaram anteriormente. Este tipo de recomendação requer dados sobre o

histórico de consumo do(s) usuário(s).

o Abordagens híbridas: estas abordagens combinam os métodos baseados em

conteúdo com os métodos colaborativos.

33.4. Formalização do Problema de Recomendação

Os sistemas de recomendação mais simples usam apenas informações sobre alguns

itens que um usuário está procurando para recomendar itens similares a estes.

Para isso, é necessária alguma métrica capaz de avaliar a similaridade entre os

itens.

Page 395: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 395

Os itens similares encontrados pelo sistema de recomendação podem ser

simplesmente ordenados, de acordo com seu grau de similaridade, e apresentados

ao usuário sob a forma de listas de recomendação, ou podem ser clusterizados em

grupos de itens similares a serem recomendados.

A maioria destes sistemas é projetada para analisar e recomendar itens com base

em suas descrições textuais e, portanto, o problema recai em uma tarefa de análise

(ou mineração) de textos.

No caso mais simples de sistemas de recomendação baseada em conteúdo e que

não empregam informações sobre o histórico de consumo dos usuários, há apenas

um conjunto de itens i I a partir do qual uma lista de recomendações deverá ser

gerada.

Esta lista de recomendações pode ser feita da seguinte forma:

i) dado um item que o usuário busca, é calculado o grau de similaridade entre ele e

os demais itens cadastrados;

Page 396: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 396

ii) a partir do vetor de similaridades (ou distâncias) gerado produz-se uma lista de

recomendação, o que pode ser feito através de um algoritmo de ordenação (em

ordem decrescente do mais similar ao menos similar) ou através de um algoritmo

de agrupamento de dados.

Dentre as medidas mais conhecidas para avaliação de similaridade entre os itens

destacam-se a Medida do Cosseno (Eq. (5)) e a Correlação de Pearson (Eq. (6)),

vistas anteriormente.

Os sistemas de recomendação que usam informações sobre o histórico de consumo

do usuário ativo e/ou de outros usuários possuem uma formulação um pouco mais

elaborada do que os sistemas simples baseados em conteúdo.

Seja U o conjunto de todos os usuários e I o conjunto de todos os itens que podem

ser recomendados (por exemplo, itens do estoque).

Page 397: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 397

Seja v uma função utilidade que mede o voto, a nota ou a utilidade de um item i a

um usuário u, ou seja, v : U × I R, onde R é um conjunto ordenado de itens a

serem recomendados.

Assim, para cada usuário u U, o objetivo é escolher um item i* I que

maximize a utilidade para o usuário:

)(maxarg iu,iIi

*

u v

, u U. (7)

onde v(u,i) é a utilidade do item i para o usuário u. Note que os elementos i e u

estão representados vetorialmente (em negrito) aqui, pois cada item ou usuário pode

corresponder a um vetor de atributos que os descreve.

A utilidade v de um item i é normalmente representada por uma nota,

correspondente a uma avaliação de um dado usuário u àquele item.

Cada elemento do conjunto de usuários U pode ser definido através de um perfil,

que inclui as características do usuário, como idade, renda, estado civil, etc.

Page 398: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 398

O perfil do usuário, no caso de sistemas de recomendação, também é comumente

definido como o conjunto de notas (utilidades) que ele atribuiu a um conjunto de

itens pesquisados ou adquiridos anteriormente.

De forma similar, os itens também podem possuir um perfil, que pode ser um

conjunto de avaliações recebidas por ele, ou uma identificação e descrições de

características relevantes ao item.

O problema central dos sistemas de recomendação que usam informações sobre o

histórico de consumo de seus usuários é que a utilidade v normalmente não está

definida em todo o espaço U I, implicando que v precisa ser extrapolada para

todo o espaço.

Esta extrapolação pode ser feita através de heurísticas que definem empiricamente

a função utilidade e avaliam seu desempenho, ou através de estimadores que

otimizam algum critério de desempenho, como o erro quadrático médio.

Page 399: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 399

Uma vez que as notas desconhecidas tiverem sido estimadas, a recomendação é

feita selecionando-se os itens de maior nota para aquele usuário, os N itens com

maior nota, ou um conjunto de itens para o usuário.

33.4.1. Recomendação Colaborativa

A recomendação colaborativa, também conhecida como filtragem colaborativa é a

técnica de recomendação mais conhecida atualmente.

A ideia básica de um sistema de filtragem colaborativa é recomendar um item ou

predizer a sua utilidade com base nas opiniões de usuários que possuem opiniões

similares ao usuário ativo.

As opiniões dos usuários podem ser obtidas de forma explícita, por exemplo,

através de formulários de avaliação, ou implícita, por exemplo, analisando seu

perfil de compras.

Propostas clássicas de sistemas de recomendação com base em notas (ratings)

atribuídas por usuários são os sistemas GroupLens, Ringo e Vídeo Recommender.

Page 400: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 400

Estas notas correspondem à utilidade v(u,i) de um item i para um usuário u.

Formalmente, a utilidade v(u,i) do item i ao usuário u é estimada com base nas

utilidades v(uj,i) do item i a outros usuários uj U que são similares ao usuário u.

Mais especificamente, os usuários uj U’, sendo que U’ é um grupo de usuários

similares a u.

Os sistemas de filtragem colaborativa podem ser classificados em baseados em

memória ou baseados em modelo.

Os algoritmos baseados em memória usam toda a base de dados de usuários para

fazer a predição, enquanto os algoritmos baseados em modelo empregam a base de

dados de usuários para estimar um modelo a ser usado para a predição.

Nos algoritmos baseados em memória, o valor da utilidade de um item v(u,i) é

calculado como sendo uma agregação das notas de outros usuários (usualmente os

N mais similares) ao mesmo item i:

Page 401: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 401

v(u,i) = aggrjU’ v(uj,i), (8)

onde U’ corresponde ao conjunto de usuários que avaliaram o item i e que são mais

similares (pertencem ao mesmo grupo) ao usuário ativo u. Os principais exemplos de

função de agregação são:

Média simples:

j

jvN

v ),(1

),( iuiu , (9)

onde uj U’, j = 1, 2, ..., N.

Soma ponderada:

),( *),im( ),( iuuuiu j

j

j vscv , (10)

onde uj U’, j = 1, 2, ..., N, sim(uj,u) é uma medida de similaridade entre o vetor de

atributos (notas ou utilidades) do usuário uj e do usuário u, e c é uma constante que

serve como fator de normalização. É comum selecionar a constante c da seguinte

forma:

Page 402: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 402

c = 1/j |sim(uj,u)| . (11)

Note que o objetivo da Eq. (11) é normalizar a utilidade v(u,i) da Eq. (10) com

base na similaridade entre as avaliações de uj U’, j = 1, 2, ..., N.

Soma ponderada ajustada:

)(-),( *),im()( ),( jj

j

j vvscvv uiuuuuiu , (12)

onde v(u) é a nota média do usuário u e v(uj) na Eq. (12) é definido como

ij vv ),(

|I'|

1)( iuu , onde I’ = {i I | v(u,i) }. (13)

Exemplos de medidas de similaridade que podem ser empregadas são a Medida do

Cosseno e a Correlação de Pearson.

Além das medidas de similaridade, também podem ser usadas medidas de

distância, como distância Euclidiana e a diferença média, para avaliar

indiretamente o grau de similaridade entre dois indivíduos ou itens.

Page 403: 2008: Introdução à Mineração de Dados

Leandro Nunes de Castro

Descoberta de Conhecimentos em Bases de Dados – Mackenzie

Tópico 1: Introdução 403

33.4.2. Abordagens Híbridas

As abordagens híbridas combinam filtragem colaborativa e métodos baseados em

conteúdo.

Dentre as diferentes formas de combinar estas estratégias destacam-se:

o Combinar a predição de cada um dos métodos implementados separadamente;

o Incorporar características das abordagens baseadas em conteúdo em uma

abordagem colaborativa;

o Incorporar características das abordagens colaborativas em uma abordagem

baseada em conteúdo;

o Construir um modelo unificado que incorpora as características de ambas as

abordagens.


Recommended