반응형
Kmeans 장점
- 변수들에 대한 배경지식, 역할, 영향도에 대해 모르더라도 데이터 사이의 거리만 구할 수 있다면 쉽게 사용 가능
- 알고리즘이 비교적 쉬운 수식으로 이루어졌기 때문에 이해와 해석이 용이합니다.
Kmeans 단점
- 데이터의 영향력을 반영하지 못함.
- 최적의 클러스터 개수인 k를 정하는 게 어렵다
- 이상치에 영향을 많이 받음
- 이상치가 포함된 데이터일 경우 클러스터의 중심(Centorid)을 업데이트하는 과정에서 Centroid의 위치가 크게 변동
- 클러스터가 원하지 않는 방식으로 묶일 수 있음
model = KMeans(n_clusters=5, random_state=123)
model.fit(scaled_df)
# 학습 모델 결과 추가
sales_df['label'] = model.predict(scaled_df)
클러스터링 시각화
sns.scatterplot(x= sales_df['total_buy_cnt'], y= sales_df['total_price'], hue= sales_df['label'], s=200, palette='bright')
클러스터링 그룹 정보
pd.DataFrame(sales_df['label'].value_counts())
평균 개당 가격 구하기
groupby_df = sales_df.groupby('label').mean()
groupby_df['price_mean'] = groupby_df['total_price'] / groupby_df['total_buy_cnt']
groupby_df
→ 2번 그룹은 많은 돈을 썼지만 저가 제품을 많이 구매한 것으로 추측
문제점 해결 방안
1. Centeroid 잘 찾는 법
from sklearn.cluster import KMeans
model = KMeans(n_clusters=k, init='k-means++')
- 차원 높으면 성능 떨어지는 단점
반응형
'Python > Pandas' 카테고리의 다른 글
[DataAnalysis] Elbow Method (0) | 2024.02.01 |
---|---|
[DataAnalysis] Clustering (0) | 2024.01.31 |
[Pandas] 파이 차트 (0) | 2024.01.23 |
[Pandas] Data Merge (0) | 2024.01.22 |
[Pandas] groupby 카테고라이징 (0) | 2024.01.22 |