월간 데이콘 신용카드 사용자 연체 예측 AI 경진대회

알고리즘 | 정형 | 분류 | 금융 | LogLoss

  • moneyIcon 상금 : 100만원
  • 3,755명 마감

 

TabNet으로 정형데이터를 위한 딥러닝을 만들어보았습니다!

2021.04.12 21:40 20,119 조회 language

안녕하세요. 이번 대회는 사실 순위에 상관없이 여러가지 딥러닝으로 구현해보고 싶은 마음에 이 대회에 참가하게 되었는데요.
항상 다른 대회에 참가하면서도 베이스라인에 너무 의존하고 있는거 같아 코드 구현에 목적을 두고 있습니다.
이번에는 TabNet이라는 인공신경망 모델로 한번 구현해보았습니다.
TabNet은 순차적인 어텐션(Sequential Attention)을 사용하여 각 의사 결정 단계에서 추론할 feature를 선택하여 학습 능력이 가장 두드러진 기능에 사용되므로 효과적인 학습을 가능하게 한다고 하더군요... (아직 저도 열심히 공부중입니다)
점수가 좋게 나오지는 않았더라구요... 하지만 누군가한테는 도움이 되었으면 좋겠다는 생각에 한번 올려봅니다.
제가 참고한 사이트를 첨부해 놓겠습니다.
다들 대회 파이팅입니다 ㅎㅎ


참고 사이트
https://lv99.tistory.com/83

코드
로그인이 필요합니다
0 / 1000
10duck
2021.04.12 21:56

플로로만 사용해봤었는데 토치버전도 있었네요!
성능이 좋지 않은 이유로는 sparsity coefficient 설정의 부재와 decision step을 하나만 사용하셔서 그런게 아닌가 싶네요 
decision step은 tree구조의 depth를 생각하시면 되고, sparsity coef는 tree와 다르게 동시에 고려할 feature의 갯수들을 조절하는 역할을 해요 
tuner를 사용해서 hyper parameter search를 시도해보면 좋은 결과가 나올수도 있을 것 같네요 
토치버전 공유해주셔서 감사합니다

datu
2021.04.12 21:57

오 그렇군요! 저도 방금 막 만들어가지구... 조금더 공부하고 개선해서 다시한번 올려보도록 하겠습니다!
조언 너무 감사해요!

당쇠
2021.04.12 23:23

수고하셨습니다.

datu
2021.04.13 11:10

감사합니다!

파이썬초보만
2021.04.16 13:28

새로운걸 알아갑니다. 감사합니다

datu
2021.04.17 10:13

감사합니다!

nevret
2021.04.22 15:21

저도 덕분에 새로운 내용 배워갑니다.
감사합니다 :)

채은
2021.05.09 20:10

유용한 코드 공유해주셔서 감사합니다 ㅎ
실행 중 질문이 생겨 여쭤봅니다 
preds = clf.predict_proba(X_test) 실행시 index out of range in self 오류가 발생합니다
혹시 해결하는 방법을 알 수 있을까요..?

datu
2021.06.01 17:10

너무 늦게 봐서 죄송합니다 ㅜㅜ 이제야 봤네요. 제가 만든지 조금 시간이 지난 코드여서 확인해보았는데 파일 다운받아서 확인해보니 오류가 있네요... 제가 돌릴때는 괜찮았는데요... 한번 확인해보고 다시 댓글 남겨드릴께요!

SeoroMin
2022.05.20 00:35

혹시 해결하셨나요?? 저도 코드 짜고 있는데, 도움 주실 수 있을까요 ㅠㅠ

empreror___one
2021.05.31 17:55

tabnet은 처음 써보는데 많이 배워갑니다 ! :)

datu
2021.06.01 17:08

감사합니다 ^^

empreror___one
2021.06.01 13:01

혹시 왜 데이터를 train/ test 합친 후 다시 나누었나요? 나뉘어져 있는 상태에서 train set만 train/validation 로 나누어서 사용하면 안되는 이유가 있나요?

datu
2021.06.01 17:08

아 원래는 저렇게 하면 data leakage에 포함되어서 안될겁니다.. 저 당시에는 그냥 한번에 처리하려고 묶어놓은 것이여서요.
train set에서 validation 나누어서 사용하시면 될겁니다.

EunsungShin
2022.01.10 15:59

코드 공유감사합니다!