[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 공식 문서를 확인해주세요.