클러스터링(Clustering): 여러 개의 데이터가 있을 때 데이터를 군집화하는 것을 의미
비슷한 데이터끼리 묶어서 관리하기 쉽다는 장점 있음
K-means 알고리즘은 비지도학습 알고리즘
K-means 사전 준비
-
클러스터링을 수행할 데이터 주제 결정
-
얼마나 많은 클러스터를 만들지 고민
-
데이터를 준비
-
클러스터링을 수행하기 위한 방법 중 하나 선택
(무작위 중심값 선택, K-means++ 등)
무작위 중심값 선택
K-means 수행 과정
1. 무작위로 중심값을 설정해 놓습니다.
2. 중심에 가까운 데이터를 클러스터에 포함
3. 중심을 클러스터의 중앙으로 이동
4. K-means는 위 2번, 3번 과정을 반복 수행, 결과적으로 완전 군집화된 클러스터를 얻을 수 있음
K-means++
K-means++는 자동으로 적절한 클러스터들의 중심 위치를 잡아주는 알고리즘
1. 무작위로 특정 원소 두 개 선택 후
2. 두 중심과 가장 멀리 있는 노드를 중심으로 설정 함
팬더스(Pandas), 넘파이(Numpy), 맷플랏라이브러리(Matplotlib)
Pandas: 데이터 포인트를 만들기 위해 사용
Numpy: 연산 처리를 용이하게 하기 위해 사용
Matplotlib: 데이터 시각화를 위해 사용
각각의 모듈을 불러옵니다.
데이터프레임을 만들고 df.loc[]을 이용해 각각의 열에 임의의 값을 넣습니다.
데이터프레임은 df.head(n)을 통해 입력된 값을 확인할 수 있습니다.
위에서 입력한 값을 바탕으로 sb.lmplot을 이용해 그래프를 그려봅니다.
k-means 알고리즘을 적용며, 클러스터를 4개로 묶습니다.
K-means 알고리즘을 적용하여, 데이터프레임에 입력된 값들을 4개의 클러스터로 나누고 클러스터 별로 색을 다르게 하여, 그래프를 출력한 모습입니다.
'데이터분석' 카테고리의 다른 글
텐서플로우 배추 가격 예측 AI(다변인 선형회귀 모델 개발하기) (0) | 2019.12.09 |
---|---|
텐서플로우(Tensorflow)선형회귀 정리 (0) | 2019.12.07 |
텐서플로우(TensorFlow) 아키텍처(Architecture), 세션(Session) (0) | 2019.12.02 |
텐서플로우(Tensor Flow) 변수와 상수, placeholder, 기본함수 (0) | 2019.12.01 |
텐서플로우(TensorFlow) 비용함수, 경사하강, 초기값 함수 (0) | 2019.11.30 |