2015년가을학기 손시운...

30
2015년 가을학기 손시운 ([email protected] ) 지도 교수: 문양세 교수님

Transcript of 2015년가을학기 손시운...

Page 1: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

2015년 가을학기

손시운 ([email protected])

지도교수: 문양세 교수님

Page 2: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

군집분석 (Cluster Analysis)

군집(Clustering)

– 패턴공간에 주어진유한 개의패턴들이서로 가깝게모여서 무리를이루고있

는패턴 집합을묶는 과정 (출처: aistudy.com)

2

(출처: espin086.wordpress.com) (출처: http://tagging.pui.ch)

Page 3: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

K-Means Clustering

k-means 군집화 (출처: wikipedia.org)

– 주어진데이터를 k개의클러스터로 묶는알고리즘으로, 각클러스터와 거리차

이의분산을 최소화하는방식으로 동작

3

Page 4: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

European Protein Consumption

4

Datasets

– 25개국 유럽국가단백질섭취율(%)

– 주요단백질 섭취원

• RedMeat(붉은고기: 소, 돼지등)

• WhiteMeat(흰살고기: 닭등)

• Eggs, Milk, Fish

• Cereals(곡물), Starch(녹말, 전분)

• Nuts, Fr&Veg(과일및야채)

– 현재 25개의 클러스터보다더 작은

수의클러스터로 군집화

• e.g. 지중해연안국가는특정음식의

단백질섭취율이높음

Country Red… Whit… Eggs Milk Fish Cere… Star… Nuts Fr&…

Albania 10.1 1.4 0.5 8.9 0.2 42.3 0.6 5.5 1.7

Austria 8.9 14 4.3 19.9 2.1 28 3.6 1.3 4.3

Belgium 13.5 9.3 4.1 17.5 4.5 26.6 5.7 2.1 4

Bulgaria 7.8 6 1.6 8.3 1.2 56.7 1.1 3.7 4.2

Czecho… 9.7 11.4 2.8 12.5 2 34.3 5 1.1 4

Denmark 10.6 10.8 3.7 25 9.9 21.9 4.8 0.7 2.4

E Germ… 8.4 11.6 3.7 11.1 5.4 24.6 6.5 0.8 3.6

Finland 9.5 4.9 2.7 33.7 5.8 26.3 5.1 1 1.4

France 18 9.9 3.3 19.5 5.7 28.1 4.8 2.4 6.5

Greece 10.2 3 2.8 17.6 5.9 41.7 2.2 7.8 6.5

Hungary 5.3 12.4 2.9 9.7 0.3 40.1 4 5.4 4.2

Ireland 13.9 10 4.7 25.8 2.2 24 6.2 1.6 2.9

Italy 9 5.1 2.9 13.7 3.4 36.8 2.1 4.3 6.7

Netherla… 9.5 13.6 3.6 23.4 2.5 22.4 4.2 1.8 3.7

Norway 9.4 4.7 2.7 23.3 9.7 23 4.6 1.6 2.7

Poland 6.9 10.2 2.7 19.3 3 36.1 5.9 2 6.6

Portugal 6.2 3.7 1.1 4.9 14.2 27 5.9 4.7 7.9

Romania 6.2 6.3 1.5 11.1 1 49.6 3.1 5.3 2.8

Spain 7.1 3.4 3.1 8.6 7 29.2 5.7 5.9 7.2

Sweden 9.9 7.8 3.5 24.7 7.5 19.5 3.7 1.4 2

Switzerl… 13.1 10.1 3.1 23.8 2.3 25.6 2.8 2.4 4.9

UK 17.4 5.7 4.7 20.6 4.3 24.3 4.7 3.4 3.3

USSR 9.3 4.6 2.1 16.6 3 43.6 6.4 3.4 2.9

W Germ… 11.4 12.5 4.1 18.8 3.4 18.6 5.2 1.5 3.8

Yugosla… 4.4 5 1.2 9.5 0.6 55.9 3 5.7 3.2

더 작은수의 클러스터로 군집화할 수있을까?

Page 5: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 데이터다운로드

데이터 다운로드

– http://www.biz.uiowa.edu/faculty/jledolter/DataMining/datatext.html

5

Page 6: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 데이터확인

6

Page 7: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: Red & White Meat 기반군집화

kmeans() 함수: R에기본적으로 내장되어 있는 K-Means 알고리즘

– 첫번째 인자: 군집에사용할 데이터

– 두번째 인자(centers): 클러스터의 수(k)

7

Page 8: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: Red & White Meat 기반군집화

결과 확인

8

Page 9: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: Red & White Meat 기반군집화

플로팅

9

Page 10: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 모든섭취원에대한군집화

앞의 예제는 Red Meat와 White Meat로 군집화

– 다음예제는 모든섭취원에 대해 7개의 클러스터로군집화

10

Page 11: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 모든섭취원에대한군집화

플로팅

11

Page 12: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 지도상에서군집결과확인

지도 관련 패키지 로딩

12

Page 13: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 지도상에서군집결과확인

각 나라별 좌표(위도, 경도) 저장

13

Page 14: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 지도상에서군집결과확인

플로팅

14

Page 15: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 1: 지도상에서군집결과확인

플로팅

15

Page 16: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Iris

Datasets: 150개의 Iris 꽃 데이터

– Sepal.Length: 꽃 받침길이

– Sepal.Width: 꽃받침 너비

– Petal.Length: 꽃잎길이

– Petal.Width: 꽃잎너비

– Species: 화종

• setosa

• versicolor

• virginica

16

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1 5.1 3.5 1.4 0.2setosa

2 4.9 3 1.4 0.2setosa

3 4.7 3.2 1.3 0.2setosa

4 4.6 3.1 1.5 0.2setosa

5 5 3.6 1.4 0.2setosa

6 5.4 3.9 1.7 0.4setosa

7 4.6 3.4 1.4 0.3setosa

8 5 3.4 1.5 0.2setosa

9 4.4 2.9 1.4 0.2setosa

10 4.9 3.1 1.5 0.1setosa

11 5.4 3.7 1.5 0.2setosa

12 4.8 3.4 1.6 0.2setosa

13 4.8 3 1.4 0.1setosa

14 4.3 3 1.1 0.1setosa

15 5.8 4 1.2 0.2setosa

Iris 데이터의 종을군집화할수있을까?

Page 17: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 2: 데이터초기화

iris 데이터에서 Species(화종)을 제외한 데이터를 추출

17

Page 18: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 2: K-Means 알고리즘사용

kmeans() 함수: R에기본적으로 내장되어 있는 K-Means 알고리즘

– 첫번째 인자: 군집에사용할 데이터

– 두번째 인자: 클러스터의수(k)

18

Page 19: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 2: Plotting

Sepal과 Petal의 각 값에해당하는 군집결과를 플로팅

19

Page 20: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 2: Plotting

Sepal과 Petal의 각 값에해당하는 군집결과를 플로팅

20

Page 21: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Hierarchical Clustering

계층형 군집화

– 계층트리로 구성된중첩된 클러스터를생성한다.

– 계통수(dendrogram)으로시각화될 수있다.

• 계통수형태의 트리는레코드들의병합/분할의순서를나타낸다.

21

1 3 2 5 4 60

0.05

0.1

0.15

0.2

1

2

3

4

5

6

1

23 4

5

Page 22: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 3: 데이터초기화

plotting을 위해 40개의데이터를 추출

Species(화종) 데이터 제거

22

Page 23: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 3: Hierarchical Clustering 사용

hclust() 함수: R에 기본적으로 내장되어 있는 계층형 군집화 알고리즘

– 첫번째 인자: 거리가계산된 데이터

• dist() 함수: 거리를계산하는함수

– "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski"

– method 인자: 계층형군집화알고리즘에 적용할유사도

• "ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (=

WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC)

23

Page 24: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 3: Plotting

Dendrogram

24

Page 25: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Density-Based Clustering

DBSCAN – 대표적 밀도기반 군집화 알고리즘

– 한점으로부터 일정거리 안에있는점들의 수가특정 값보다많다면군집화

• eps: 밀도를측정하는거리

• MinPts: 밀도를측정하기위한점들의 최소개수

– 밀도기반군집화의 장점은다양한 형태와크기의클러스터를 발견할수 있음

25

(출처: http://www.slideshare.net/salahecom/10-clusbasic)

Page 26: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 4: DBSCAN 알고리즘사용

dbscan() 함수: fpc 패키지에서 구현된 DBSCAN 알고리즘

– 1부터 3행은 뚜렷하게군집이 되었으나, 0행은 군집이제대로 되지않음

• 0행의값들은 noise 또는 outlier로취급

26

Page 27: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 4: Plotting

27

ds의 결과를 플로팅

– 검은색원이 noise 또는 outlier

Page 28: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 4: Plotting

28

Page 29: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 4: Plotting

첫 번째 컬럼(Sepal.Length)과 네번째 컬럼(Petal.Length)으로 플로팅

29

Page 30: 2015년가을학기 손시운 (ssw5176@kangwon.ac.kr)cs.kangwon.ac.kr/~ysmoon/courses/2015_2/dm/P-08.pdf군집분석(Cluster Analysis) 군집(Clustering) –패턴공간에주어진유한개의패턴들이서로가깝게모여서무리를이루고있

Ex. 4: Plotting

plotcluster() 함수: fpc 패키지에 있는 플로팅 함수

30