2021년 6월 3일 목요일

Python - K-means Clustering

Dendrogram에서 몇개의 cluster로 할지 정했다면 Kmeans 에서 바라보는 Clustering 의 결과는 어떻게 되는지 확인해 보는것


1.필요 package import
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.cluster import KMeans


2.임의의 dataframe 생성 & 확인
df = pd.DataFrame(np.random.randint(0,100,size=(100, 2)), columns=('x_axis','y_axis'))
print(df)


3.데이터를 기반으로 그래프를 그려본다
sns.lmplot('x_axis','y_axis',data=df, fit_reg = False,scatter_kws={"s":200})
plt.title('scatter plot')


4.DataFrame 을 기반으로 K-means 를 구성
element_data = df.values
kmeans = KMeans(n_clusters=5).fit(element_data)


5.결과값 확인
kmeans.labels_
**array type 임을 확인할 수 있다**


6.결과값 dataframe 에 새로운 column으로 추가
df['Cluster_id']=kmeans.labels_
**새 컬럼으로 Cluster_id 부분에 추가되었다**


7.결과값을 기반으로 그래프 생성
sns.lmplot('x_axis','y_axis',data=df,fit_reg=False,scatter_kws={"s":150},hue="Cluster_id")
plt.title('Kmeans plot')

8결과 비교

**같은 데이터에 cluster에 따라 색상이 다르게 입혀져 있다**

댓글 없음:

댓글 쓰기