[Python] Clustering, KNN

33. Clustering, KNN

 

33.1 분류의 2가지 종류

33.1.1 Classification

33.1.2 Clustering

 

 

33.2 군집분석(Clustering)의 원리

33.2.1 거리가 가까운 (유사도가 높은) 개체들을 서로 묶어 하나의 그룹으로 정리

 

33.2.2 거리(유사도)의 계산방법

유클리드 거리(Euclidean distance)가 주로 사용됨

Euclidean distance . (n.d.). Retrieved from http://rosalind.info/glossary/euclidean-distance/.

 

맨해튼 거리(Manhattan distance)

Manhattan . (n.d.). Retrieved from http://www.improvedoutcomes.com/docs/WebSiteDocs/Clustering/Clustering_Parameters/Manhattan_Distance_Metric.htm.

 

 

33.2.3 군집화 방법

33.2.3.1 계층적 군집화 방법

Hierarchical method

 

33.2.3.2 비계층적 군집화 방법

K-means clustering(비지도학습, Unsupervised Learning)

 

 

33.3 K-means 군집화의 실행단계

33.3.1 나누고자 하는 클러스터의 개수를 설정, 그 갯수만큼 임의의 초기점 생성

33.3.2 initial point를 군집중심점으로 생각하고 군집 구분 실시

33.3.3 군집별로 새로운 군집중심점을 계산

33.3.4 새로운 군집중심점을 기준으로 군집 구분 실시

33.3.5 3-4번 과정을 반복 (더 이상 군집 구분의 변화가 없을 때까지)

33.3.5.1 다음과 같이 X, Y로 분포되어 있는 데이터들을 유사한 3개의 집단으로 군집화

33.3.5.2 우선 임의로 3개의 군집 중심점(임시)을 설정

33.3.5.3 임시로 설정된 세 좌표를 기준으로 군집화 수행

33.3.5.4 각 군집별 중심점을 계산하여, 새로운 중심점 설정

33.3.5.5 새로운 중심점을 기준으로 군집화 수행 -> 일부 좌표의 소속 군집 변화

33.3.5.6 다시 새로운 군집 중심점 설정 (이후 앞의 내용을 계속해서 반복)

 

 

33.4 K-means clustering 방법의 장/단점

33.4.1 장점

적용이 쉽고 간단하다

 

33.4.2 단점

군집의 개수 K는 사전에 설정하여야 한다

군집 설정에 Outlier(극단좌표)의 영향이 크게 작용한다

 

 

33.5 KNN 알고리즘(K-means와 다르므로 주의)

33.5.1 k-최근접 이웃 알고리즘(k-NN, k-Nearest Neighbor) - 분류 알고리즘

33.5.2 지도학습(Supervised Learning)

33.5.3 분류 방법

같은 값이라도 k(최근접 이웃)의 개수에 따라 분류 결과가 달라진다.

33.5.3.1 k = 1인 경우

33.5.3.2 k = 3인 경우

'programming > python' 카테고리의 다른 글

[Python] Tensorflow 기초  (0) 2019.09.10
[Python] Java와 Python 연동  (4) 2019.09.04
[Python] Clustering, KNN  (0) 2019.09.03
[Python] SVM(Support Vector Machines)  (0) 2019.07.03
[Python] 의사결정나무  (0) 2019.07.02
[Python] 인공신경망  (0) 2019.06.25

댓글(0)

Designed by JB FACTORY