잡케어 추천 알고리즘 경진대회

혹시 Feature Engineerinng 하신 분들 중에서 LB 상에서 (글자제한)

2021.12.27 13:57 3,400 Views

혹시 Feature Engineerinng 하신 분들 중에서 LB 상에서 점수가 오르시는 분 계시나요?

저는 Feature Engineerinng 한 값들을 넣으면 validaiton 상에서는 3~4% 정도로 점수가 유의미하게 오르는 데, 실제로 LB 상에서는 변동이 없더라고요.

실제 private에서는 점수가 오르는지는 알 수 없지만 다른 분들도 LB 상에서 점수가 변동이 없는지 궁금하네요.

로그인이 필요합니다
0 / 1000
최정명
2021.12.27 16:18

저도 이런 경험을 해본적이 있는데 target 값을 중심으로 feature engineering 을 할 때 그렇더라고요.

훈련데이터에 오버피팅 시켜버렸던거죠ㅠㅠ 

LB 채점에 사용된 test 데이터셋이 생성한 feature에 유의미 하지 않을 수도 있고요. 

BeneciaLee
2021.12.27 22:21

무엇이 실제 도움이 되고 도움이 안 되는지를 판단하기가 애매한 것 같아요 😢.

현재 저는 두 가지 접근 방식을 통해서 모델링 작업을 실시 하고 있습니다. 

1. 데이터 특징 분포도에 따라서 서로 다른 Encoding 작업을 실시했습니다. 이러한 데이터 셋 값을 semi-supervised 학습을 실시하고 이 모델을 전이 학습을 해보았습니다. 이 모델에서는 아직까지는  Feature Engineering 했던 값을 사용한 것이 아니라, 오리지널 데이터 값만을 사용했습니다. 이러한 경우에는 validaiton 상에서 보다 오히려 LB 에서 더욱 좋은 점수를 받는 것을 확인 했습니다(약 2~3% 점수 향상).   

2. 일반적인 머신 러닝 기법들을 적용해 보았습니다. 이때는 오리지널 데이터나 Feature Engineering 데이터나 둘 다 69%정도의 점수를 받더라고요. 검증 데이터 상에서만 유의미하게 점수 차이가 나서, 다른 방식을 다시 찾아봐야 겠네요.
감사합니다 :D

최정명
2021.12.28 14:29

유독 LB에서 채점되는 TEST 데이터에 들어맞는 유의미한 feature가 안 만들어졌을 수도 있으니 최종 제출 때 validation score를 신뢰하고 제출하는 전략도 있습니다.

밑에 taegu님이 말씀하신 out of fold 전략을 사용하셔서 test LB의 결과와 비교해서 비슷한 데이터 분포를 만들어 분석해보는 것도 좋습니다.

좋은 결과가 있으셨으면 좋겠습니다!

저도 시간 나면 제출해보면서 의견 공유해볼게요 ㅎㅎ 

BeneciaLee
2021.12.28 19:28

아직 시간적 여유가 있으니 여러가지 시도를 해보려고요 :D

아무래도 최종 결과 제출은 2개를 선택할 수 있으니, validation에서 성능이 좋았던 경우도 제출 해볼 생각이에요.  감사합니다 ~ 🙏

taegu
2021.12.27 17:08

train set을 train과 test로 분리 후에 검증해보시겠어요? 

train cross validation을 통한 oof와 test값을 비교하면 조금 더 도움이 될 수 있습니다.

BeneciaLee
2021.12.27 19:30

감사합니다~!! 
K-Fold를 실시해서 점수를 측정해도 모든 경우에서 Feature Engineering의 값을 넣은 게 Validation 점수가 더욱 높더라고요.
그런데 LB 상에서는 점수 변동이 없었습니다. 좀 더 다른 방식으로 접근해야 할 것 같네요 😭

taegu
2021.12.27 21:09

K-Fold 만 진행할 경우 위의 정명님께서 말씀하신 것 처럼 오버피팅이 일어날 수 있습니다.

그래서 저는 사전에 train에서 0.2정도 test셋을 분리 하여 k-fold Validation 점수와 test 예측 점수가 둘다 상승할 때 제출하고 있습니다.

화이팅 하세요!

BeneciaLee
2021.12.27 21:39

오~! 감사합니다. 지금까지는 검증 셋만 구분해서 학습을 수행  했었는데, 테스트 셋을 별도로 만들어서 검증을 추가적으로 해봐야겠네요.

감사합니다 ~!! :D

처음해봐요
2022.01.03 02:46

음.. 아직 제출은 안해봤지만 다른 대회 경험 상 Train은 2020 1/1 ~ 2020/11/30 Test는 2020/12/1 ~ 12/30입니다. Validation 구성할 때 Test와 비슷하게 시간에 따라 나누는 것이 좋을 것 같습니다. 사람과 content도 고려해서 최대한 Test와 비슷하게 나눈다면 더 좋을 것 같고요!

BeneciaLee
2022.01.03 23:51

조언해 주셔서 감사합니다!!! 😌
아직까지는 별다른 아이디어가 떠오르는 게 없어서 이 대회는 여기서 잠시 멈추고'KNOW 기반 직업 추천 알고리즘 경진대회'를 시작해 보려고요 :D 
새해인데 새해 복 많이 받으세요 ~!! 🌅