ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
리니지 유저 기대ì´ìµ 예측 ëª¨ë¸ ê°œë°œ
: 머신 ëŸ¬ë‹ ê¸°ë°˜ìœ¼ë¡œ
Team - D&A
ê¹€ë™í˜„, ìž„í•„ë ¹, 황태용, 임진í˜, ê³½í™ìž¬
1
2
1. 문제 분ì„
• 파레토 법칙
• 기대ì´ìµ
2. 예측변수 분ì„
• 예측변수 ë¶„ì„ â€“ ìƒì¡´ê¸°ê°„
• 예측변수 ë¶„ì„ â€“ ì¼í‰ê·  결제금액
• 예측변수 ë¶„í¬ ë³€í˜• – ìƒì¡´ê¸°ê°„
• 예측변수 ë¶„í¬ ë³€í˜• – ì¼í‰ê·  결제금액
0. 목차
3. 모ë¸ë§
• ì „ì²´ ëª¨ë¸ íŒŒì´í”„ë¼ì¸
• Feature Engineering
• Model
• Ensemble strategy
4. 기대효과 ë° ì˜ì˜
• ìƒìœ„ 유저 ì¤‘ì  ì˜ˆì¸¡ ëª¨ë¸ êµ¬ì¶•
• 시계열 ë³€í™”ì— ê°•ê±´í•œ ëª¨ë¸ êµ¬ì¶•
“전체 ê²°ê³¼ì˜ 80%ê°€
ì „ì²´ ì›ì¸ì˜ 20%ì—ì„œ ì¼ì–´ë‚˜ëŠ” 현ìƒâ€
20%
80%
파레토 법칙
Pareto’s law
리니지 유저 수 (기대ì´ìµì— 따른 내림차순 ì •ë ¬)
기대ì´ìµ
ìƒìœ„ 20% ìœ ì €ì˜ ê¸°ëŒ€ì´ìµì˜ ì´í•©
하위 80% ìœ ì €ì˜ ê¸°ëŒ€ì´ìµì˜ ì´í•©
ì „ì²´ 기대ì´ìµì˜ 80% ì´ìƒì´
리니지 ê³ ê°ì˜ 20%ì— ì˜í•´ ë°œìƒí•¨
리니지 ìœ ì €ë“¤ì˜ ê¸°ëŒ€ì´ìµ (훈련 ë°ì´í„° 기준)
1. 문제 분ì„: 파레토 법칙
âž” ì „ì²´ 기대ì´ìµì— ê²°ì •ì ì¸ ì˜í–¥ì„ ë¼ì¹˜ëŠ” ìƒìœ„ ê³ ê°ì„ 예측하는 ê²ƒì´ ì¤‘ìš”í•¨.
3
ìƒì¡´ê¸°ê°„
예측치
ì¼ë³„ í‰ê· 
결제 금액 예측치
잔존가치 전환율 비용 기대ì´ìµ
비율(%)
(훈련 ë°ì´í„°)
Ƹ𑡠= 64 ෠𑅠= 0 - - - - 18.40
Ƹ𑡠= 64 ෠𑅠> 0 - - - - 36.59
1 ≤ Ƹ𑡠< 64 ෠𑅠= 0 - - - - 22.69
1 ≤ Ƹ𑡠< 64 ෠𑅠> 0 ★ ★ ★ ★ 22.32
실제 기대ì´ìµì´ 산출ë˜ëŠ” 유저는 22.32 % ìž„.
ì´íƒˆë¡œ 예측ë˜ëŠ” 유저, 결제를 í•  것으로 예측ë˜ëŠ” 유저들만 기대ì´ìµì´ 산출ë¨.
1. 문제 분ì„: 기대ì´ìµ
즉, ì´íƒˆ 유저 ì´ë©´ì„œ ê²°ì œ 유저를 예측하는 ê²ƒì´ ë¦¬ë‹ˆì§€ 유저 ê³ ê°ê´€ë¦¬ì˜ 핵심 ìž„.
4
2-1. 예측변수 분ì„: ìƒì¡´ 기간
5
ìƒì¡´ 기간 (survival time)
í‰ê· ê¸°ëŒ€ì´ìµ(score)
ìƒì¡´ê¸°ê°„ì— ë”°ë¥¸ í‰ê·  기대ì´ìµ
ìƒì¡´ ê¸°ê°„ì´ 1ì— ê°€ê¹Œìš´ ìœ ì €ë“¤ì´ ëŒ€ë¶€ë¶„ì˜ ê¸°ëŒ€ ì´ìµì„ 차지함.
ìƒì¡´ ì—¬ë¶€ì— ë”°ë¥¸ 유저 비율
54.99 % 45.01 %
잔존 (ìƒì¡´ê¸°ê°„: 64) ì´íƒˆ (ìƒì¡´ 기간: 1 ~ 63)
잔존으로 예측ë˜ëŠ” 유저는 기대 ì´ìµì´ 없으며 ì „ì²´ ìœ ì €ì˜ 54.99%를 차지함.
ìƒì¡´ê¸°ê°„ì˜ RMSE를 최소화하는 모ë¸ì€ Major ê°’ì¸ 64ì— ê°€ê¹ê²Œ 추정(과대 추정) ê²½í–¥ì„ ê°€ì§.
ìƒì¡´ê¸°ê°„ì´ 1ì— ê°€ê¹Œìš´ ìœ ì €ë“¤ì— ëŒ€í•œ 정확ë„를 높ì´ê¸° 위해서는 ì˜ˆì¸¡ë³€ìˆ˜ì˜ ë³€í™˜ì´ í•„ìš”í•¨.
2-1. 예측변수 분ì„: ì¼í‰ê·  ê²°ì œ 금액
리니지 ìœ ì €ì˜ ì¼í‰ê·  결제금액 (amount spent)
유저비율
리니지 유저 ì¼í‰ê·  ê²°ì œ ê¸ˆì•¡ì˜ ì»¤ë„ ë°€ë„ í•¨ìˆ˜
ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì´ 0ì— ê°€ê¹Œìš´ 유저가 ëŒ€ë‹¤ìˆ˜ì¸ ë¶ˆê· í˜•ì  ë¶„í¬ë¥¼ ë„ê³  있ìŒ.
ð’„ð’ð’— ð‘¹, ð‘ºð’„ð’ð’“ð’† = ðŸŽ. ðŸ—🗠→ ì¼í‰ê·  결제금액과 기대ì´ìµì€ ë†’ì€ ì–‘ì˜ ìƒê´€ê´€ê³„를 ë„ê³  있ìŒ.
유저 ì•„ì´ë”” ì¼í‰ê·  결제금액 기대ì´ìµ 기대ì´ìµ ëˆ„ì  í•©
(기대ì´ìµ ëˆ„ì  í•©
/ ì „ì²´ 기대ì´ìµ) * 100
102496 39.412 1170.551 1170.555173 1.276592
30688 35.949 1067.697 2238.253122 2.441009
79872 32.214 956.784 3195.037752 3.484466
65542 31.252 928.199 4123.237721 4.496748
… … … … …
24120 17.816 529.1470 12012.172483 13.100316
51116 16.940 503.1448 12515.317284 13.649039
35301 16.940 503.1282 13018.445519 14.197744
111027 16.638 494.1629 13512.608463 14.736671
ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì´ ë§Žì€ ìƒìœ„ 20ëª…ì˜ ìœ ì €
훈련ë°ì´í„° ì „ì²´ 40,000ëª…ì˜ ìœ ì € 중 ì¼í‰ê·  ê²°ì œ 금액 ìƒìœ„ 20ëª…ì˜ ìœ ì €ë“¤ì´ ì „ì²´ 기대ì´ìµì˜ 약 15%를 차지하고 있ìŒ.
ì¼í‰ê·  결제금액 ìƒìœ„ ìœ ì €ë“¤ì„ ìž˜ 맞추기 위해서는 ê³¼ì†Œì¶”ì •ì„ ë°©ì§€í•´ì•¼ 하며 ì´ë¥¼ 위해 ì˜ˆì¸¡ë³€ìˆ˜ì˜ ë³€í™˜ì´ í•„ìš”í•¨.
6
7
2-2. 예측변수 ë¶„í¬ ë³€í˜•: ìƒì¡´ 기간
ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘ ð‘ð‘œð‘Ÿð‘’ ð‘†ð‘¡ð‘‘ ð‘ ð‘ð‘œð‘Ÿð‘’ ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘…ð‘€ð‘†ð¸ ð‘†ð‘¡ð‘‘ ð‘…ð‘€ð‘†ð¸
ð‘¦1(ð‘ð‘Žð‘ ð‘’) 13928 1223 17.28 0.1237
ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 14450 1012 16.89 0.1176
ð‘¦1
2
12490 1224 17.08 0.1189
ð‘¦1 14098 1009 17.12 0.1235
log ð‘¦1 12870 1098 17,33 0.1100
1
ð‘¦1
15098 987 16.75 0.1112
metric
Target
ìƒì¡´ê¸°ê°„ 예측변수 변환
✓ 성능 비êµë¥¼ 위한 모ë¸ì€ Light GBMì„ ì‚¬ìš©.
✓ 성능 비êµë¥¼ í•  때는 ð‘¦2ì„ ì •ë‹µìœ¼ë¡œ ê³ ì • 함.
✓ Undersamplingì˜ ê²½ìš° 가장 ì„±ëŠ¥ì´ ë†’ì€ ìƒ˜í”Œë§ ê°œìˆ˜ë¥¼ ì±„íƒ âž” 387ê°œ
✓ 최종 score를 계산할 ë•Œ 종ì†ë³€ìˆ˜ë¥¼ 다시 ê¸°ì¡´ì˜ í˜•íƒœë¡œ 변환해줌.
✓ 예측변수를 역수 변환해준 ê²ƒì´ í‰ê·  기대ì´ìµ, í‰ê·  RMSEì—ì„œ ë†’ì€ ì„±ëŠ¥ì„ ë³´ìž„.
ìƒì¡´ê¸°ê°„ 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê·  기대ì´ìµ
ìƒì¡´ê¸°ê°„ 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê·  RMSE
ð‘¦1
2
log ð‘¦1 ð‘¦1 ð‘¦1 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 1
ð‘¦1
1
ð‘¦1
ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” ð‘¦1
2
ð‘¦1 ð‘¦1 log ð‘¦1
기대ì´ìµRMSE
8
2-2. 예측변수 ë¶„í¬ ë³€í˜•: ì¼í‰ê·  결제금액
ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘ ð‘ð‘œð‘Ÿð‘’ ð‘†ð‘¡ð‘‘ ð‘ ð‘ð‘œð‘Ÿð‘’ ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘…ð‘€ð‘†ð¸ ð‘†ð‘¡ð‘‘ ð‘…ð‘€ð‘†ð¸
ð‘¦2(ð‘ð‘Žð‘ ð‘’) 14098 980 0.8612 0.060
ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 14050 1050 0.8501 0.076
ð‘¦2
2
15040 921 0.8500 0.051
ð‘¦2 14690 870 0.8798 0.055
log ð‘¦2 14091 1240 0.8815 0.067
1
ð‘¦2
14098 1100 0.9651 0.068
metric
Target
ì¼í‰ê·  결제금액 예측변수 변환
✓ 성능 비êµë¥¼ 위한 모ë¸ì€ Light GBMì„ ì‚¬ìš©.
✓ 성능 비êµë¥¼ í•  때는 ð‘¦1ì„ ì •ë‹µìœ¼ë¡œ ê³ ì • 함.
✓ Undersamplingì˜ ê²½ìš° 가장 ì„±ëŠ¥ì´ ë†’ì€ ìƒ˜í”Œë§ ê°œìˆ˜ë¥¼ ì±„íƒ âž” 300ê°œ
✓ 최종 score를 계산할 ë•Œ 종ì†ë³€ìˆ˜ë¥¼ 다시 ê¸°ì¡´ì˜ í˜•íƒœë¡œ 변환해줌.
✓ 예측변수를 제곱 변환해준 ê²ƒì´ í‰ê·  기대ì´ìµ, í‰ê·  RMSEì—ì„œ ë†’ì€ ì„±ëŠ¥ì„ ë³´ìž„.
ì¼í‰ê·  결제금액 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê·  기대ì´ìµ
ì¼í‰ê·  결제금액 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê· RMSE
ð‘¦2
2log ð‘¦2 ð‘¦2 ð‘¦2
ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘”
1
ð‘¦2
ð‘¦2
2 ð‘¦2 log ð‘¦2 ð‘¦2
1
ð‘¦2
ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘”
기대ì´ìµRMSE
9
예
측
ë³€
수
ë³€
환
ìƒ
ì¡´
기
ê°„
à·y1
ì¼
í‰
ê· 
ê²°
제
금
ì•¡
à·žy2
ሖෞy1
ሖෞy2
역수 변환
제곱 변환
ìƒì¡´ ì¼ìˆ˜ ìƒì¡´ì¼ìˆ˜ì˜ 역수
ì¼í‰ê·  결제금액 ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì˜ ì œê³±
✓ ìƒì¡´ê¸°ê°„: Major label (survival time = 64)으로 치중ë˜ëŠ” í•™ìŠµì„ ë°©ì§€í•˜ê¸° 위해 역수로 변환.
✓ ì¼í‰ê·  결제금액: Major label (amount spent = 0)으로 치중ë˜ëŠ” í•™ìŠµì„ ë°©ì§€í•˜ê¸° 위해 제곱으로 변환.
2-2. 예측변수 ë¶„í¬ ë³€í˜•
10
FEATURES
Aggregate
(group by)
â‘ 
Pivot table
â‘¡
PCA
(Dimension reduction)
â‘¢
Model
XGBOOST
Light GBM
GBM
íŒŒìƒ ë³€ìˆ˜
â‘£
Ensemble
Final Submission
• Test1 public score➔ 5,217
• Test2 public score ➔ 4,042
• Private avg score ➔ 5,859
Target variable
✓ Survival time ➔ 역수 변환
✓ amount spent ➔ 제곱 변환
+
✓ Survival time âž” 산술 í‰ê· 
(XGBOOST + Light GBM + GBM)
✓ Amount spent âž” 산술 í‰ê· 
( XGBOOST + Light GBM + GBM)
3-1. ì „ì²´ ëª¨ë¸ íŒŒì´í”„ë¼ì¸
Random Forest
Elastic Net
MLP
최종ì ìœ¼ë¡œ XGB, Light GBM, GBM 3가지 모ë¸ì„ 사용, ê²°ê³¼ ê°’ì„ ì‚°ìˆ  í‰ê· í•˜ì—¬ 최종 Output으로 채íƒí•¨.
3-2. Feature Engineering: Aggregate
ë°ì´í„°ì…‹ 기준열 통계량 계산 ì—´ 통계량 함수
activity acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation
activity acc_id day, char_id, server unique
trade
source_acc_id
or target_acc_id
Numeric columns sum, mean, max, min, std, var, coefficient of variation
combat acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation
combat acc_id class unique
pldege acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation
payment acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation
✓ ì¤‘ë³µëœ ì˜ë¯¸ì˜ 변수가 ìƒì„± → Column ê°„ì˜ ìƒê´€ê´€ê³„ê°€ 0.999 ì´ìƒì€ ì—´ ì§‘í•©ì€ 1개만 남기고 제거.
✓ 훈련ë°ì´í„° êµì°¨ ê²€ì¦(fold = 5) 과정ì—ì„œ í‰ê·  기대ì´ìµì„ 기준으로 변수를 ì„ íƒí•¨.
✓ NA, Inf ê°’ì˜ ê²½ìš° ì˜ë¯¸ì— ë”°ë¼ì„œ “0†or “-999â€ë¡œ 치환.
11
* coefficient of variation (ë³€ë™ê³„수) =
ðœŽ
ðœ‡
12
3-2. Feature Engineering: Pivot table
ë°ì´í„°ì…‹ ì¸ë±ìŠ¤ ì—´ ì¸ìŠ¤í„´ìŠ¤ 통계량 함수
activity acc_id day, week Numeric columns sum, mean, max, min, std, var
trade
source_acc_id
or target_acc_id
day, week, item_type Numeric columns sum, mean, max, min, std, var
combat acc_id day, week Numeric columns sum, mean, max, min, std, var
pldege acc_id day, week Numeric columns sum, mean, max, min, std, var
payment acc_id day, week Numeric columns sum, mean, max, min, std, var
✓ ì¤‘ë³µëœ ì˜ë¯¸ì˜ 변수가 ìƒì„± → Column ê°„ì˜ ìƒê´€ê´€ê³„ê°€ 0.999 ì´ìƒì€ ì—´ ì§‘í•©ì€ 1개만 남기고 제거.
✓ 훈련ë°ì´í„° êµì°¨ ê²€ì¦(fold = 5) 과정ì—ì„œ í‰ê·  기대ì´ìµì„ 기준으로 변수를 ì„ íƒí•¨.
✓ NA, Inf ê°’ì˜ ê²½ìš° ì˜ë¯¸ì— ë”°ë¼ì„œ “0†or “-999â€ë¡œ 치환.
13
3-2. Feature Engineering: PCA
1 2 … 27 28
2
5
7
...
day
acc_id 1 2 … n
2
5
7
...
day
acc_id
Pivot table features Eigen Vector
%*%
(dot product)
✓ ê°ê°ì˜ Pivot table featureì—ì„œ ì „ì²´ ë°ì´í„°ë¥¼ 80%까지 ë³´ì¡´í•  수 있는 주성분(n)ì„ ì°¾ëŠ”ë‹¤.
✓ Columnì„ day(날짜)ë¡œ Pivoting í•  경우 test1 ë°ì´í„°ì— 대해서는 ë†’ì€ ì„±ëŠ¥ì„ ê¸°ëŒ€í•  수 있ìŒ.
하지만, ë‚ ì§œì— ì˜í•œ ë³€í™”ì— ë§Žì´ ë…¸ì¶œë˜ê¸° ë•Œë¬¸ì— ë‚ ì§œ ë³€í™”ì— ë”°ë¼ì„œ 모ë¸ì˜ ì„±ëŠ¥ì´ í¬ê²Œ ì°¨ì´ ë‚  수 있ìŒ.
✓ ì‹œê³„ì—´ì— ê°•ê±´í•œ 변수를 찾기 위해 ë‚ ì§œì— ì˜í•œ ì†ì„±ì„ 주성분 분ì„ì„ ì´ìš©í•´ ì°¨ì› ì¶•ì†Œí•¨.
✓ ì°¾ì€ ì£¼ì„±ë¶„ì˜ ê³ ìœ ë°±í„°(eigen vector)와 기존 pivoting ë³€ìˆ˜ì˜ í–‰ë ¬ ê³±ì„ í†µí•´ ì°¨ì›ì´ ì¶•ì†Œëœ ìƒˆë¡œìš´ 변수ìƒì„±
14
3-3. Model: Parameter íƒìƒ‰ 과정
learning rate
max depth, min child weight
subsample, col sample by tree
Regularization parameter (L1, L2)
Reduce learning rate
✓효율ì , 효과ì ì¸ 파ë¼ë¯¸í„° íƒìƒ‰ì„ 위해 ì™¼ìª½ì˜ ë„ì‹ëŒ€ë¡œ
파ë¼ë¯¸í„°ë¥¼ 튜ë‹ì„ 진행 함.
âœ“ë‹¤ìŒ ë‹¨ê³„ì˜ íŒŒë¼ë¯¸í„°ë¥¼ 튜ë‹í•  때는 ì´ì „ 단계ì—ì„œ 찾아진
최ì ì˜ ì¡°í•©ì„ ìœ ì§€í•œ 채로 진행 함.
✓ìƒì¡´ ê¸°ê°„ì„ ì˜ˆì¸¡í•˜ëŠ” 모ë¸ì˜ 파ë¼ë¯¸í„°ë¥¼ 튜ë‹í•  때는
ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì„ ì •ë‹µìœ¼ë¡œ 고정시킨 후 파ë¼ë¯¸í„°ë¥¼ íƒìƒ‰ 함.
✓ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì„ ì˜ˆì¸¡í•˜ëŠ” 모ë¸ì˜ 파ë¼ë¯¸í„°ë¥¼ 튜ë‹í•  때는
ìƒì¡´ ê¸°ê°„ì„ ì •ë‹µìœ¼ë¡œ 고정시킨 후 파ë¼ë¯¸í„°ë¥¼ íƒìƒ‰ 함.
✓RMSE를 최소화 í•  수 있는 파ë¼ë¯¸í„°ë¥¼ 찾는 ê²ƒì´ ì•„ë‹Œ,
í‰ê·  기대ì´ìµì„ 최대화 í•  수 있는 파ë¼ë¯¸í„°ë¥¼ 선정함.
* 최종ì ìœ¼ë¡œ 사용한 모든 모ë¸ì€ 부스팅 ëª¨ë¸ ìž„
15
3-3. Model: Optimal parameter
ð‘‡ð‘Žð‘Ÿð‘”ð‘’ð‘¡ ð‘£ð‘Žð‘Ÿð‘–ð‘Žð‘ð‘™ð‘’ ìƒì¡´ê¸°ê°„ (survival time)
ð‘‹ð‘”ð‘ð‘œð‘œð‘ ð‘¡ ð¿ð‘–ð‘”â„Žð‘¡ ðºðµð‘€ ðºðµð‘€
ð‘™ð‘’ð‘Žð‘Ÿð‘›ð‘–ð‘›ð‘” ð‘Ÿð‘Žð‘¡ð‘’ 0.1 0.01 0.03
ð‘€ð‘Žð‘¥ ð‘‘ð‘’ð‘ð‘¡â„Ž 9 9 5
Min ð‘â„Žð‘–ð‘™ð‘‘ ð‘¤ð‘’ð‘–ð‘”â„Žð‘¡ 3 0.01 0.03
ð‘”ð‘Žð‘šð‘šð‘Ž 0.15 - -
ð‘ ð‘¢ð‘ð‘ ð‘Žð‘šð‘ð‘™ð‘’ 0.9 1 1
ð‘ð‘œð‘™ ð‘ ð‘Žð‘šð‘ð‘™ð‘’ ð‘𑦠ð‘¡ð‘Ÿð‘’ð‘’ 0.9 0.7 0.85
ð¿1 ð‘Ÿð‘’ð‘”ð‘¢ð‘™ð‘Žð‘Ÿð‘–ð‘§ð‘Žð‘¡ð‘–ð‘œð‘› 0.3 0 0.4
ð¿2 ð‘Ÿð‘’ð‘”ð‘¢ð‘™ð‘Žð‘Ÿð‘–ð‘§ð‘Žð‘¡ð‘–ð‘œð‘› 0.5 1 0.6
model
parameter
ì¼í‰ê·  결제금액 (amount spent)
ð‘‹ð‘”ð‘ð‘œð‘œð‘ ð‘¡ ð¿ð‘–ð‘”â„Žð‘¡ ðºðµð‘€ ðºðµð‘€
0.1 0.01 0.03
9 6 5
3 0.01 0.03
0.15 - -
0.9 1 1
0.9 0.85 0.85
0.3 5 0.4
0.5 0.5 0.6
* 최종 파ì´í”„ë¼ì¸ì— ì‚¬ìš©ëœ ëª¨ë¸ë§Œ 정리
16
3-5. Ensemble Strategy
â‘  Submission.csv 파ì¼ì„ “변수 + ëª¨ë¸ + Average RMSE score.csv†형ì‹ìœ¼ë¡œ 저장.
â‘¡ 서브미션 파ì¼ì˜ ê° ì˜ˆì¸¡ ê°’ì— ëŒ€í•œ Correlation Matrix를 구함.
â‘¢ Correlation Matrixì˜ í–‰ or ì—´ í‰ê· ì„ 구함 (Correlation matrix는 대칭행렬).
â‘£ ê·¸ ê°’ì„ í•´ë‹¹ ì—°ì‚°ì„ ìˆ˜í–‰í•œ 서브미션 파ì¼ì˜ í‰ê·  ìƒê´€ê³„수로 할당 함.
⑤ 서브미션 파ì¼ì—ì„œ 정규표현ì‹ìœ¼ë¡œ Average RMSE ê°’ì„ ì¶”ì¶œ.
â‘¥ 파ì¼ëª…ì„ Indexë¡œ 하고 Average RMSE, í‰ê· ìƒê´€ê³„수를 ì—´ë¡œ 갖는 ë°ì´í„° í”„ë ˆìž„ì„ ìƒì„±.
⑦ Xì¶•ì„ í‰ê· ìƒê´€ê³„수, Yì¶•ì„ Average RMSE ë¡œ 하는 ì‚°ì ë„를 그림.
⑧ ì‚°ì ë„를 고려하여 Ensembleì„ ìˆ˜í–‰ 함.
⑨ Average RMSE ê°’ì´ ì¶©ë¶„ížˆ í¬ë©´ì„œ 서로 다른 예측 ê°’ì„ ê°–ëŠ” 파ì¼ì„ 산술í‰ê·  í–ˆì„ ë•Œ,
Public ì—ì„œ ë†’ì€ ì ìˆ˜ë¥¼ 기ë¡í•  수 ìžˆì—ˆìŒ (파란 박스로 표시한 것).
ìƒì¡´ê¸°ê°„ 예측 모ë¸ì˜ í‰ê·  RMSEì— ë”°ë¥¸ 예측 ê°’ì˜ ìƒê´€ê³„수
ì¼í‰ê·  결제금액 예측 모ë¸ì˜ í‰ê·  RMSEì— ë”°ë¥¸ 예측 ê°’ì˜ ìƒê´€ê³„수
✓ ìƒì¡´ê¸°ê°„ âž” XGB, LGBM, GBM (산술 í‰ê· )
✓ ì¼í‰ê·  결제금액 âž” XGB, LGBM, GBM (산술 í‰ê· )
Ensemble strategy 개요
최종 Submission 파ì¼
17
3-4. 기대효과 ë° ì˜ì˜
20%
80%
파레토 법칙
Pareto’s law
“ Long tail (하위 80%)ì˜
기대ì´ìµì„ 최대화 하기 위한 ëª¨ë¸ â€
(ê°ê°ì˜ ì˜ˆì¸¡ë³€ìˆ˜ì˜ RMSE를 최소화하는 모ë¸ì€
하위 80% 유저를 ë§žì¶”ëŠ”ë° ì¹˜ì¤‘ëœ ëª¨ë¸ì´ ë  ê°€ëŠ¥ì„±ì´ ë†’ìŒ.)
“Head (ìƒìœ„ 20%)ì˜
기대ì´ìµì„ 최대화 하기 위한 모ë¸â€
(예측 변수 ë³€í™˜ì„ í†µí•´ ì „ì²´ 기대ì´ìµì˜ ëŒ€ë¶€ë¶„ì„ ì°¨ì§€í•˜ê³  있는
ìƒìœ„ 20% 유저를 잘 맞추는 ëª¨ë¸ êµ¬ì¶•)
ì „ì²´ 기대ì´ìµì˜ 80% ì´ìƒì´
리니지 ê³ ê°ì˜ 20%ì— ì˜í•´ ë°œìƒí•¨
예측변수 ë³€í™˜ì„ í†µí•´ ì „ì²´ 기대ì´ìµì˜ 80%를 차지하는 ìƒìœ„ ê³ ê°ì˜ 기대ì´ìµì„ 최대화할 수 있는 모ë¸ì„ 만들 수 있었ìŒ
18
3-4. 기대효과 ë° ì˜ì˜
서로 다른 ë‘ ì‹œì ì˜ Unseen ë°ì´í„°ì— 대해서ë„
ë™ì¼í•œ ë†’ì€ ì„±ëŠ¥ì„ ë³´ì´ëŠ” 모ë¸ì„ 만드는 ê²ƒì´ ì¤‘ìš”í•¨
✓ 시계열 ë³€í™”ì— ê°•ê±´í•œ 모ë¸ì„ 위해 PCA 변수 사용
✓ ëª¨ë¸ ì˜ˆì¸¡ ê°’ì˜ Variance를 ì¤„ì¼ ìˆ˜ 있는 ì•™ìƒë¸” ì „ëžµ 사용
✓ 기존 Test1 ê³¼ Test2 사ì´ì˜ 기대ì´ìµì˜ 격차를 ìƒë‹¹ížˆ ì¤„ì¼ ìˆ˜ 있었ìŒ
✓ 기존 격차 : 4,561 → PCA변수, ì•™ìƒë¸”ì„ ì‚¬ìš©í–ˆì„ ë•Œ 줄어든 격차 : 2,034
* 격차 = test1 기대ì´ìµ – test2 기대ì´ìµ
19
Thank You

More Related Content

Development of a forecasting model for expected profit for lineage users

  • 1. 리니지 유저 기대ì´ìµ 예측 ëª¨ë¸ ê°œë°œ : 머신 ëŸ¬ë‹ ê¸°ë°˜ìœ¼ë¡œ Team - D&A ê¹€ë™í˜„, ìž„í•„ë ¹, 황태용, 임진í˜, ê³½í™ìž¬ 1
  • 2. 2 1. 문제 ë¶„ì„ â€¢ 파레토 법칙 • 기대ì´ìµ 2. 예측변수 ë¶„ì„ â€¢ 예측변수 ë¶„ì„ â€“ ìƒì¡´ê¸°ê°„ • 예측변수 ë¶„ì„ â€“ ì¼í‰ê·  결제금액 • 예측변수 ë¶„í¬ ë³€í˜• – ìƒì¡´ê¸°ê°„ • 예측변수 ë¶„í¬ ë³€í˜• – ì¼í‰ê·  결제금액 0. 목차 3. 모ë¸ë§ • ì „ì²´ ëª¨ë¸ íŒŒì´í”„ë¼ì¸ • Feature Engineering • Model • Ensemble strategy 4. 기대효과 ë° ì˜ì˜ • ìƒìœ„ 유저 ì¤‘ì  ì˜ˆì¸¡ ëª¨ë¸ êµ¬ì¶• • 시계열 ë³€í™”ì— ê°•ê±´í•œ ëª¨ë¸ êµ¬ì¶•
  • 3. “전체 ê²°ê³¼ì˜ 80%ê°€ ì „ì²´ ì›ì¸ì˜ 20%ì—ì„œ ì¼ì–´ë‚˜ëŠ” 현ìƒâ€ 20% 80% 파레토 법칙 Pareto’s law 리니지 유저 수 (기대ì´ìµì— 따른 내림차순 ì •ë ¬) 기대ì´ìµ ìƒìœ„ 20% ìœ ì €ì˜ ê¸°ëŒ€ì´ìµì˜ ì´í•© 하위 80% ìœ ì €ì˜ ê¸°ëŒ€ì´ìµì˜ ì´í•© ì „ì²´ 기대ì´ìµì˜ 80% ì´ìƒì´ 리니지 ê³ ê°ì˜ 20%ì— ì˜í•´ ë°œìƒí•¨ 리니지 ìœ ì €ë“¤ì˜ ê¸°ëŒ€ì´ìµ (훈련 ë°ì´í„° 기준) 1. 문제 분ì„: 파레토 법칙 âž” ì „ì²´ 기대ì´ìµì— ê²°ì •ì ì¸ ì˜í–¥ì„ ë¼ì¹˜ëŠ” ìƒìœ„ ê³ ê°ì„ 예측하는 ê²ƒì´ ì¤‘ìš”í•¨. 3
  • 4. ìƒì¡´ê¸°ê°„ 예측치 ì¼ë³„ í‰ê·  ê²°ì œ 금액 예측치 잔존가치 전환율 비용 기대ì´ìµ 비율(%) (훈련 ë°ì´í„°) Ƹ𑡠= 64 à· ð‘… = 0 - - - - 18.40 Ƹ𑡠= 64 à· ð‘… > 0 - - - - 36.59 1 ≤ Ƹ𑡠< 64 à· ð‘… = 0 - - - - 22.69 1 ≤ Ƹ𑡠< 64 à· ð‘… > 0 ★ ★ ★ ★ 22.32 실제 기대ì´ìµì´ 산출ë˜ëŠ” 유저는 22.32 % ìž„. ì´íƒˆë¡œ 예측ë˜ëŠ” 유저, 결제를 í•  것으로 예측ë˜ëŠ” 유저들만 기대ì´ìµì´ 산출ë¨. 1. 문제 분ì„: 기대ì´ìµ 즉, ì´íƒˆ 유저 ì´ë©´ì„œ ê²°ì œ 유저를 예측하는 ê²ƒì´ ë¦¬ë‹ˆì§€ 유저 ê³ ê°ê´€ë¦¬ì˜ 핵심 ìž„. 4
  • 5. 2-1. 예측변수 분ì„: ìƒì¡´ 기간 5 ìƒì¡´ 기간 (survival time) í‰ê· ê¸°ëŒ€ì´ìµ(score) ìƒì¡´ê¸°ê°„ì— ë”°ë¥¸ í‰ê·  기대ì´ìµ ìƒì¡´ ê¸°ê°„ì´ 1ì— ê°€ê¹Œìš´ ìœ ì €ë“¤ì´ ëŒ€ë¶€ë¶„ì˜ ê¸°ëŒ€ ì´ìµì„ 차지함. ìƒì¡´ ì—¬ë¶€ì— ë”°ë¥¸ 유저 비율 54.99 % 45.01 % 잔존 (ìƒì¡´ê¸°ê°„: 64) ì´íƒˆ (ìƒì¡´ 기간: 1 ~ 63) 잔존으로 예측ë˜ëŠ” 유저는 기대 ì´ìµì´ 없으며 ì „ì²´ ìœ ì €ì˜ 54.99%를 차지함. ìƒì¡´ê¸°ê°„ì˜ RMSE를 최소화하는 모ë¸ì€ Major ê°’ì¸ 64ì— ê°€ê¹ê²Œ 추정(과대 추정) ê²½í–¥ì„ ê°€ì§. ìƒì¡´ê¸°ê°„ì´ 1ì— ê°€ê¹Œìš´ ìœ ì €ë“¤ì— ëŒ€í•œ 정확ë„를 높ì´ê¸° 위해서는 ì˜ˆì¸¡ë³€ìˆ˜ì˜ ë³€í™˜ì´ í•„ìš”í•¨.
  • 6. 2-1. 예측변수 분ì„: ì¼í‰ê·  ê²°ì œ 금액 리니지 ìœ ì €ì˜ ì¼í‰ê·  결제금액 (amount spent) 유저비율 리니지 유저 ì¼í‰ê·  ê²°ì œ ê¸ˆì•¡ì˜ ì»¤ë„ ë°€ë„ í•¨ìˆ˜ ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì´ 0ì— ê°€ê¹Œìš´ 유저가 ëŒ€ë‹¤ìˆ˜ì¸ ë¶ˆê· í˜•ì  ë¶„í¬ë¥¼ ë„ê³  있ìŒ. ð’„ð’ð’— ð‘¹, ð‘ºð’„ð’ð’“ð’† = ðŸŽ. ðŸ—🗠→ ì¼í‰ê·  결제금액과 기대ì´ìµì€ ë†’ì€ ì–‘ì˜ ìƒê´€ê´€ê³„를 ë„ê³  있ìŒ. 유저 ì•„ì´ë”” ì¼í‰ê·  결제금액 기대ì´ìµ 기대ì´ìµ ëˆ„ì  í•© (기대ì´ìµ ëˆ„ì  í•© / ì „ì²´ 기대ì´ìµ) * 100 102496 39.412 1170.551 1170.555173 1.276592 30688 35.949 1067.697 2238.253122 2.441009 79872 32.214 956.784 3195.037752 3.484466 65542 31.252 928.199 4123.237721 4.496748 … … … … … 24120 17.816 529.1470 12012.172483 13.100316 51116 16.940 503.1448 12515.317284 13.649039 35301 16.940 503.1282 13018.445519 14.197744 111027 16.638 494.1629 13512.608463 14.736671 ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì´ ë§Žì€ ìƒìœ„ 20ëª…ì˜ ìœ ì € 훈련ë°ì´í„° ì „ì²´ 40,000ëª…ì˜ ìœ ì € 중 ì¼í‰ê·  ê²°ì œ 금액 ìƒìœ„ 20ëª…ì˜ ìœ ì €ë“¤ì´ ì „ì²´ 기대ì´ìµì˜ 약 15%를 차지하고 있ìŒ. ì¼í‰ê·  결제금액 ìƒìœ„ ìœ ì €ë“¤ì„ ìž˜ 맞추기 위해서는 ê³¼ì†Œì¶”ì •ì„ ë°©ì§€í•´ì•¼ 하며 ì´ë¥¼ 위해 ì˜ˆì¸¡ë³€ìˆ˜ì˜ ë³€í™˜ì´ í•„ìš”í•¨. 6
  • 7. 7 2-2. 예측변수 ë¶„í¬ ë³€í˜•: ìƒì¡´ 기간 ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘ ð‘ð‘œð‘Ÿð‘’ ð‘†ð‘¡ð‘‘ ð‘ ð‘ð‘œð‘Ÿð‘’ ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘…ð‘€ð‘†ð¸ ð‘†ð‘¡ð‘‘ ð‘…ð‘€ð‘†ð¸ ð‘¦1(ð‘ð‘Žð‘ ð‘’) 13928 1223 17.28 0.1237 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 14450 1012 16.89 0.1176 ð‘¦1 2 12490 1224 17.08 0.1189 ð‘¦1 14098 1009 17.12 0.1235 log ð‘¦1 12870 1098 17,33 0.1100 1 ð‘¦1 15098 987 16.75 0.1112 metric Target ìƒì¡´ê¸°ê°„ 예측변수 변환 ✓ 성능 비êµë¥¼ 위한 모ë¸ì€ Light GBMì„ ì‚¬ìš©. ✓ 성능 비êµë¥¼ í•  때는 ð‘¦2ì„ ì •ë‹µìœ¼ë¡œ ê³ ì • 함. ✓ Undersamplingì˜ ê²½ìš° 가장 ì„±ëŠ¥ì´ ë†’ì€ ìƒ˜í”Œë§ ê°œìˆ˜ë¥¼ ì±„íƒ âž” 387ê°œ ✓ 최종 score를 계산할 ë•Œ 종ì†ë³€ìˆ˜ë¥¼ 다시 ê¸°ì¡´ì˜ í˜•íƒœë¡œ 변환해줌. ✓ 예측변수를 역수 변환해준 ê²ƒì´ í‰ê·  기대ì´ìµ, í‰ê·  RMSEì—ì„œ ë†’ì€ ì„±ëŠ¥ì„ ë³´ìž„. ìƒì¡´ê¸°ê°„ 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê·  기대ì´ìµ ìƒì¡´ê¸°ê°„ 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê·  RMSE ð‘¦1 2 log ð‘¦1 ð‘¦1 ð‘¦1 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 1 ð‘¦1 1 ð‘¦1 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” ð‘¦1 2 ð‘¦1 ð‘¦1 log ð‘¦1 기대ì´ìµRMSE
  • 8. 8 2-2. 예측변수 ë¶„í¬ ë³€í˜•: ì¼í‰ê·  결제금액 ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘ ð‘ð‘œð‘Ÿð‘’ ð‘†ð‘¡ð‘‘ ð‘ ð‘ð‘œð‘Ÿð‘’ ð´ð‘£ð‘’ð‘Ÿð‘Žð‘”ð‘’ ð‘…ð‘€ð‘†ð¸ ð‘†ð‘¡ð‘‘ ð‘…ð‘€ð‘†ð¸ ð‘¦2(ð‘ð‘Žð‘ ð‘’) 14098 980 0.8612 0.060 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 14050 1050 0.8501 0.076 ð‘¦2 2 15040 921 0.8500 0.051 ð‘¦2 14690 870 0.8798 0.055 log ð‘¦2 14091 1240 0.8815 0.067 1 ð‘¦2 14098 1100 0.9651 0.068 metric Target ì¼í‰ê·  결제금액 예측변수 변환 ✓ 성능 비êµë¥¼ 위한 모ë¸ì€ Light GBMì„ ì‚¬ìš©. ✓ 성능 비êµë¥¼ í•  때는 ð‘¦1ì„ ì •ë‹µìœ¼ë¡œ ê³ ì • 함. ✓ Undersamplingì˜ ê²½ìš° 가장 ì„±ëŠ¥ì´ ë†’ì€ ìƒ˜í”Œë§ ê°œìˆ˜ë¥¼ ì±„íƒ âž” 300ê°œ ✓ 최종 score를 계산할 ë•Œ 종ì†ë³€ìˆ˜ë¥¼ 다시 ê¸°ì¡´ì˜ í˜•íƒœë¡œ 변환해줌. ✓ 예측변수를 제곱 변환해준 ê²ƒì´ í‰ê·  기대ì´ìµ, í‰ê·  RMSEì—ì„œ ë†’ì€ ì„±ëŠ¥ì„ ë³´ìž„. ì¼í‰ê·  결제금액 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê·  기대ì´ìµ ì¼í‰ê·  결제금액 예측변수 ë³€í™˜ì— ë”°ë¥¸ í‰ê· RMSE ð‘¦2 2log ð‘¦2 ð‘¦2 ð‘¦2 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 1 ð‘¦2 ð‘¦2 2 ð‘¦2 log ð‘¦2 ð‘¦2 1 ð‘¦2 ð‘ˆð‘›ð‘‘ð‘’ð‘Ÿð‘ ð‘Žð‘šð‘ð‘™ð‘–ð‘›ð‘” 기대ì´ìµRMSE
  • 9. 9 예 측 ë³€ 수 ë³€ 환 ìƒ ì¡´ 기 ê°„ à·y1 ì¼ í‰ ê·  ê²° ì œ 금 ì•¡ à·žy2 ሖෞy1 ሖෞy2 역수 변환 제곱 변환 ìƒì¡´ ì¼ìˆ˜ ìƒì¡´ì¼ìˆ˜ì˜ 역수 ì¼í‰ê·  결제금액 ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì˜ ì œê³± ✓ ìƒì¡´ê¸°ê°„: Major label (survival time = 64)으로 치중ë˜ëŠ” í•™ìŠµì„ ë°©ì§€í•˜ê¸° 위해 역수로 변환. ✓ ì¼í‰ê·  결제금액: Major label (amount spent = 0)으로 치중ë˜ëŠ” í•™ìŠµì„ ë°©ì§€í•˜ê¸° 위해 제곱으로 변환. 2-2. 예측변수 ë¶„í¬ ë³€í˜•
  • 10. 10 FEATURES Aggregate (group by) â‘  Pivot table â‘¡ PCA (Dimension reduction) â‘¢ Model XGBOOST Light GBM GBM íŒŒìƒ ë³€ìˆ˜ â‘£ Ensemble Final Submission • Test1 public scoreâž” 5,217 • Test2 public score âž” 4,042 • Private avg score âž” 5,859 Target variable ✓ Survival time âž” 역수 변환 ✓ amount spent âž” 제곱 변환 + ✓ Survival time âž” 산술 í‰ê·  (XGBOOST + Light GBM + GBM) ✓ Amount spent âž” 산술 í‰ê·  ( XGBOOST + Light GBM + GBM) 3-1. ì „ì²´ ëª¨ë¸ íŒŒì´í”„ë¼ì¸ Random Forest Elastic Net MLP 최종ì ìœ¼ë¡œ XGB, Light GBM, GBM 3가지 모ë¸ì„ 사용, ê²°ê³¼ ê°’ì„ ì‚°ìˆ  í‰ê· í•˜ì—¬ 최종 Output으로 채íƒí•¨.
  • 11. 3-2. Feature Engineering: Aggregate ë°ì´í„°ì…‹ 기준열 통계량 계산 ì—´ 통계량 함수 activity acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation activity acc_id day, char_id, server unique trade source_acc_id or target_acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation combat acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation combat acc_id class unique pldege acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation payment acc_id Numeric columns sum, mean, max, min, std, var, coefficient of variation ✓ ì¤‘ë³µëœ ì˜ë¯¸ì˜ 변수가 ìƒì„± → Column ê°„ì˜ ìƒê´€ê´€ê³„ê°€ 0.999 ì´ìƒì€ ì—´ ì§‘í•©ì€ 1개만 남기고 제거. ✓ 훈련ë°ì´í„° êµì°¨ ê²€ì¦(fold = 5) 과정ì—ì„œ í‰ê·  기대ì´ìµì„ 기준으로 변수를 ì„ íƒí•¨. ✓ NA, Inf ê°’ì˜ ê²½ìš° ì˜ë¯¸ì— ë”°ë¼ì„œ “0†or “-999â€ë¡œ 치환. 11 * coefficient of variation (ë³€ë™ê³„수) = 𜎠ðœ‡
  • 12. 12 3-2. Feature Engineering: Pivot table ë°ì´í„°ì…‹ ì¸ë±ìŠ¤ ì—´ ì¸ìŠ¤í„´ìŠ¤ 통계량 함수 activity acc_id day, week Numeric columns sum, mean, max, min, std, var trade source_acc_id or target_acc_id day, week, item_type Numeric columns sum, mean, max, min, std, var combat acc_id day, week Numeric columns sum, mean, max, min, std, var pldege acc_id day, week Numeric columns sum, mean, max, min, std, var payment acc_id day, week Numeric columns sum, mean, max, min, std, var ✓ ì¤‘ë³µëœ ì˜ë¯¸ì˜ 변수가 ìƒì„± → Column ê°„ì˜ ìƒê´€ê´€ê³„ê°€ 0.999 ì´ìƒì€ ì—´ ì§‘í•©ì€ 1개만 남기고 제거. ✓ 훈련ë°ì´í„° êµì°¨ ê²€ì¦(fold = 5) 과정ì—ì„œ í‰ê·  기대ì´ìµì„ 기준으로 변수를 ì„ íƒí•¨. ✓ NA, Inf ê°’ì˜ ê²½ìš° ì˜ë¯¸ì— ë”°ë¼ì„œ “0†or “-999â€ë¡œ 치환.
  • 13. 13 3-2. Feature Engineering: PCA 1 2 … 27 28 2 5 7 ... day acc_id 1 2 … n 2 5 7 ... day acc_id Pivot table features Eigen Vector %*% (dot product) ✓ ê°ê°ì˜ Pivot table featureì—ì„œ ì „ì²´ ë°ì´í„°ë¥¼ 80%까지 ë³´ì¡´í•  수 있는 주성분(n)ì„ ì°¾ëŠ”ë‹¤. ✓ Columnì„ day(날짜)ë¡œ Pivoting í•  경우 test1 ë°ì´í„°ì— 대해서는 ë†’ì€ ì„±ëŠ¥ì„ ê¸°ëŒ€í•  수 있ìŒ. 하지만, ë‚ ì§œì— ì˜í•œ ë³€í™”ì— ë§Žì´ ë…¸ì¶œë˜ê¸° ë•Œë¬¸ì— ë‚ ì§œ ë³€í™”ì— ë”°ë¼ì„œ 모ë¸ì˜ ì„±ëŠ¥ì´ í¬ê²Œ ì°¨ì´ ë‚  수 있ìŒ. ✓ ì‹œê³„ì—´ì— ê°•ê±´í•œ 변수를 찾기 위해 ë‚ ì§œì— ì˜í•œ ì†ì„±ì„ 주성분 분ì„ì„ ì´ìš©í•´ ì°¨ì› ì¶•ì†Œí•¨. ✓ ì°¾ì€ ì£¼ì„±ë¶„ì˜ ê³ ìœ ë°±í„°(eigen vector)와 기존 pivoting ë³€ìˆ˜ì˜ í–‰ë ¬ ê³±ì„ í†µí•´ ì°¨ì›ì´ ì¶•ì†Œëœ ìƒˆë¡œìš´ 변수ìƒì„±
  • 14. 14 3-3. Model: Parameter íƒìƒ‰ 과정 learning rate max depth, min child weight subsample, col sample by tree Regularization parameter (L1, L2) Reduce learning rate ✓효율ì , 효과ì ì¸ 파ë¼ë¯¸í„° íƒìƒ‰ì„ 위해 ì™¼ìª½ì˜ ë„ì‹ëŒ€ë¡œ 파ë¼ë¯¸í„°ë¥¼ 튜ë‹ì„ 진행 함. âœ“ë‹¤ìŒ ë‹¨ê³„ì˜ íŒŒë¼ë¯¸í„°ë¥¼ 튜ë‹í•  때는 ì´ì „ 단계ì—ì„œ 찾아진 최ì ì˜ ì¡°í•©ì„ ìœ ì§€í•œ 채로 진행 함. ✓ìƒì¡´ ê¸°ê°„ì„ ì˜ˆì¸¡í•˜ëŠ” 모ë¸ì˜ 파ë¼ë¯¸í„°ë¥¼ 튜ë‹í•  때는 ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì„ ì •ë‹µìœ¼ë¡œ 고정시킨 후 파ë¼ë¯¸í„°ë¥¼ íƒìƒ‰ 함. ✓ì¼í‰ê·  ê²°ì œê¸ˆì•¡ì„ ì˜ˆì¸¡í•˜ëŠ” 모ë¸ì˜ 파ë¼ë¯¸í„°ë¥¼ 튜ë‹í•  때는 ìƒì¡´ ê¸°ê°„ì„ ì •ë‹µìœ¼ë¡œ 고정시킨 후 파ë¼ë¯¸í„°ë¥¼ íƒìƒ‰ 함. ✓RMSE를 최소화 í•  수 있는 파ë¼ë¯¸í„°ë¥¼ 찾는 ê²ƒì´ ì•„ë‹Œ, í‰ê·  기대ì´ìµì„ 최대화 í•  수 있는 파ë¼ë¯¸í„°ë¥¼ 선정함. * 최종ì ìœ¼ë¡œ 사용한 모든 모ë¸ì€ 부스팅 ëª¨ë¸ ìž„
  • 15. 15 3-3. Model: Optimal parameter ð‘‡ð‘Žð‘Ÿð‘”ð‘’ð‘¡ ð‘£ð‘Žð‘Ÿð‘–ð‘Žð‘ð‘™ð‘’ ìƒì¡´ê¸°ê°„ (survival time) ð‘‹ð‘”ð‘ð‘œð‘œð‘ ð‘¡ ð¿ð‘–ð‘”â„Žð‘¡ ðºðµð‘€ ðºðµð‘€ ð‘™ð‘’ð‘Žð‘Ÿð‘›ð‘–ð‘›ð‘” ð‘Ÿð‘Žð‘¡ð‘’ 0.1 0.01 0.03 ð‘€ð‘Žð‘¥ ð‘‘ð‘’ð‘ð‘¡â„Ž 9 9 5 Min ð‘â„Žð‘–ð‘™ð‘‘ ð‘¤ð‘’ð‘–ð‘”â„Žð‘¡ 3 0.01 0.03 ð‘”ð‘Žð‘šð‘šð‘Ž 0.15 - - ð‘ ð‘¢ð‘ð‘ ð‘Žð‘šð‘ð‘™ð‘’ 0.9 1 1 ð‘ð‘œð‘™ ð‘ ð‘Žð‘šð‘ð‘™ð‘’ ð‘𑦠ð‘¡ð‘Ÿð‘’ð‘’ 0.9 0.7 0.85 ð¿1 ð‘Ÿð‘’ð‘”ð‘¢ð‘™ð‘Žð‘Ÿð‘–ð‘§ð‘Žð‘¡ð‘–ð‘œð‘› 0.3 0 0.4 ð¿2 ð‘Ÿð‘’ð‘”ð‘¢ð‘™ð‘Žð‘Ÿð‘–ð‘§ð‘Žð‘¡ð‘–ð‘œð‘› 0.5 1 0.6 model parameter ì¼í‰ê·  결제금액 (amount spent) ð‘‹ð‘”ð‘ð‘œð‘œð‘ ð‘¡ ð¿ð‘–ð‘”â„Žð‘¡ ðºðµð‘€ ðºðµð‘€ 0.1 0.01 0.03 9 6 5 3 0.01 0.03 0.15 - - 0.9 1 1 0.9 0.85 0.85 0.3 5 0.4 0.5 0.5 0.6 * 최종 파ì´í”„ë¼ì¸ì— ì‚¬ìš©ëœ ëª¨ë¸ë§Œ 정리
  • 16. 16 3-5. Ensemble Strategy â‘  Submission.csv 파ì¼ì„ “변수 + ëª¨ë¸ + Average RMSE score.csv†형ì‹ìœ¼ë¡œ 저장. â‘¡ 서브미션 파ì¼ì˜ ê° ì˜ˆì¸¡ ê°’ì— ëŒ€í•œ Correlation Matrix를 구함. â‘¢ Correlation Matrixì˜ í–‰ or ì—´ í‰ê· ì„ 구함 (Correlation matrix는 대칭행렬). â‘£ ê·¸ ê°’ì„ í•´ë‹¹ ì—°ì‚°ì„ ìˆ˜í–‰í•œ 서브미션 파ì¼ì˜ í‰ê·  ìƒê´€ê³„수로 할당 함. ⑤ 서브미션 파ì¼ì—ì„œ 정규표현ì‹ìœ¼ë¡œ Average RMSE ê°’ì„ ì¶”ì¶œ. â‘¥ 파ì¼ëª…ì„ Indexë¡œ 하고 Average RMSE, í‰ê· ìƒê´€ê³„수를 ì—´ë¡œ 갖는 ë°ì´í„° í”„ë ˆìž„ì„ ìƒì„±. ⑦ Xì¶•ì„ í‰ê· ìƒê´€ê³„수, Yì¶•ì„ Average RMSE ë¡œ 하는 ì‚°ì ë„를 그림. ⑧ ì‚°ì ë„를 고려하여 Ensembleì„ ìˆ˜í–‰ 함. ⑨ Average RMSE ê°’ì´ ì¶©ë¶„ížˆ í¬ë©´ì„œ 서로 다른 예측 ê°’ì„ ê°–ëŠ” 파ì¼ì„ 산술í‰ê·  í–ˆì„ ë•Œ, Public ì—ì„œ ë†’ì€ ì ìˆ˜ë¥¼ 기ë¡í•  수 ìžˆì—ˆìŒ (파란 박스로 표시한 것). ìƒì¡´ê¸°ê°„ 예측 모ë¸ì˜ í‰ê·  RMSEì— ë”°ë¥¸ 예측 ê°’ì˜ ìƒê´€ê³„수 ì¼í‰ê·  결제금액 예측 모ë¸ì˜ í‰ê·  RMSEì— ë”°ë¥¸ 예측 ê°’ì˜ ìƒê´€ê³„수 ✓ ìƒì¡´ê¸°ê°„ âž” XGB, LGBM, GBM (산술 í‰ê· ) ✓ ì¼í‰ê·  결제금액 âž” XGB, LGBM, GBM (산술 í‰ê· ) Ensemble strategy 개요 최종 Submission 파ì¼
  • 17. 17 3-4. 기대효과 ë° ì˜ì˜ 20% 80% 파레토 법칙 Pareto’s law “ Long tail (하위 80%)ì˜ ê¸°ëŒ€ì´ìµì„ 최대화 하기 위한 ëª¨ë¸ â€ (ê°ê°ì˜ ì˜ˆì¸¡ë³€ìˆ˜ì˜ RMSE를 최소화하는 모ë¸ì€ 하위 80% 유저를 ë§žì¶”ëŠ”ë° ì¹˜ì¤‘ëœ ëª¨ë¸ì´ ë  ê°€ëŠ¥ì„±ì´ ë†’ìŒ.) “Head (ìƒìœ„ 20%)ì˜ ê¸°ëŒ€ì´ìµì„ 최대화 하기 위한 모ë¸â€ (예측 변수 ë³€í™˜ì„ í†µí•´ ì „ì²´ 기대ì´ìµì˜ ëŒ€ë¶€ë¶„ì„ ì°¨ì§€í•˜ê³  있는 ìƒìœ„ 20% 유저를 잘 맞추는 ëª¨ë¸ êµ¬ì¶•) ì „ì²´ 기대ì´ìµì˜ 80% ì´ìƒì´ 리니지 ê³ ê°ì˜ 20%ì— ì˜í•´ ë°œìƒí•¨ 예측변수 ë³€í™˜ì„ í†µí•´ ì „ì²´ 기대ì´ìµì˜ 80%를 차지하는 ìƒìœ„ ê³ ê°ì˜ 기대ì´ìµì„ 최대화할 수 있는 모ë¸ì„ 만들 수 있었ìŒ
  • 18. 18 3-4. 기대효과 ë° ì˜ì˜ 서로 다른 ë‘ ì‹œì ì˜ Unseen ë°ì´í„°ì— ëŒ€í•´ì„œë„ ë™ì¼í•œ ë†’ì€ ì„±ëŠ¥ì„ ë³´ì´ëŠ” 모ë¸ì„ 만드는 ê²ƒì´ ì¤‘ìš”í•¨ ✓ 시계열 ë³€í™”ì— ê°•ê±´í•œ 모ë¸ì„ 위해 PCA 변수 사용 ✓ ëª¨ë¸ ì˜ˆì¸¡ ê°’ì˜ Variance를 ì¤„ì¼ ìˆ˜ 있는 ì•™ìƒë¸” ì „ëžµ 사용 ✓ 기존 Test1 ê³¼ Test2 사ì´ì˜ 기대ì´ìµì˜ 격차를 ìƒë‹¹ížˆ ì¤„ì¼ ìˆ˜ ìžˆì—ˆìŒ âœ“ 기존 격차 : 4,561 → PCA변수, ì•™ìƒë¸”ì„ ì‚¬ìš©í–ˆì„ ë•Œ 줄어든 격차 : 2,034 * 격차 = test1 기대ì´ìµ – test2 기대ì´ìµ