[딥러닝] kmean 클러스터링 알고리즘의 이해
kmean알고리즘을 통해 데이터 군집을 찾아보자!
import pandas as pd import numpy as np from sklearn.cluster import KMeans import matplotlib.pyplot as plt import seaborn as sns df = pd.DataFrame(np.random.randint(low=3, high=20, size=(20,2)) , columns=['x','y']) print(df.head(20)) #visualize, 데이터포인트 크기 200 sns.lmplot('x', 'y', data=df, fit_reg=False, scatter_kws={'s':200}) plt.title('kmean plot') plt.xlabel('x') plt.ylabel('y') plt.draw() #k-mean clustering data_points = df.values kmeans = KMeans(n_clusters=3).fit(data_points) #kMean++로 init지정 print("각각데이터에 대한 클러스터 id\n", kmeans.labels_) print("클러스터 찍힌 좌표\n", kmeans.cluster_centers_) df['cluster_id'] = kmeans.labels_ print("클러스터링 된 내용보기\n", df.head(20)) #visualize sns.lmplot('x','y', data=df, fit_reg=False, scatter_kws={"s": 150}, hue="cluster_id") plt.title('kmean clustering result') plt.show()
Figuare1과 같이 흩어진 데이터가 kmean알고리즘을 통해 3가지 기준축으로 군집을 찾은 것을 확인할 수 있다.
최근 댓글