2024. 10. 7. 15:15ㆍ프로젝트/빵맛집 추천서비스 웹배포
from sklearn.cluster import KMeans
model = KMeans(init='random', n_clusters=6, random_state=0)
KMeans 클래스에서 init 파라미터의 기본값은 'k-means++'로 설정되어 있다. 그렇기에 Kmeans 초기화 방법을 사용하기 위해서는 init='random' 파라미터를 추가해야 한다.
init='random': 무작위로 클러스터 중심을 초기화한다.
init='k-means++': 클러스터 중심을 멀리 떨어뜨려서 초기화하여 수렴 속도를 높이고 결과 품질을 향상시킨다.
기존의 K-means 알고리즘의 문제점은 다음과 같다.
[인공지능][개념] K-Means 알고리즘의 문제점과 'K-Means++ 클러스터링'을 통해 개선하기
K-평균(K-Means)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] K-평균(K-means) 알고리즘과 군집화(Clustering) + 이너셔(Inertia) 이해하기 : https://itstory1592.tistory.co
itstory1592.tistory.com
초기화 방법에 따라서 실제로 결괏값이 얼마나 다른지 확인해봤다.
실제로 어떤 데이터를 담고 있는지도 파악해볼 필요가 있지만, 해당 프로젝트 목적을 생각했을 때 데이터가 비교적 고르게 분포되어 있으면서 '맛집'이 확실하게 구분되는 것이 K-means++ 클러스터링임을 알 수 있었다.
아래 글을 참고해서 K-means 알고리즘 전반의 내용을 이해해보자.
[ 핸즈 온 머신러닝 2 ] 비지도 학습의 모든 것 (K-Means)
약해지지 말자. - 래리 페이지 (구글 공동창립자) - 시작하며 이전 포스팅에서는 대부분 레이블($y$)이 존재하는 데이터에 대해 다뤄봤습니다. 하지만 우리가 사용하는 대부분의 데이터는 레이블
box-world.tistory.com
[인공지능][개념] K-평균(K-means) 알고리즘과 군집화(Clustering) + 이너셔(Inertia) 이해하기
K-평균 (K-means) K-평균(K-means) 알고리즘은 데이터를 k개의 클러스터로 묶는 알고리즘이다. K-평균 알고리즘의 목적은 각 클러스터와의 거리 차이 분산을 최소화하여 데이터를 분류(Classification)하는
itstory1592.tistory.com
'프로젝트 > 빵맛집 추천서비스 웹배포' 카테고리의 다른 글
04.28 Folium: 스트림릿에 지도 사이즈 자유자재로 바꾸는 방법 고민하기 (0) | 2024.04.28 |
---|---|
04.26 PPT 수정, Streamlit 지역변수, 전역변수 주의 (0) | 2024.04.26 |
04.25 Stramlit 버튼 함수, Openai api 274,643원의 토큰사용 (0) | 2024.04.25 |
04.23 스트림릿 버튼으로 랜덤한 가게명 출력 구현 (0) | 2024.04.23 |
04.22 클러스터링 재회의, 스트림릿 버튼구현 (0) | 2024.04.22 |