데이터분석/분석-비지도학습

파이썬 계층적 군집분석(dendrogram)

씩씩한 IT블로그 2022. 9. 10. 15:42
반응형

계층적 군집분석

파이썬 sklearn 라이브러리의 hierarchy 를 이용하여 계층적 군집분석을 수행한다.

 

예시

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

file_path = "파일경로"
df = pd.read_csv(file_path)
display(df)

 

import scipy.cluster.hierarchy as shc

# data transformation
data = df.iloc[:, 3:5].values
# display(data)

# dendrogram 그리기
plt.figure(figsize=(10, 7))
plt.title("Customer Dendograms")

link = shc.linkage(data, method='complete')
# meathod = 
# "complete" : 클러스터의 가장 멀리있는 점과의 거리가 가장 작은것에 포함시키는 방법
# "single"   : 클러스터의 가장 가까이 있는 점과의 거리가 가장 작은것에 포함시키는 방법
# "average"  : 클러스터의 모든 점과의 평균이 가장 작은것에 포함시키는 방법

dend = shc.dendrogram(link)

 

# 분류 상세
cluster_num = 3
predict_df = pd.DataFrame(shc.fcluster(link,cluster_num))
display(predict)

반응형