[python] scikit-learn을 사용한 계층 군집화

이번 포스트에서는 scikit-learn 라이브러리를 사용하여 계층 군집화(hierarchical clustering)를 수행하는 방법에 대해 알아보겠습니다. 계층 군집화는 비슷한 특성을 가진 데이터를 계층적인 구조로 분류하는 방법으로, 데이터 간의 유사도를 기반으로 군집을 형성합니다.

scikit-learn 라이브러리 설치하기

scikit-learn을 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 아래 명령어를 사용하여 scikit-learn을 설치해주세요.

pip install -U scikit-learn

데이터 준비하기

이번 예제에서는 iris 데이터셋을 사용하겠습니다. iris 데이터셋은 scikit-learn 라이브러리에서 제공하는 기본 데이터셋 중 하나로, 붓꽃의 꽃잎과 꽃받침의 길이와 너비에 대한 측정값을 포함하고 있습니다.

from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data
y = iris.target

계층 군집화 수행하기

scikit-learn에서는 AgglomerativeClustering 클래스를 사용하여 계층 군집화를 수행할 수 있습니다. 다음은 계층 군집화를 수행하는 예제 코드입니다.

from sklearn.cluster import AgglomerativeClustering

# 군집화 객체 생성
clustering = AgglomerativeClustering(n_clusters=3)

# 계층 군집화 수행
clustering.fit(X)

군집 결과 확인하기

계층 군집화를 수행한 후에는 각 데이터가 속한 군집을 확인할 수 있습니다. labels_ 속성을 사용하여 확인할 수 있습니다.

labels = clustering.labels_
print(labels)

결론

scikit-learn을 사용하여 계층 군집화를 수행하는 방법에 대해 알아보았습니다. 계층 군집화는 데이터를 여러 계층적인 구조로 분류하는 방법으로, 데이터 분석 및 패턴 인식에 유용하게 활용될 수 있습니다.

더 많은 정보를 원하신다면 scikit-learn 공식 문서를 확인해주세요.