1. What is clustering
Clustering은 간단하게 말해서 데이터 끼리 얼마나 비슷한지에 근거해서 그룹을 할당하는 분석 기법이다. 군집 라벨을 할당해줌으로서 머신 러닝 모델이 관계를 해석하는데 도움을 줄 수 있다.
2. Cluster Label as a Feature
단일 변수에 대해서 군집화는 binning과 discretization 변환을 적용할 수 있고, 복수의 변수에 대해서는 범주형 변수를 결과로 출력하는 군집을 생성한다. 군집 분석은 복잡한 관계의 변수들을 간단한 묶음으로 분해시켜 모델이 변수들을 한번에 쉽게 학습하게끔 도움을 준다.
3. K-Means clustering
K-means clustering은 일직선 상의 거리에 기초해 유사성을 측정하는 군집 분석이다. K-means clustering은 cetroid라는 임의의 점에 기초하여 군집을 생성하여 거리에 따라 데이터를 군집에 할당한다. K-means clustering의 K가 centroid의 개수를 의미하며 이를 통해 K개의 군집을 형성하게 된다.
- 가장 가까운 centroid에 대해 군집을 생성한다
- 군집의 데이터 셋의 평균값을 계산하여 새로운 centroid를 업데이트 한다
- 첫번째 과정을 반복한다
K-means clusetring은 다음과 같은 과정을 centroid가 더이상 움직이지 않거나, 최대 가능 순환이 도달할 때까지 반복한다. 초기에 centroid가 시작하는 지점도 모델의 정확도에 영향을 주는데 이는 확률적으로 모델은 n번 학습 시키는 n_init을 통해 최적화할 수 있다.
# Example of making new feature using K-means
kmeans = KMeans(n_clusters = 6)
X['Cluster'] = kmeans.fit_predict(X)
X['Clutser'] = X['Cluster'].astype('category')
Source of the course : Kaggle Course _ Clustering with K-Means
Clustering With K-Means
Explore and run machine learning code with Kaggle Notebooks | Using data from FE Course Data
www.kaggle.com
'Course > [Kaggle] Data Science' 카테고리의 다른 글
[FE] Target Encoding (0) | 2022.02.21 |
---|---|
[FE] Principal Component Analysis (0) | 2022.02.21 |
[FE] Creating Features (0) | 2022.02.21 |
[FE] Mutual Information (0) | 2022.02.21 |
[ML] GridSearchCV (0) | 2022.02.19 |