반응형
2022.07.15 - [Studying/Machine Learning] - [머신러닝] K-Means Clustering 정리
위의 글에 이어 실제 물고기의 길이, 무게 데이터로 물고기 종류를 clustering 해보겠다.
Load Data
먼저 필요한 패키지를 가져오고 data를 가져오겠다.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
data = 'https://raw.githubusercontent.com/satishgunjal/datasets/master/Fish.csv'
df = pd.read_csv(data)
데이터는 위의 테이블과 같다.
여기서 나머지 데이터로 품종을 분류하고 싶으니까 x는 품종을 뺀 나머지 데이터를 저장하겠다.
x = df.iloc[:, 1:7].values
Clustering
Scikit-Learn에서 KMeans 함수를 가져와 사용하겠다.
kmeans = KMeans(n_clusters = 3, init = 'k-means++', max_iter = 300, n_init = 10, random_state = 0)
y_kmeans = kmeans.fit_predict(x)
visualize
결과를 그래프로 확인해보겠다.
plt.scatter(x[y_kmeans == 0, 0], x[y_kmeans == 0, 1], s = 100, c = 'purple')
plt.scatter(x[y_kmeans == 1, 0], x[y_kmeans == 1, 1], s = 100, c = 'orange')
plt.scatter(x[y_kmeans == 2, 0], x[y_kmeans == 2, 1], s = 100, c = 'green')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:,1], s = 100, c = 'red', label = 'Centroids')
plt.legend()
데이터가 잘 분류된 것을 확인할 수 있다.
K-Means Clustering은 이렇게 target label이 없는 데이터를 labeling 할 수 있게 만드는 방법이라고 볼 수 있다.
반응형
'Studying > Machine Learning' 카테고리의 다른 글
[머신러닝] Activation function(활성화 함수) 정리 (2) | 2022.07.19 |
---|---|
[머신러닝] Pytorch Linear Regression & MLP - Mnist 활용 (8) | 2022.07.18 |
[머신러닝] K-Means Clustering 정리 (0) | 2022.07.15 |
[머신러닝] Overfitting & Regularization (with Polynomial function) (0) | 2022.07.12 |
[머신러닝] Logistic Regression - 타이타닉 탑승자 사망여부 예측 (0) | 2022.07.11 |
댓글