Project/2023 BDA 데이터 분석 공모전

[2023 BDA 데이터 분석 공모전] Track2: 모델링 고도화 (1) - 예비 보고서 작성

문세희 2023. 7. 9. 17:53

연합 빅데이터분석 학회 BDA에서 개최한 공모전에 참가하였다.

BDA 학회원 뿐만 아니라 타 대학 데이터분석 학회까지 포함하여 대학생 데이터분석 학회 연합 단위에서 이루어지는 공모전이다.

BDA 6기 데이터 분석 중급반으로 활동하고 있었고, 운 좋게도 중간점검 당시 우수학회원으로 분류되어 참가자격이 주어졌다.

 

총 두개 분야로 이루어지며,

track1은 데이터 시각화를 통하여 인사이트를 도출한 뒤, 이에 따른 마케팅 아이디어를 제시하는 분야

track2는 CJ 더마켓 프라임회원 여부를 예측하는 모델링 고도화하는 분야

 

처음에는 track2 분야가 더욱 흥미로워보였기 때문에 학회 내부 노션 페이지를 통하여 track2 팀매칭을 진행하였으나..

팀원 모두가 열정덩어리었던 우리는 두 분야 모두 나가기로 결정했다. (나중에 알게 된 사실이지만 총 65개 팀 중에 복수참가는 우리팀 뿐이었다.)

track1 목표
track2 목표

팀이 결성되고 주어진 요약 데이터는 다음과 같다.

track2 요약 데이터

  기본적으로 사용자의 데이터를 활용해서 프라임 회원의 유뮤를 예측하는 모델을 만드는 문제이다. 예측값이 y/n 두 개로 이루어져 있는 이진분류 문제였다. 생각보다 컬럼이 몇개 없어서 수월하겠구나 싶었지만 역시 아니었다. 1차 심사 방식은 저 요약 데이터 한 줄만 보고 예비 분석 보고서를 작성하는 것!

 

  이 단계에서는 track1이 사실 훨씬 힘들었다. track2는 모델을 만드는 과정의 흐름이 어느 정도 정해져 있다고 생각했었기 때문에

그 흐름에 맞추어 예비 보고서 작성을 진행하였다. 물론 EDA가 전혀 불가능한 상황에서 어떠한 전처리 전략을 취할 것이며 모델링을 어떻게 할 것인지 보고서를 작성하는 과정은 굉장히 막막했다.

 

  EDA -> 전처리 -> 모델링 -> 모델 평가 및 해석 -> 모델 활용

식으로 보고서를 작성하고 싶었는데, 변수명을 제외한 데이터가 어떻게 생겨먹었는지를 알 수 없었기 때문에 우리팀이 선택한 방법은 위의 틀에 맞추어 작성하되, 우리가 본선 데이터를 받게 되면 취할 수 있는 전략 몇 가지를 나열하는 식으로 보고서 작성을 진행하였다. 또한, 실제 코드 작성 과정과 예시 그래프 또한 보여주고 싶었기 때문에 kaggle에서 e-commerce 데이터를 활용한 예시 그래프와 코드를 제공하며 분석 기법을 제시하였다. track1에서와 같이 가설을 수립하고 그에 따른 전략을 제시하는 방법은 모델링에 과정에 있어서 데이터를 볼 수가 없었다는 점 때문에 아이디어 제시와는 달리 적합하지 않은 부분이 있었다. 따라서 '데이터가 ~ 하면 ~ 전략을 취할 것이다.' '데이터가 ~ 이렇게 나타날 것이라고 생각되어 ~ 방식으로 모델링을 진행하면 좋을 것 같다.' 와 같은 방식으로 예비 보고서 작성을 진행하게 되었다. 실제 우리가 찾은 kaggle의 e-commerce 데이터는 변수명에서 요약 데이터와 유사한 부분이 많았다.

따라서 예시 그래프를 제시하기가 수월하였고, 이 방식을 이용하기로 결정했다.

 

데이터 전처리 과정에서는 기본 전처리와 파생 변수 생성 두 가지 측면에서 작성하였다. 기본 전처리는 결측치를 처리하는 방법 나열, 이상치 처리와 같은 기본적인 전처리 기법을 위주로 나열하였다. 데이터의 분포를 실제로 확인할 수 없었기 때문에 적합한 작성 방식이라고 생각되었고, 파생변수(예시) 아이디어를 제시하는 쪽에 집중하였다.

 

우리가 제시한 파생변수 아이디어는 총 두개이다.

 

먼저 '총 구매 금액' 변수이다.

요약 데이터에서 상품명에 수량정보가 함께 들어있는 것을 확인하였고, 이를 주문수량 데이터와 합쳐 총 상품 갯수를 뽑아서, 이를 금액과 곱해 주어 총 구매 금액을 만들어 주는 방법이다. 소비자의 소비를 결정하게 하는 가장 큰 사안은 가격이라고 생각했기 때문에, 프라임 회원 여부를 예측하는 과정에 있어서 총 주문 금액은 중요한 역할을 할 것이라 생각했다.

 

두 번째는 '제품별 주문 금액 차이'이다.

같은 날 제품에 대해 주문금액이 상이한 상품에 대하여 적립금과 쿠폰 등의 혜택 적용이 이루어졌고, 이는 프라임 회원 혜택과 직결된 부분이라고 생각되었기 때문에 주문 금액의 차이를 범주화하여 새로운 변수로 만들어주게 되었다.

 

이후 모델링 과정은 우리가 실제로 선택할 수 있는 방향으로 작성하였다.

트리 기반 앙상블 모델 몇개의 특징과 장단점을 나열하고, 가장 성능이 좋게 나오는 방식을 채택하여 모델링을 진행할 것이라고 솔직하게 기술하였다. 또한 해당 모델에 적합한 하이퍼 파라미터 튜닝 과정을 선택하여 진행할 것이라 기술하였다.

 

마지막으로 예측 후 분석에는 설명 가능 인공지능 (XAI)를 이용한 분석과 활용을 진행할 것이라 서술하였다. 현재 인공지능 데이터분석 트렌드에 맞게 설명 가능 인공지능에 대한 언급은 필수적이라고 생각되었기 때문에 언급하였다. 제대로 활용할 수 있을지는 몰랐지만 이것을 활용하여 모델을 해석하고 활용할 수 있는 다양한 방안을 제시하는 방향으로 보고서를 작성하였다.


16팀 중 11등으로 본선에 진출하게 되었다. 창의성 부문에서 낮은 점수를 받았다. 데이터도 없는 상황에서 다른 팀이 어떻게 예비 보고서를 창의적으로 잘 작성했는지 궁금해지네..ㅎㅎ