분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[public: 0.14889] A, B 검사 코드
다들 대회 기간동안 고생 많으셨습니다. 저는 마지막 제출까지 끝내서 코드 공유해봅니다.
생각보다 유의미한 피처를 찾기 어려운 대회였던 거 같습니다.
0.14~15 분들 대부분 라벨을 활용한 피처와 Autogluon을 많이 사용하셨을 거 같습니다.
Autogluon 사용 시 raw 데이터로도 score가 0.14991까지 나왔습니다!
아마 저처럼 메모리가 부족하여 이런 방법을 사용하지 못한 경우도 있으실 것 같습니다.
이 경우 피처의 최대, 최소 범위를 확인하여 int8, int16 등으로 바꾸어 해결할 수 있었습니다.
이후에는 zscore나 표준편차, 평균 등으로 피처를 만들었던 거 같습니다.
라벨은 A, B 검사 각각의 이전 시점의 라벨과 이전의 라벨별 개수를 피처로 사용하였습니다.
마지막까지 좋은 결과 있으시길 바라겠습니다.
검사연도별로 라벨이 1인 비율이 유의미하게 차이가 나며 점진적으로 하강했던걸로 봤습니다. automl사용하는건 생각을 못했네요 ㅜ 고생하셨습니다 !
동일한 검사 방식임에도 연도에 따라 비율이 크게 차이 나는 것이 의문이 들었습니다!
automl은 저도 다른 대회 솔루션 참고하면서 알게되었습니다.
Autogluon 소개해주셔서 감사합니다. 이런 유용한 라이브러리가 있었네요
저는 직접 파라미터 찾아가면서 진행했는데
TestDate가 너무 강한 피쳐여서 LightGBM 모델에서 L1 Regularization을 적용시키면 다른 변수들의 Importance를 0으로 바꿔버리거나 하는 이슈로
사실상 TestDate와 Age, Retest(동일한 유저가 재시험 볼 경우)만 가지고 학습한 게 점수가 가장 높았습니다.
그래서 TestDate 외 변수들로 학습시키고 같이 앙상블 시켜보는 전략을 세워봤는데 좋은 결과를 받지는 못했습니다. ㅠㅜ
A-Test, B-Test 점수 결과를 더 잘 살려보는 좋은 전략이 분명 있을 것 같은데
본 대회에서 그걸 찾지 못해서 너무 아쉽네요.
저도 CatBoost를 사용할 때 비슷한 방식으로 앙상블을 시도해봤는데, 큰 성능 향상은 얻지 못했던 것으로 기억합니다
마찬가지로 검사 결과를 활용한 피처를 더 만들고 싶었지만, 제 코딩 실력이 부족해 리키지가 생길까봐 일단 덮어두었습니다..ㅎㅎ
저는 age피처를 제거하고 모델개발을 했는데, 다른 분들은 어떻게 생각하셨는지 궁금합니다.
고령자의 운전 가능여부를 점검하는 것인데, age피처가 들어있으면 age가 어느정도 역할을 하는 듯했습니다.
나이가 많을 수록 1이 발생하는 확률이 높아서 LGBM에서 중요도가 낮지 않았던듯합니다.
age를 포함한다면 모델의 정확도에 어느정도는 기여 하겠으나, 결국에는 age로 인해서 정확도가 떨어지는 것 아닐까하고 생각했습니다.
(저는 이번 문제를 고령자가 실질적으로 사고를 내는 확률을 찾는 것이아니라,
고령자가 운전 능력(인지, 운동능력 같은것)을 갖추었는지 시험을 보고 시험 합격기준에 부합하는가로 보았습니다.
시험 통과기준을 모델이 학습하는 걸로 보았지 나이를 제시하면 합격기준을 제대로 학습하지 못할것이라고 생각했습니다.)
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
대회 초반부터 TestDate가 유의미한 피처인 건 알았으나, 이유는 잘 모르겠습니다.. 혹시 의견 있으시다면 남겨주시면 감사하겠습니다