https://github.com/yyhh314/MachineLearning/blob/main/DrawKmeansProcess.py
k-means 알고리즘이 동작하는 과정을 보여주는 기능은 구현되어있는 것 같지 않아서 모듈로 만들어보았습니다.
시각적으로 k-means 과정을 확인할 수 있습니다.
[ 구현 기능 ]
1. 정지된 scatter plot의 나열로 확인 : kmeans_process_2d()
2. gif파일로 확인 : gif_kmeans
사용 방법
1.
!git clone https://github.com/yyhh314/AlgorithmVisualization.git
2.
AlgorithmVisualization 리포지토리가 내려받아졌을텐데, 그 경로를 sys.path.append()합니다.
cf) 코랩 탐색기에서 AlgorithmVisualization을 찾아 경로복사하면 알 수 있습니다.
3. import해서 메서드 사용하기
import DrawKmeansProcess as dkp
dkp.kmeans_process_2d(데이터, cluster수, 팔레트)
dkp.gif_kmeans(데이터, n_clusters, 팔레트, frame)
* 데이터 : pd.DataFrame, numpy array, python list → 2차원 샘플
* n_cluster : 생성할 cluster 개수
* 팔레트 : seaborn에서 이용가능한 팔레트 지정
* frame : 속도 조절 (기본값 1000)
method 1 - kmeans_process_2d
맨 처음에는 random centroid가 나타납니다.
그리고는 data 재조정과 centorid 재조정 과정이 반복됩니다.
반복 결과, k-means clustering이 완료됩니다.
method 2 - gif_kmeans
이 메서드를 실행하면 working directory에 k-means.gif이 생성됩니다.
결과물입니다.
검은 점(centroid)가 총 3번 재조정됩니다.
(랜덤 산점도라 clusterting에는 적절하지 않아보이지만)
혹시 사용하다가 기능상 오류가 있으면 댓글 부탁드립니다.
'데이터분석과 머신러닝' 카테고리의 다른 글
딥러닝 | 딥러닝 모델 성능 높이기 | layer 추가 & 활성화함수 & 옵티마이저 조정하기 (0) | 2022.02.25 |
---|---|
딥러닝 | 인공 신경망 분류 모델 만들기 (0) | 2022.02.24 |
혼공단 7기 5주차 미션인증 (0) | 2022.02.17 |
머신러닝 | 주성분분석(PCA)을 이미지 데이터에 적용하여 픽셀 축소하기 (0) | 2022.02.17 |
머신러닝 | k-평균 알고리즘 (KMeans) | 군집 알고리즘 (0) | 2022.02.14 |