데이터로 Deep Dive

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

클러스터링 3

클러스터 분석 - 계층, 밀도, 분포 기반 클러스터링, 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를 기준으로 각 데이터와의 거리..

클러스터 분석 - 개념 알아보기

클러스터링유사한 데이터들을 같은 클러스터(집단)으로 묶어 주는 작업을 의미하며, 우리말로는 '군집화' 라고도 한다.클러스터링은 머신러닝 기법 중, 비지도 학습에 해당한다. 머신러닝은 컴퓨터가 데이터들을 통해 스스로 규칙을 학습하도록 하는 인공지능의 한 방법인데, 이 중 비지도 학습 정답(레이블)을 주지 않은 상태에서 데이터의 특성만 가지고 스스로 규칙을 찾아내는 방식이다. 더보기클러스터링과 분류(Classification)클러스터링과 비슷하게 데이터들의 특성을 바탕으로 특정 범주로 구분해 주는 분류(Classification) 문제도 있다. 예를 들어서, 100명의 학생이 공부한 시간과 시험에 통과했는지 여부를 체크한 데이터가 있을 때 이 데이터를 바탕으로, 새로운 학생이 몇 시간 공부했는지에 따라 시..