데이터 분석 5-7~8 고객 행동 예측(2)~(3) - 클러스터링/시각화

addison·2022년 5월 14일
0

데이터 분석

목록 보기
47/48

07. 고객 행동 예측 (2) - 클러스터링

11) 클러스터링

customer 데이터를 사용해서 회원 그룹화를 진행합니다. 필요한 변수를 추출해봅시다. 클러스터링에 이용하는 변수는 고객의 한 달 이용 이력 데이터인 mean, median, max, min, mambership_period로 합니다.

customer_clustering = customer[["mean", "median","max", "min", "membership_period"]]
customer_clustering.head()

이제 클러스터링을 진행합니다. 이번에 사용할 클러스터링 방법은 가장 전통적인 클러스터링 방법으로 변수 간 거리를 기반으로 그룹화를 진행하는 K-means입니다. 몇 개의 그룹을 만들라고 모델에게 말해주면, 모델은 가까운 데이터들끼리 서로 모아 해당 개수의 그룹을 만들어냅니다.

이 때, 그룹화하고자 하는 수를 미리 지정해야 합니다. 여기서는 4개로 지정합니다. 결과로는 각 데이터의 그룹 번호를 얻는데, 4개로 지정하면 그룹은 0, 1, 2, 3 총 4개가 존재합니다.

또, mean, median, max, min과 membership_period는 데이터가 크게 다릅니다. 전자는 월 이용 횟수이기 때문에 1~8사이의 값이지만, 후자는 최댓값이 47입니다. 이 경우, membership_period에 의해 결과가 좌지우지 되므로 값을 스케일링 해주어야 합니다.

앞서 4주차 때 사용했던 스케일링 방법인 standard scaler를 사용합니다. standard scaler는 이와 같이 비교 또는 함께 사용하고자하는 변수의 크기 범위가 서로 다를 때 비슷한 범위로 맞춰줄 때 사용할 수 있습니다.

[코드스니펫] StandardScaler

```jsx
https://mkjjo.github.io/python/2019/01/10/scaler.html
```

12) 클러스터링 결과 분석


08. 고객 행동 예측 (3) - 클러스터링 시각화

13) 클러스터링 시각화

14) 탈퇴 회원의 결향

0개의 댓글