Mineração de Dados: Agrupamento - Aula...

Preview:

Citation preview

Mineração de Dados: Agrupamento - Aula 20

Profa Janniele Aparecida Soares Araujo

CSI462 – Sistemas de Apoio à Decisão

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

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

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

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

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

7

Mineração de dados: agrupamento

● Algoritmo K-Means● Atribuindo pontos ao centroide

mais próximo● Considere...

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

9

Mineração de dados: agrupamento

● Algoritmo K-Means: exemplo● Agrupamento de correntes de ar, normalização

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)

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)

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

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

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

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

16

Mineração de dados: agrupamento

● Algoritmo K-Means: exemplo● It.1: Representação gráfica

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)

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

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

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

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

22

Mineração de dados: agrupamento

● Algoritmo K-Means: exemplo● It.2: Representação gráfica

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)

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

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

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

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

28

Mineração de dados: agrupamento

● Algoritmo K-Means: exemplo● It.3: Representação gráfica

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)

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

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

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

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

Recommended