[딥러닝] 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가지 기준축으로 군집을 찾은 것을 확인할 수 있다.

You may also like...

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.