데이터로 Deep Dive

데이터 분석과 개발 경험을 공유합니다.

K-Means 2

클러스터 분석 - 계층, 밀도, 분포 기반 클러스터링, DBSCAN, GMM

from sklearn.mixture import GaussianMixturen_components = 4 # 분포 개수random_state = 10 # 모델 고정model = GaussianMixture(n_components=n_components, random_state=random_state)# GMM 모델 학습model.fit(df)df['gmm_label'] = model.predict(df)# 시각화sns.scatterplot(x=df[0], y=df[1], hue=df['gmm_label'], palette='rainbow', alpha=0.7, s=100)계층 기반 클러스터링: 유사한 데이터를 묶은 클러스터들을 층으로 쌓아가며 클러스터링 하는 방식데이터간 관계를 쉽게 파악할 ..

클러스터 분석 - k-means

동작 방식k-means의 기본 원리는 '유사한 데이터는 Centroid(중심점)로부터 가까이에 모여있다' 이다. 동작 과정1단계: Centroid 배치먼저 클러스터의 개수를 의미하는 k를 정해주어야 한다. (*아래 예시에서는 우선 '2'로 설정함) 그리고 k의 값만큼 Centroid를 생성하여 임의로 배치한다. 2단계: 클러스터 형성생성한 Centroid와 각 데이터 사이의 거리를 계산하여 가까이에 있는 데이터들을 하나의 클러스터로 묶어준다.3단계: Centroid 위치 갱신클러스터에 속해있는 데이터들의 중심으로 Centroid의 윛치를 이동한다. 이때, 데이터들 사이의 중심을 찾기 위하여 평균값(means)을 사용한다.4단계: 클러스터 재형성새롭게 위치한 Centroid를 기준으로 각 데이터와의 거리..