Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Mineração de Dados - Introdução
Elaine Ribeiro de FariaUFU 2018
1
Mineração de Dados
Processo de automaticamente descobrir informação útil em grandes repositórios de dados
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Mineração de Dados
n Motivação¨Grandes quantidades de dados geradas¨Dados de alta dimensionalidade¨Dados heterogêneos e complexos¨Dados distribuídos¨Análise não tradicional
Mineração de Dados
n Exemplos de aplicação¨Negócios
n Padrões de compra/ligações Marketingn Logs da Web Melhor design de sitesn Detecção de frauden Agrupamento de clientes
¨Bioinformátican Genes importantesn Sintomas associados a doenças
Mineração de Dados e Aprendizado de Máquina
Figura retirada dos slides do Prof. Ricardo Campello – ICMC-USP
Descoberta do conhecimento em bases de dados - KDD
Fayyad U. et al. Knowledge Discovery and Data Mining: Towards a Unfiying Framework, KDD 96, 1996
Mineração de Dados
n Tarefas de mineração¨Tarefas Preditivas
n Classificação n Regressãon Detecção de Anomalias
¨Tarefas Descritivasn Agrupamenton Descoberta de Regras de Associaçãon Descoberta de Padrões Sequenciais
Qual a diferença entre agrupamento e classificaçãon Agrupamento¨Aprendizado não-supervisionado sem
rótulo
n Classificação¨Aprendizado supervisionado usa os rótulos
Classificação
n Atribuir objetos a uma dentre várias categorias pré-definidas
n Ex.:¨ Classificação de letras e números¨ Reconhecimento de faces¨ Análise de crédito¨ Diagnóstico médico
9
Classificação
n Dado um conjunto de registros (conjunto de treinamento )¨ Cada registro contém um conjunto de atributos,
sendo que um dos atributos é a classe.n Encontrar um modelo para o atributo classe como uma
função dos valores dos outros atributos.n Objetivo: a partir de registros não vistos previamente
associar uma classe com base nomodelo.¨ Um conjunto de teste é usado para determinar a
acurácia do modelo. Usualmente, o conjunto de dados é divido em treino e teste, sendo que o treino é usado para construir o modelo e o teste para validá-lo.
10Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Exemplo de ClassificaçãoNome Idade Renda Pagador
João <30 Média Bom
Ana 41..50 Alta Bom
Pedro 41..50 Alta Bom
Maria 41..50 Baixa Ruim
Paulo <30 Baixa Ruim
Aldo >60 Alta Ruim
Base de DadosTreinamento
Construção de um Modelo de Decisão
ModeloAlgoritmo
Se idade = 41..50 e Renda = Alta entãoPagador = Bom
Se renda = baixa então Pagador = Ruim
Exemplo de Classificação
Nome Idade Renda Pagador
Ivo 31..40 Baixa ????
Novo DadoClassificaçãoClassificador
Se idade = 41..50 e Renda = Alta entãoPagador = Bom
Se renda = baixa então Pagador = Ruim
Ruim
Exemplo de Classificação
13
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
class
Refund MaritalStatus
TaxableIncome Cheat
No Single 75K ?
Yes Married 50K ?
No Married 150K ?
Yes Divorced 90K ?
No Single 40K ?
No Married 80K ?10
Conjuntode Teste
Conjunto de Treino
ModeloConstruir
Classificador
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Agrupamento
14
n Dado um conjunto de registros, cada um deles contendo um conjunto de atributos, e uma medida de similaridade entre eles, encontrar grupos tais que¨ Registros em um cluster são mais similares uns aos outros.¨ Registros em clusters distintos são menos similares
uns aos outros.n Medidas de similaridade:
¨ Distância Euclidiana se os atributos são contínuos.¨Medidas específicas para outros problemas.
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Agrupamento
15
xDistância Euclidiana baseada em um agrupamento no espaço 3D.
Distâncias intraclusters são minimizadas
Distâncias interclusters são maximizadas
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Exemplo de AgrupamentoNome Idade Peso
João 25 60
Ana 50 75
Pedro 60 90
Maria 22 65
Paulo 18 68
Aldo 15 80
Aplicação de uma técnica
agrupamento
João
Maria
Paulo
AldoAna
Pedro
Regressão
n Predizer um valor de uma dada variável de valor contínuo baseado no valor dos outros atributos
n Muito estudado em estatística e redes neurais.n Exemplos:
¨ Predizer a quantidade de vendas de um novo produto baseado nas despesas com publicidade
¨ Predizer a velocidade do vento como uma função da temperatura, umidade e pressão do ar, etc.
¨ Predição de séries temporais dos índices do mercado de ações
17
Entendo melhor a tarefa de classificação
18
Classificação Binária
n Mais comum¨Dados podem
pertencer a uma dentre 2 classesn Classe positivan Classe negativa
19
Classificação Avançada
n Classificação com uma única classe¨Detecção de Novidades
n Data Streams
n Classificação Multiclassesn Classificação Hierárquican Classificação Multi-rótulon Classificação com Rankingn Classificação com múltiplas instâncias
20
Técnicas de classificação
n Exemplos de técnicas de classificação¨K-vizinhos mais próximos¨Árvores de Decisão¨Métodos basedos em regras¨Redes Neurais¨Naive Bayes¨Support Vector Machines (SVM)
21
K-vizinhos mais próximos
n Aprendizado baseado em instância¨Classifica de acordo com distância aos
vizinhos
22
SimplesArmazenamento de dados (não há modelo explícito)
K-vizinhos mais próximos
Para cada novo exemploDefinir a classe dos k exemplos maispróximosClassificar exemplo na classemajoritária de seus vizinhos
23
K-vizinhos mais próximos
n Quantos vizinhos¨ K muito grande
n Vizinhos podem ser muito diferentesn Predição tendenciosa para classe majoritárian Custo computacional mais elevado
¨ K muito pequenon Não usa informação suficienten Previsão pode ser instáveln Distâncias podem ser ponderadas
24
Árvore de Decisão - Exemplo
25
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
categorical
categorical
continuous
class
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Single, Divorced
< 80K > 80K
Splitting Attributes
Model: Decision TreeRetirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Árvore de Decisão - Exemplo
26
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
classMarSt
Refund
TaxInc
YESNO
NO
NO
Yes No
Married Single,
Divorced
< 80K > 80K
There could be more than one tree that fits the same data!
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Tarefa de classificação usando árvores de decisão
27Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Apply Model to Test Data
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test DataStart from the root of tree.
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Apply Model to Test Data
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Apply Model to Test Data
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Apply Model to Test Data
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Apply Model to Test Data
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Apply Model to Test Data
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Assign Cheat to “No”
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
General Structure of Hunt’s Algorithmn Let Dt be the set of training records
that reach a node tn General Procedure:
¨ If Dt contains records that belong the same class yt, then t is a leaf node labeled as yt
¨ If Dt is an empty set, then t is a leaf node labeled by the default class, yd
¨ If Dt contains records that belong to more than one class, use an attribute test to split the data into smaller subsets. Recursively apply the procedure to each subset.
Dt
?
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Hunt’s AlgorithmDon’t Cheat
Refund
Don’t Cheat
Don’t Cheat
Yes No
Refund
Don’t Cheat
Yes No
MaritalStatus
Don’t Cheat
Cheat
Single,Divorced Married
TaxableIncome
Don’t Cheat
< 80K >= 80K
Refund
Don’t Cheat
Yes No
MaritalStatus
Don’t Cheat
Cheat
Single,Divorced Married
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Indução da árvoren Estratégia Gulos¨Dividir os registros basead em um atributo
teste que otimiza um certo critério.
n Questões¨Determinar como dividir os registros
n Como escolher o atributo de testen Como determinar a melhor divisão?
¨Determinar quando parar a divisão
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Como especificar uma condição de testen Depende do tipo do atributo¨Nominal¨Ordinal¨Contínuo
n Depende do número de modos de dividir¨2 divisões¨Mais que 2 divisões
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Como determinar a melhor divisão
n Proposta gulosa: ¨Nós com distribuição de classe homogênea
são prefereidosn Medida de impureza de um nó:
Não-homogêneo,
Alto nível de impureza
Homogêneo,
Baixo nível de impureza
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Medidas de Impureza de um nó
n Índice de Gini
n Entropia
n Erro de classificação
Retirado de: Tan, Steinbach, Kumar - Introduction to Data Mining
Entendo melhor a tarefa de agrupamento
40
Agrupamento - definições
Análise de grupos ou clusters é o estudo de algoritmos e métodos para agrupar objetos de acordo com suas características.
Cluster (grupo) é uma aglomeração de pontos no espaço tal que a distância entre quaisquer dois pontos no cluster é menor que a distância entre qualquer ponto no cluster e qualquer ponto que não está nele.
Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data, Prentice Hall, 1988.
Agrupamento
Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP
Agrupamento - questões
n O que é um grupo ideal?
n Quantos grupos devem ser formados?
n Há um agrupamento natural dos dados?
n Como podemos definir o que é semelhante?
Agrupamento
Quantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
AgrupamentoQuantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
AgrupamentoQuantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
AgrupamentoQuantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Agrupamenton Como agrupar os objetos??
n Alguns dos possíveis agrupamento
Keogh, E. A g. Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Agrupamento - questões
JAIN, A. K. 2008. Data Clustering: 50 Years Beyond K-Means, Pattern Recognition Letters, vol. 31, n 8, 2010.
Dados de entrada Agrupamento desejado
Agrupamenton Semelhança entre objetos
Keogh, E. A g. Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Tipos de Agrupamento
n Seja X = {x1, x2,..., xn} o conjunto de todos os dados¨Tarefa: colocar cada Xi em um dos m clusters
C1, C2, ..., Cm
¨Clusters podem ser de dois tipos:¨Tipo 1: duro (crisp)¨Tipo 2: fuzzy
Tipos de Agrupamento
n Cluster Crisp¨Cada exemplo Xi pertence ou não a cada
cluster Cj
¨Exemplo em Ci é mais semelhante a outros em Ci que àqueles em Cj, i ≠ j
Tipos de Agrupamento
n Cluster Fuzzy¨Usa uma função de pertinência para definir o
quanto um elemento pertence a um grupo
Diferentes Tipos de Agrupamento
n Agrupamento Particional¨ Divisão do conjunto de dados em grupos (não
sobrepostos) tal que cada objeto está em exatamente um grupo
Xn Agrupamento Hierárquico
¨ Conjunto de grupos aninhados que estão organizados como uma árvore
¨ Cada nó (grupo) na árvore (exceto as folhas) é a união de dos seus filhos (subgrupos)
¨ A raiz contém todos os objetos da base
Diferentes Tipos de Agrupamento
Keogh, E. A g. Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Diferentes Tipos de Agrupamento
n Exclusivo¨ Associa cada objeto a um único cluster
Xn Sobreposição (não exclusivo)
¨ Um objeto pode pertencer simultaneamente a mais que um grupo
Xn Fuzzy
¨ Cada objeto pertence a cada grupo com um grau de pertinência entre 0 e 1
Diferentes Tipos de Agrupamento
n Completo¨Associa cada objeto a um cluster
Xn Parcial¨Não associa cada objeto a um cluster¨Motivação: alguns objetos no conjunto de
dados podem não pertencer a grupos bem definidosn Ex: ruídos ou outliers
Algoritmos Particionais
n Características¨ São baseados na minimização de uma função de
custo¨ Objetos agrupados em um número K de grupos¨ Cada objeto é agrupado no grupo que minimiza a
função de custo¨ Uma única partição é obtida
n Vantagem¨ Um objeto pode mudar de grupo ao longo do
agrupamento
k-Means
Selecione K objetos como centróidesRepita
Forme K grupos associando cada objeto ao seu centróide mais próximoRecalcule os centróides de cada grupo
Até que Convergência seja obtida
k-Means
n Videos no youtube sobre K-Means
¨https://www.youtube.com/watch?v=IuRb3y8qKX4
¨https://www.youtube.com/watch?v=zHbxbb2ye3E
k-Means
n Centróides iniciais¨Ex de Técnica: Escolher aleatoriamente
objetos do conjunto de dados
n Associar um objeto ao seu grupo mais próximo¨Usar uma medida de proximidade que
quantifica a noção de mais próximo¨Ex: usar distância Euclidiana
k-Means
n Critérios de Convergência¨Número máximo de iterações é obtido¨Limiar mínimo de mudanças nos centróides
k-Means
n Função Objetivo¨Objetivo do agrupamento
Minimizar a distância quadrada de cada objeto ao seu centróide mais próximo
d: distância Euclidiana
k
c Cxcj
cj
xxdJ1
2),(
k-Means
n Limitações¨Escolha do valor de K¨Problemas quando os grupos têm
n Diferentes densidadesn Formatos não hiper-esféricos
¨Problemas quando os dados possuem outliers
Agrupamento
Após realizar o agrupamento o problema acabou?
Não, agora é preciso interpretar os resultados obtidos!!!!Analisar e avaliar o agrupamento!
Tarefa
n Sugestão de leitura ¨Tan P., SteinBack M. e Kumar V. Introduction
to Data Mining, Pearson¨ https://www-users.cs.umn.edu/~kumar001/dmbook/index.php#chapters
¨Leitura dos Capítulo 1, 3, 4, 7 e 8