2022-10-31
Author: 98hyun
Published: 2022-10-31
Tags: 데이터 분석
클러스터링과 분류
인턴 재직 당시 데이터 거버넌스 직무를 맡아 느꼈던 제조업에서의 고객 분류 문제를 가지고 이번 학기의 수업의 과제로 머신러닝 기법을 이용하여 해결해보기로 생각해봤다.
큰 흐름은 매출 데이터를 기반으로 고객의 특성을 구분짓고 해당 특성이 고객을 분류하는데 잘 구분하는지 모델링을 통해 판단하는 것이다.
그 중 클러스터링과 모델 해석에 대해서 자세히 이야기 하려고 한다.
이번 과제에 사용된 파일 내용이다.
설명
1. 클러스터링 이번 과제는 캐글의 기업데이터를 사용하여 진행했다. https://www.kaggle.com/datasets/carrie1/ecommerce-data 데이터의 형태는 제품코드와 단위가격 및 고객에 대한 조그마한 정보가 끝이다. 이 데이터로 선택한 이유는 실제 인턴 시절 제조업 현장에서 느낀 데이터와 유사했기 때문이다. 다만, 제품에 대해서 설명 외에 대분류 및 중분류가 되어있지 않은 것을 제외한 경우이다. 그래서 대분류를 위해 제품에 대해서 클러스터링을 진행했다. 제품에 대해서 클러스터링 할 때 제품 설명 외에 다른 정보가 없었기 때문에 설명을 기준으로 텍스트 분석을 할 수 밖에 없었다. 텍스트분석을 위해 임베딩에 대해서 알아보고 어간 추출 및 표제어 추출에 대해서도 알아봤다. 그 후, tf-idf 방식을 사용하여 어느정도 클러스터링을 마무리 할 수 있었다. 2. 분류 모델링 매출 시간을 기준으로 훈련데이터와 실험데이터를 나누고 4개의 모델에 대해서 진행했다. 서포트벡터머신, 랜덤포레스트, 의사결정나무, 로지스틱회귀분석을 사용했는데 로지스틱회귀분석의 결과가 가장 좋았다. 해당 모델을 분석하는 과정을 설명하려고 한다. 해당 모델은 일반적인 회귀와 다르게 log(y)=b0*x0+b1*x1+...+e 의 형식으로 진행된다. 즉, 파라미터 b0의 의미는 자연상수 e의 b0승을 통해 오즈비로 해석할 수 있다. 오즈비는 x의 단위가 1 상승할 때 변화의 정도로 기존 파라미터가 음수일 때는 감소확률로 양수일 때는 증가확률로 해석할 수 있다. 다만, x가 0과 가까울 때 오즈비는 1에 가까워지므로 1에 가깝다는 것은 영향이 없다는 것을 의미한다. 그렇게 해당 과제의 경우 제품군에 따라 특정 분류로 나눠지는 것을 보고 제품의 분류가 중요하다는 것을 알았다. 로지스틱회귀분석의 경우는 오즈비를 통해 해석할 수 있고 랜덤포레스트나 의사결정나무의 경우는 트리 시각화를 통해 특정 변수의 어느 조건. 예를 들어, 범주형 변수의 값이 1일 때 분기하고 연속형 변수의 값이 95이상일 때 분기하는 등 조건을 통해 해석 할 수 있다.