Mineração de Dados: Agrupamento - Aula...
Transcript of Mineração de Dados: Agrupamento - Aula...
![Page 1: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/1.jpg)
Mineração de Dados: Agrupamento - Aula 20
Profa Janniele Aparecida Soares Araujo
CSI462 – Sistemas de Apoio à Decisão
![Page 2: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/2.jpg)
2
Mineração de dados: agrupamento
● Definição● Agrupamento é a tarefa de dividir os dados em grupos que tenham
significado e/ou sejam úteis● Exemplos de aplicações
● Encontrar grupos de genes com funções semelhantes● Encontrar uma alocação de antenas de telecomunicação● Segmentar clientes para atividades de marketing
![Page 3: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/3.jpg)
3
Mineração de dados: agrupamento
● Definição● É uma técnica particional de agrupamento baseada em protótipos que
tenta encontrar um número especificado pelo usuário de grupos(k), que são representados pelos seus centroides
![Page 4: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/4.jpg)
4
Mineração de dados: agrupamento
● Algoritmo K-Means● Encontrar K centroides que
melhor separam o conjunto de dados
● K é o número de grupos desejados
● K é um parâmetro especificado pelo usuário
![Page 5: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/5.jpg)
5
Mineração de dados: agrupamento
● Algoritmo K-Means● Define-se K centroides iniciais
● De forma aleatória● Abordagens mais elaboradas
● Repita● Atribuir cada ponto a seu centroide mais próximo● Cada coleção de pontos atribuídos a um centroide é um grupo● Recalcular o centroide de cada grupo baseado nos pontos atribuídos
● Até que os centroide não mudem
![Page 6: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/6.jpg)
6
Mineração de dados: agrupamento
● Algoritmo K-Means
K-means(k centros)
1. Normalizar os registros do conjunto de treinamento e selecionar k pontos como centroide iniciais
2. faça
1. Agrupar cada registro x(a) do conjunto de treinamento no grupamento, de acordo com a menor distância do registro ao centro de agrupamento da iteração corrente
2. Atualizar a matriz dos centros de agrupamentos pela média das coordenadas dos pontos em cada agrupamento
3. até que os centroides não mudem ou 1% de diferença
fimK-means
![Page 7: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/7.jpg)
7
Mineração de dados: agrupamento
● Algoritmo K-Means● Atribuindo pontos ao centroide
mais próximo● Considere...
![Page 8: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/8.jpg)
8
Mineração de dados: agrupamento
● Algoritmo K-Means● Como saber qual o centroide mais próximo?
● Distância euclidiana
● Como saber se um agrupamento está bom?● Soma do erro quadrado
● Como recalcular o centroide?● Média dos pontos que representa
d (x , y )=√∑k=1
n
(x k− y k)2
SSE=∑i=1
K
∑x∈Ci
d (ci , x )2
ci=∑x∈Ci
x
mi
![Page 9: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/9.jpg)
9
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● Agrupamento de correntes de ar, normalização
![Page 10: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/10.jpg)
10
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● Geração de K centroides aleatórios (K = 3)● c1 = (0,72; 0,31), c2 = (0,43; 0,81), c3 = (0,31; 0,17)
![Page 11: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/11.jpg)
11
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.1: Atribuir cada ponto ao
centroide mais próximo● c1 = (0,72; 0,31) ● c2 = (0,43; 0,81)● c3 = (0,31; 0,17)
![Page 12: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/12.jpg)
12
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.1: Calcular custo
= 0, 352 + 0, 352 + 0, 312 + 0, 352 + 0, 282 + 0, 332 + 0, 242 + 0, 052 + 0, 392 + 0, 402 + 0, 402 + 0, 442
= 1,38
SSE=∑i=1
K
∑x∈Ci
d (ci , x )2
![Page 13: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/13.jpg)
13
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.1: Recalcular os centroides
C 1 long=
∑x∈Ci
x
mi=
(1,00+0,97+0,93+0,95+0,61+0,66+0,74)
7=0,84
C1 lat=∑x∈Ci
x
mi=
(0,52+0,56+0,53+0,57+0,00+0,07+0,26)
7=0,36
![Page 14: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/14.jpg)
14
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.1: Recalcular os centroides
C 2 long=
∑x∈Ci
x
mi=
(0,05+0,08+0,03+0,00)
4=0,04
C2 lat=∑x∈Ci
x
mi=
(0,89+1,00+0,81+0,89)
4=0,90
![Page 15: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/15.jpg)
15
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.1: Recalcular os centroides
C 3 long=
∑x∈Ci
x
mi=
(0,56 )
1=0,56
C3 lat=∑x∈Ci
x
mi=
(0,04)
1=0,04
![Page 16: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/16.jpg)
16
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.1: Representação gráfica
![Page 17: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/17.jpg)
17
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.2: Atribuir cada ponto ao
centroide mais próximo● c1 = (0,84; 0,36)● c2 = (0,04; 0,90)● c3 = (0,56; 0,04)
![Page 18: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/18.jpg)
18
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.2: Calcular custo
= 0,232 + 0,232 + 0,202 + 0,242 + 0,002 + 0,062 + 0,102 + 0,142 + 0,012 + 0,112 + 0,092 + 0,042
= 0,26
SSE=∑i=1
K
∑x∈Ci
d (ci , x )2
![Page 19: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/19.jpg)
19
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.2: Recalcular os centroides
C 1 long=
∑x∈Ci
x
mi=
(1,00+0,97+0,93+0,95+0,74)
5=0,92
C1 lat=∑x∈Ci
x
mi=
(0,52+0,56+0,53+0,57+0,26)
5=0,49
![Page 20: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/20.jpg)
20
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.2: Recalcular os centroides
C 2 long=
∑x∈Ci
x
mi=
(0,05+0,08+0,03+0,00)
4=0,04
C2 lat=∑x∈Ci
x
mi=
(0,89+1,00+0,81+0,89)
4=0,90
![Page 21: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/21.jpg)
21
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.2: Recalcular os centroides
C 3 long=
∑x∈Ci
x
mi=
(0,56+0,61+0,66)
3=0,61
C3 lat=∑x∈Ci
x
mi=
(0,04+0,00+0,07 )
3=0,04
![Page 22: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/22.jpg)
22
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.2: Representação gráfica
![Page 23: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/23.jpg)
23
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.3: Atribuir cada ponto ao
centroide mais próximo● c1 = (0,92; 0,49)● c2 = (0,04; 0,90)● c3 = (0,61; 0,04)
![Page 24: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/24.jpg)
24
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.3: Calcular custo
= 0,092 + 0,082 + 0,052 + 0,092 + 0,052 + 0,042 + 0,062 + 0,262 + 0,012 + 0,112 + 0,082 + 0,042
= 0,11
SSE=∑i=1
K
∑x∈Ci
d (ci , x )2
![Page 25: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/25.jpg)
25
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.3: Recalcular os centroides
C 1 long=
∑x∈Ci
x
mi=
(1,00+0,97+0,93+0,95)
4=0,96
C1 lat=∑x∈Ci
x
mi=
(0,52+0,56+0,53+0,57)
4=0,54
![Page 26: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/26.jpg)
26
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.3: Recalcular os centroides
C2 lat=∑x∈Ci
x
mi=
(0,89+1,00+0,81+0,89)
4=0,90
C 2 long=∑x∈Ci
x
mi=
(0,05+0,08+0,03+0,00)
4=0,04
![Page 27: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/27.jpg)
27
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.3: Recalcular os centroides
C 3 long=
∑x∈Ci
x
mi=
(0,56+0,61+0,66+0,74)
4=0,64
C3 lat=∑x∈Ci
x
mi=
(0,04+0,00+0,07+0,26)
4=0,09
![Page 28: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/28.jpg)
28
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.3: Representação gráfica
![Page 29: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/29.jpg)
29
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.4: Atribuir cada ponto ao
centroide mais próximo● c1 = (0,96; 0,54)● c2 = (0,04; 0,90)● c3 = (0,64; 0,09)
![Page 30: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/30.jpg)
30
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● It.4: Recalcular os centroides
C 2 lat=∑x∈Ci
x
mi=
(0,89+1,00+0,81+0,89)
4=0,90
C1 long=∑x∈Ci
x
mi=
(1,00+0,97+0,93+0,95)
4=0,96
C 1 lat=∑x∈Ci
x
mi=
(0,52+0,56+0,53+0,57)
4=0,54
C3 long=
∑x∈Ci
x
mi=
(0,56+0,61+0,66+0,74)
4=0,64
C 3 lat=∑x∈Ci
x
mi=
(0,04+0,00+0,07+0,26)
4=0,09
C 2 long=∑x∈Ci
x
mi=
(0,05+0,08+0,03+0,00)
4=0,04
![Page 31: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/31.jpg)
31
Mineração de dados: agrupamento
● Algoritmo K-Means: exemplo● Centroides não mudaram!● Logo a solução final é:
● c1 = (0,96; 0,54)● c2 = (0,04; 0,90)● c3 = (0,64; 0,09)
● Custo = 0,11
![Page 32: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/32.jpg)
32
Mineração de dados: agrupamento
● Exercício● Utilize o algoritmo K-Means
para encontrar as 3 classes existentes
● Calcule e mostre a posição dos centroides durante todas as iterações do algoritmo
![Page 33: Mineração de Dados: Agrupamento - Aula 20professor.ufop.br/sites/default/files/janniele/files/...Algoritmo K-Means K-means(k centros) 1. Normalizar os registros do conjunto de treinamento](https://reader034.fdocumentos.tips/reader034/viewer/2022042605/5f3e616f581b8127e53bd3b4/html5/thumbnails/33.jpg)
33
Bibliografia
● Introdução ao Data Mining. Steinbach, Michael; Kumar, Vipin; Tan, Pang-ning, Rio de Janeiro: Ed. Ciência Moderna, 2009.
● Notas de Data Mining. Fonseca, G.H.G, Universidade Federal de Ouro Preto, 2013