일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DFS
- TEAM-EDA
- pytorch
- 튜토리얼
- 입문
- 나는리뷰어다
- hackerrank
- 엘리스
- 알고리즘
- 나는 리뷰어다
- 3줄 논문
- Image Segmentation
- 파이썬
- 협업필터링
- Object Detection
- 큐
- DilatedNet
- Segmentation
- 한빛미디어
- eda
- 스택
- 프로그래머스
- Semantic Segmentation
- Recsys-KR
- TEAM EDA
- 코딩테스트
- Machine Learning Advanced
- Python
- MySQL
- 추천시스템
- Today
- Total
TEAM EDA
[빅콘테스트2019] 모델링 본문
[빅콘테스트2019] 데이터탐색을 토대로 얻은 아이디어를 통해서 모델링을 한 과정입니다.
1. 전처리
[빅콘테스트2019] 데이터탐색에서 확인한 내용을 토대로 전처리를 한 부분은 아래와 같습니다.
-
Train에만 존재하는 이벤트의 영향을 줄이기.
-
통신오류로 인해 낚시시간 > 플레이시간 혹은 30레벨 미만인데 낚시시간이 있는 경우 조정.
-
Train과 Test의 플레이타임 등 스케일이 다른 것을 조정하기 위해서 파일별로 Normalization.
2. 28일의 정보를 1주차, 2주차, 3주차, 4주차의 평균으로 계산
기존의 데이터는 1일부터 28일까지 제공되었고, 이를 그대로 학습하게 될 경우 유저별로 다른 접속패턴에 의해서 모델이 안좋을 수 있습니다. 예를 들어서, 직장인의 경우 주말에만 접속할 가능성이 높고 학생의 경우 매일 접속할 가능성이 높습니다. 하지만 모델의 경우 직장인과 학생이라는 특성을 잘 분류하지 못하기 때문에, 유저별로 28일을 Aggregation해서 사용하든지, 주차별로 Aggregation해서 사용하였습니다.
3. 피쳐엔지니어링
-
groupby(유저)을 통해서 각각의 변수들의 통계값(min, mean, std, max, median, etc)
-
주차별 통계값의 기울기. (ex. 1주차 대비 4주차의 평균 플레이 시간)
-
거래이상행동 : 아이템을 팔기만 하는 행위여부,
4. 모델링
-
가중치 : 레벨의 맥스값을 통해 분류한 초보, 중수, 고수에서 중, 고수를 더 잘 맞추도록 가중치 부여.
-
현질 여부 및 생존 여부 예측 : 회귀를 통해서 얼만큼 현질을 할지, 얼만큼 생존을 할지 예측하는게 아니라 분류문제처럼 현질을 할지 생존을 할지를 가능성으로 활용.
-
서버를 분리해서 학습 : 서버별로 가지는 특성이 매우 달라서 서버별로 따로 학습하도록 설정.
-
LightGBM을 활용하여 Stratified Kfold 사용.
5. 결과해석
-
문제1. survival_time이 1인데 40이상으로 예측한 값이 매우 많음.
-
문제2. 변수중요도가 4주차가 아니라 3주차, 1주차를 가지는등의 문제가 있었음.
-
최신성이 반영이 안됨.
-
1주차에 플레이를 아예 안하고 4주차에 들어온 신규유저들에 대해 예측을 잘 못함.
-
6. 모델링 수정
위에서 확인한 내용을 토대로 몇가지 피쳐를 수정하였음.
-
문제1에서 확인한 내용을 토대로 데이터를 살펴본 결과 이들은 플레이타임은 많지만 모두 사냥을 하지 않고 개인 상점이나 아이템을 팔기, 친목등의 행위만을 하는 것으로 확인. 이러한 애들을 잘 분류하기 위해 playtime 대비 사냥, 낚시시간, 개인상점시간 등으로 변수를 새로 만듬.
-
문제2에서 확인한 내용을 토대로 신규유저와 기존유저를 분리해서 학습, 피쳐로 활용, 플레이내역의 연속성등을 변수로 여러 시도를 해봄.
'EDA Project > 빅콘테스트 ' 카테고리의 다른 글
[빅콘테스트 2019] 데이터 탐색 (0) | 2019.09.22 |
---|---|
빅콘테스트 2019 (0) | 2019.09.11 |
빅콘테스트 2018 (0) | 2019.09.11 |