군집화 5

[군집화] #6. DBSCAN

* "파이썬 머신러닝 완벽 가이드" 서적, 여러 개인 블로그들을 참고한 개인 공부용입니다 DBSCAN 대표적인 밀도 기반 군집화 알고리즘이다. 특정 공간 내에 데이터 밀도 차이를 기반 알고리즘으로 하고 있어 복잡한 기하학적 분포를 가진 데이터에도 군집화를 잘 수행한다. (K-means, 평균이동, GMM으로는 군집화 힘든 데이터) DBSCAN 주요 파라미터 입실론 주변 영역(epsilon): 개별 데이터를 중심으로 입실론 반경을 가지는 원형의 영역 최소 데이터 개수(min points): 개별 데이터의 입실론 주변 영역에 포함되는 타 데이터의 갯수 DBSCAN 데이터 포인트 핵심 포인트(core point): 주변 영역 내에 최소 데이터 갯수 이상의 타 데이터를 가지고 있는 경우 이웃 포인트(neighb..

머신러닝 2022.07.19

[군집화] #5. GMM

* "파이썬 머신러닝 완벽 가이드" 서적, 여러 개인 블로그들을 참고한 개인 공부용입니다 GMM GMM은 데이터가 여러 개의 정규 분포를 가진 데이터 집합들이 섞여서 생성된 것이라는 가정하에 군집화를 수행한다. GMM은 여러 개의 정규 분포 곡선을 추출하고, 개별 데이터가 그 중 어떤 정규 분포에 속하는지 결정한다. 이와 같은 방식은 GMM에서는 모수 추정이라고 하는데, 모수 추정은 대표적으로 2가지를 추정한다. 개별 정규 분포의 평균과 분산 각 데이터가 어떤 정규 분포에 해당되는지의 확률 모수 추정을 위해 GMM은 EM(Expectation and Maximization) 방법을 적용한다. from sklearn.datasets import load_iris iris = load_iris() featu..

머신러닝 2022.07.19

[군집화] #4. 평균이동

* "파이썬 머신러닝 완벽 가이드" 서적, 여러 개인 블로그들을 참고한 개인 공부용입니다 평균 이동 평균 이동(Mean Shift)는 K-Means와 유사하게 중심을 군집의 중심으로 지속적으로 움직이며 군집화한다. 두 방법의 차이점은 중심을 이동하는 방법이다. K-Means: 중심에 소속된 데이터의 평균 거리 중심으로 이동한다. 평균 이동: 중심을 데이터가 모여 있는 밀도가 가장 높은 곳으로 이동한다. 과정 평균 이동은 KDE(Kernerl Density Estimation)를 이용해서 확률 밀도 함수를 구한다. 데이터가 집중적으로 모여있어 확률 밀도 함수가 피크인 점을 군집 중심점으로 선정한다. 이러한 방식을 전체 데이터에 반복적으로 적용하면서 데이터의 군집 중심점을 찾는다. KDE(커널 밀도 추정) ..

머신러닝 2022.07.19

[군집화] #3. 군집평가

* "파이썬 머신러닝 완벽 가이드" 서적, 여러 개인 블로그들을 참고한 개인 공부용입니다 군집평가 비지도학습의 특성상 어떠한 지표라도 정확하게 성능을 평가하기 어렵다 실루엣 분석 다른 군집간은 비슷한 정도의 여유 거리가 있고, 동일 군집 데이터끼리는 가까운지 분석 실루엣 계수를 기반으로 하며 실루엣 계수는 개별 데이터가 가지는 군집화 지표이다. 실루엣 계수는 다음과 같이 표현할 수 있다. s(i) = (b(i)−a(i)) / max(a(i),b(i)) a(i): i번째 데이터에서 자신이 속한 군집내의 다른 데이터까지의 거리들의 평균 b(i): i번째 데이터에서 가장 가까운 타 군집내의 다른 데이터까지의 거리들의 평균 b(i)−a(i) : 두 군집 간 거리가 얼마나 떨어져 있는가 / max(a(i),b(i..

머신러닝 2022.07.15

[군집화] #1. K-means 알고리즘

* "파이썬 머신러닝 완벽 가이드" 서적, 여러 개인 블로그들을 참고한 개인 공부용입니다 군집화 비지도학습의 대표적인 기술로 x에대한 레이블이 지정 되어있지 않은 데이터를 그룹핑하는 분석 알고리즘 데이터들의 특성을 고려해 비슷한 특성을 가진 데이터 집단(클러스터)을 정의하고 데이터 집단의 대표할 수 있는 중심점을 찾는 것 이상탐지에 사용됨 K-means k-means 클러스터링은 데이터를 k개의 클러스터(cluster, 무리)로 분류 1) 사용자로부터 입력받은 k의 값에 따라, 임의로 클러스터 중심(centroid) k개를 설정해준다. 2) k개의 클러스터 중심으로부터 모든 데이터가 얼마나 떨어져 있는지 계산한 후에, 가장 가까운 클러스터 중심을 각 데이터의 클러스터로 정해준다. 3) 각 클러스터에 속하..

머신러닝 2022.03.22