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

알고리즘 | 정형 | 분류 | 추천 | Macro f1 score

  • moneyIcon Prize : 총 1,000만원
  • 1,629명 마감

 

catboost + CV 5Fold + threshold 변경 (LB: 0.7)

2021.12.21 13:43 10,891 Views language

안녕하세요 국경원 요원입니다. 
범주형 변수에 강력한 성능을 보여주는 catboost를 이용하여 코드를 작성해 봤습니다. 
구글 코랩에서 작성하였고, GPU를 이용하여 학습 했습니다.
최종 예측 파일 threshold값을 조정해서 재현율을 끌어올려 LB 점수에서 이득을 봤습니다. 참고가 되었으면 좋겠습니다. 

Code
로그인이 필요합니다
0 / 1000
건조한안구는싫어
2021.12.21 13:57

감사합니다

이세모
2021.12.21 20:35

좋은 글 감사합니다!

Hwanython
2021.12.24 10:52

 당신은 빛과 같은 존재인가요?

young123
2021.12.31 00:16

감사합니다,,

joniekwon
2021.12.31 15:22

Catboost 사용해보고 싶었는데 참고가 되었어요 감사합니다

진욱
2022.01.20 09:41

감사합니다!

간지종자
2022.01.20 20:25

혹시 threshold를 0.5가아니라 0.4로 잡으신 이유가있으실까요??

국경원 요원
2022.01.21 11:44

안녕하세요~~ 제가 제출한 모델에서는 threshold를 낮추면서 정밀도에서 손해보는 점수에 비해 재현율에서 얻는 점수 수치의 이득이 더 크다보니  threshold 값을 조절하면서 제출하고 있습니다~~ 

간지종자
2022.01.21 12:09

아하 여러번 시도를 통해 알아내는 것이군요. 감사합니다!

리갱
2022.01.21 17:46

혹시 세부변수를 갖고있는 d, h, l 변수에서, 어떤 변수들을 제거하신건가요? 그니까 d의 경우 d_d, d_s, d_m, d_l 4개의 세부 변수가 있는데 4개를 다 쓰신 것 같진 않습니다.

국경원 요원
2022.01.21 18:18

안녕하세요~   대회 초반에 공유했던 코드이다 보니 주최측에서 데이터를 재배포 되기전에 기준으로 작성되어있습니다. 

리갱
2022.01.21 18:22

아 재배포됐었군요..! 감사합니다~!

BetterFit
2022.01.27 17:57

혹시 cat_features = x_train.columns[x_train.nunique() > 2].tolist() 에서 왜 2보다 크게 설정하셨는지 알 수 있을까요?

국경원 요원
2022.01.29 13:41

안녕하세요 ~ 전처리과정에서 보시면 컬럼의 nunique값이 2인경우의 값이 0 or 1로 처리 되어있기 때문에 catboost의 인코딩을 사용할 필요없어서 저렇게 했습니다~~ 

소풍1121
2022.01.30 14:47

좋은 정보네요 감사합니다

씩씩한오리너구리
2022.02.01 12:30

선생님 4등 축하드립니다! 시간나시면 최종 모델도 공유해주시면 감사하겠습니다! 축하드려용

국경원 요원
2022.02.01 17:49

오우~~  감사합니다~

changhyeon
2022.02.05 01:02

감사합니다. 코드 리뷰 하면서 공부하고 있는 주니어입니다.
혹시 회원 속성과 콘텐츠 속성의 동일한 코드 여부에 대한 cols_equi 리스트에서 
person_prefer_d_2_attribute_d_s" , "contents_attribute_d_attribute_d_s"로
prefer_d_1이 아닌 d_2부터 시작한 이유가 있을까요?

국경원 요원
2022.02.06 14:05

안녕하세요~~ 데이터에 1번 선호에 대한 match_yn 변수들이 이미 있기 때문에 저렇게 했던거 같습니다~~