728x90
KMeans를 사용한 실습은 간단한 키, 몸무게에 대한 데이터를 생성하여 진행해보았다.
Import
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(columns=['height', 'weight'])
df.loc[0] = [185, 60]
df.loc[1] = [180, 60]
df.loc[2] = [185, 70]
df.loc[3] = [165, 63]
df.loc[4] = [155, 68]
df.loc[5] = [170, 75]
df.loc[6] = [175, 80]
df
[출력]
데이터 시각화
sns.lmplot('height', 'weight', data=df, fit_reg=False, scatter_kws={'s':200})
[출력]
k 평균 군집화
KMeans 라이브러리는 랜덤 최초 중심 및 사용자 지정 최초 중심을 설정하는 방법을 모두 지원한다. 다음과 같이 별도의 init 파라미터를 지정하지 않으면 kmean++를 사용해 군집을 수행한다.
init 파라미터는 다음과 같다.
init : {‘k-means++’, ‘random’}, callable or array-like of shape (n_clusters, n_features), default=’k-means++’
data_points = df.values
kmeans = KMeans(n_clusters=3).fit(data_points)
print(kmeans.labels_)
df['cluster_id'] = kmeans.labels_
df
[출력]
k 평균 군집 시각화
sns.lmplot('height', 'weight', data=df, fit_reg=False, scatter_kws={'s':150}, hue='cluster_id')
[출력]
728x90
'Machine Learning > Coding' 카테고리의 다른 글
[실습] 단일, 다중 입력 로지스틱 회귀와 소프트맥스(다중 분류 로지스틱 회귀) (0) | 2021.07.12 |
---|---|
[실습] Linear Regression(선형회귀) (0) | 2021.06.27 |
[실습] 랜덤 포레스트(Random Forest)와 앙상블(Ensemble) (0) | 2021.06.20 |
[실습] 다항분포 나이브 베이즈(Multinomial Naive Bayes) (0) | 2021.06.13 |
[실습]Bernoulli Naive Bayes(베르누이 나이브 베이즈) (0) | 2021.06.10 |