Python/Pandas

[DataAnalysis] Kmeans 결과 해석

공기반 코딩반 2024. 2. 1. 02:01
반응형

 

 

 

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