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.
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.
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
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
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
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
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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:
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
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.
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.
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.
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
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
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.
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.
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):
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.
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
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).
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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;
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.
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.
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.
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
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.
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.
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:
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.
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.
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).
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.
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
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).
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.
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,
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
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)
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.
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?
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.
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.
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.
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.
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).
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
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
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
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
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
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
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.
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’;
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Introdução à Mineração de Dados
Copyright © Leandro Nunes de Castro
Figura 3: Redução na quantidade de objetos e atributos.
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;
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;
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:
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.
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).
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)
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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)
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:
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.
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.
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).
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:
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.
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;
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;
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.
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.
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.
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
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.
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.
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).
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.
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:
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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):
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.
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.
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)
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.
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.
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.
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.
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
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;
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.
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
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.
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.
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,
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;
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
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:
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.
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.
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.
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:
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?
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.
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:
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)
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)
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:
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.
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
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;
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.
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:
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.
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:
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.
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.
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
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)).
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
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.
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.
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).
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.
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,
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:
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.
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.
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)
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)
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.
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.
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%
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:
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.
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)
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)
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:
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.
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.
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.
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.
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.
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.
Introdução à Mineração de Dados
Copyright © Leandro Nunes de Castro
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
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.
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.
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.
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).
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
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.
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.
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)
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.
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.
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.
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.
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)
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)]
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.
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.
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)
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.
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.
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).
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
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.
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.
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
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:
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.
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.
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
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).
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
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.
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:
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)
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
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
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.
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
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) =
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.
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.
Introdução à Mineração de Dados
Copyright © Leandro Nunes de Castro
Figura 24: Construção da MST usando o algoritmo de Prim.
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.
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.
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.
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
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.
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
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
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:
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}.
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
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.
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.
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.
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
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.
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.
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:
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
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.
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.
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;
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:
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:
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)
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 é
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.
Introdução à Mineração de Dados
Copyright © Leandro Nunes de Castro
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.
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.
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.
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).
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
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.
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?
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
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)
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.
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.
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:
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.
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
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.
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.
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.
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 é:
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;
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.
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
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);
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:
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).
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)
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
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.
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.
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.
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
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.
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.
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.
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
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.
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)
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).
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
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.
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.
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
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)
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
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)
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.
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:
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.
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)
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).
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
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.
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).
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.
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.
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
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).
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
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.
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
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).
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.
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):
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:
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.
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:
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.
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
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:
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.
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
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%
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%
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%.
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
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:
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.
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.
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.;
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
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.
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.
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.
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-
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.
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
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.
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)
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
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
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.
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
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.
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
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.
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.
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.
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).
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.
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.
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.
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
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.
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:
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:
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;
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.
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.
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.
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
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.
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.
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.
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.
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:
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.
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;
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).
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.
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.
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.
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:
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:
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.
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.