Download presentation
Presentation is loading. Please wait.
Published byIda Budiono Modified 5년 전
1
2014년 가을학기 손시운 (ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님
군집 2014년 가을학기 손시운 지도 교수: 문양세 교수님
2
군집 분석 (Cluster Analysis)
군집(Clustering) 패턴 공간에 주어진 유한 개의 패턴들이 서로 가깝게 모여서 무리를 이루고 있 는 패턴 집합을 묶는 과정 (출처: aistudy.com) (출처: espin086.wordpress.com) (출처:
3
K-Means Clustering k-means 군집화 (출처: wikipedia.org)
4
European Protein Consumption
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 14 4.3 19.9 2.1 28 3.6 1.3 Belgium 13.5 9.3 4.1 17.5 4.5 26.6 5.7 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 Denmark 10.6 10.8 25 9.9 21.9 4.8 0.7 2.4 E Germ… 8.4 11.6 11.1 5.4 24.6 6.5 0.8 Finland 9.5 4.9 2.7 33.7 5.8 26.3 5.1 1 France 18 3.3 19.5 28.1 Greece 10.2 3 17.6 5.9 41.7 2.2 Hungary 5.3 12.4 2.9 0.3 40.1 Ireland 13.9 10 4.7 25.8 24 6.2 Italy 9 13.7 3.4 36.8 6.7 Netherla… 13.6 23.4 2.5 22.4 1.8 Norway 9.4 23.3 23 4.6 Poland 6.9 19.3 36.1 6.6 Portugal 14.2 27 7.9 Romania 6.3 1.5 49.6 3.1 Spain 7.1 8.6 7 29.2 7.2 Sweden 3.5 24.7 7.5 Switzerl… 13.1 23.8 2.3 25.6 UK 17.4 20.6 24.3 USSR 16.6 43.6 6.4 W Germ… 18.8 18.6 5.2 3.8 Yugosla… 4.4 55.9 3.2 더 작은 수의 클러스터로 군집화할 수 있을까?
5
Ex. 1: 데이터 다운로드 데이터 다운로드
6
Ex. 1: 데이터 확인
7
Ex. 1: Red & White Meat 기반 군집화
kmeans() 함수: R에 기본적으로 내장되어 있는 K-Means 알고리즘 첫 번째 인자: 군집에 사용할 데이터 두 번째 인자(centers): 클러스터의 수(k)
8
Ex. 1: Red & White Meat 기반 군집화
결과 확인
9
Ex. 1: Red & White Meat 기반 군집화
플로팅
10
Ex. 1: 모든 섭취원에 대한 군집화 앞의 예제는 Red Meat와 White Meat로 군집화
다음 예제는 모든 섭취원에 대해 7개의 클러스터로 군집화
11
Ex. 1: 모든 섭취원에 대한 군집화 플로팅
12
Ex. 1: 지도 상에서 군집 결과 확인 지도 관련 패키지 로딩
13
Ex. 1: 지도 상에서 군집 결과 확인 각 나라별 좌표(위도, 경도) 저장
14
Ex. 1: 지도 상에서 군집 결과 확인 플로팅
15
Ex. 1: 지도 상에서 군집 결과 확인 플로팅
16
Iris Iris 데이터의 종을 군집화할 수 있을까? Datasets: 150개의 Iris 꽃 데이터
Sepal.Length: 꽃 받침 길이 Sepal.Width: 꽃 받침 너비 Petal.Length: 꽃잎 길이 Petal.Width: 꽃잎 너비 Species: 화종 setosa versicolor virginica # Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3 4.7 3.2 1.3 4 4.6 3.1 1.5 5 3.6 6 5.4 3.9 1.7 0.4 7 3.4 0.3 8 9 4.4 2.9 10 0.1 11 3.7 12 4.8 1.6 13 14 4.3 1.1 15 5.8 1.2 Iris 데이터의 종을 군집화할 수 있을까?
17
Ex. 2: 데이터 초기화 iris 데이터에서 Species(화종)을 제외한 데이터를 추출
18
Ex. 2: K-Means 알고리즘 사용 kmeans() 함수: R에 기본적으로 내장되어 있는 K-Means 알고리즘
첫 번째 인자: 군집에 사용할 데이터 두 번째 인자: 클러스터의 수(k)
19
Ex. 2: Plotting Sepal과 Petal의 각 값에 해당하는 군집 결과를 플로팅
20
Ex. 2: Plotting Sepal과 Petal의 각 값에 해당하는 군집 결과를 플로팅
21
Hierarchical Clustering
계층형 군집화 계층 트리로 구성된 중첩된 클러스터를 생성한다. 계통수(dendrogram)으로 시각화될 수 있다. 계통수 형태의 트리는 레코드들의 병합/분할의 순서를 나타낸다.
22
Ex. 3: 데이터 초기화 plotting을 위해 40개의 데이터를 추출 Species(화종) 데이터 제거
23
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)
24
Ex. 3: Plotting Dendrogram
25
Density-Based Clustering
DBSCAN – 대표적 밀도기반 군집화 알고리즘 한 점으로부터 일정 거리 안에 있는 점들의 수가 특정 값보다 많다면 군집화 eps: 밀도를 측정하는 거리 MinPts: 밀도를 측정하기 위한 점들의 최소 개수 밀도기반 군집화의 장점은 다양한 형태와 크기의 클러스터를 발견할 수 있음 (출처:
26
Ex. 4: DBSCAN 알고리즘 사용 dbscan() 함수: fps 패키지에서 구현된 DBSCAN 알고리즘
1부터 3행은 뚜렷하게 군집이 되었으나, 0행은 군집이 제대로 되지 않음 0행의 값들은 noise 또는 outlier로 취급
27
Ex. 4: Plotting ds의 결과를 플로팅 검은색 원이 noise 또는 outlier
28
Ex. 4: Plotting
29
Ex. 4: Plotting 첫 번째 컬럼(Sepal.Length)과 네 번째 컬럼(Petal.Length)으로 플로팅
30
Ex. 4: Plotting plotcluster() 함수: fps 패키지에 있는 플로팅 함수
Similar presentations