분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
월간 데이콘 행동 데이터 분석 인공지능 AI 경진대회
1등 솔루션 공유
아래는 솔루션 요약입니다.
'ability_code_5A0_player_0', 'ability_code_1360_player_0'
'Egg_len_player_0', 'SCV_len_player_0'
감사합니다.
예를 들어서 왜 Player별 Ability Code Count, Diff 같은 feature를 사용했는지,
Right Click Target 상위 50개 개수 및 diff 값에서 왜 상위 50개로 추렸는지, 어떤 기준으로 추렸는지 등등...
feature 쪽에서 너무 감이 안잡히고 대회 기간 내내 계속 헤매기만 해서 조금만이라도 설명을 덧붙여 주신다면 감사히 읽겠습니다.
Feature를 만드는 방법은 대회를 많이 해보는 수 밖에 없습니다ㅠㅠ이런류의 Data로 대회를 오래전부터 했었고 하다보면 어느정도 감이 생기는 것 같습니다. Kaggle이나 Dacon 지난 대회 솔루션들 보면서 다양한 Feature 추가 방법을 정리하면 좋을 것 같습니다. 물론 대회에 참여하지 않고 솔루션만 본다면 Feature들이 와닿지 않기 때문에 꼭 대회에 참여하시고 Solution 정리하는 것을 추천드립니다!
Ability Code Count나 Diff를 추가하게된 이유는 제가 파악해본 바로 Ability는 각 StartCraft2의 고유한 행동으로 보였습니다. 예를들어 유닛 생산, 건물 생산, 업그레이드 등을 나타내는 것 같았고 단순히 이런 행동들을 많이 할 수록 게임에 유리할 것 같았습니다.(커맨드센터 개수가 많아질 수록 이길 것 같은느낌??)Diff는 player1과 0의 차이를 넣고 싶어서 추가하였습니다. 상대적인 차이도 중요할 것 같았습니다.
Right Click Target을 상위 50개만 추린 이유는 Feature가 너무 많아졌기 때문에 적당한 값을 찾고 싶었고 10,20,30 등 실험적으로 찾았습니다. 값을 보면 상위 50개에 안에 주요 Unit이 포함되어 있었습니다. 더 잘하려면 각 Target별로 Winner그래프를 그려서 확실하게 Winner의 분포가 구분이 되는 Right Click Target만 추가해볼 수도 있을 것 같습니다.
설명 정말 감사합니다! 설명해주신 내용들을 읽고 나니 이번 대회에서 부족했던 부분들에 대한 갈증이 해소되는 기분입니다!
감사합니다 첫번째 발생한 시간을 100개 하셨네요
저 같은 경우 시간값을 그대로 피처로 쓰면 정확도가 떨어지던데 혹시 시간에 역수를 취한다거나 하진 않으셨나요?
그리고 모델링에서 CAT이 아닌 regression 모델도 앙상블 해보셨는지 궁금합니다
따로 역수를 취하진 않고 그대로 사용했습니다. value_counts로 가장 많이 발생한 ability_code 100개를 골랐습니다. 10, 20, 30으로 할 수록 성능이 약간씩 올랐는데 어차피 feature selection으로 할거라서 100개를 몽땅 추가하였습니다. lgbm, catboost외에 다른 모델로 앙상블은 안해보았습니다! 시간이 좀 더 있었다면 NN이나 다른 Linear Model 혹은 lgbm을 regression문제로 바꿔서 stacking 혹은 ensemble을 해보지 않았을까 생각이듭니다!
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
솔루션 공유 감사합니다. 혹시 궁금한 것을 여쭈어봐도 될까요?
처음 대회에 참여해보면서 가장 어렵게 느꼈던 부분인데요,
예측에 활용할 feature들을 어떻게 가공할지, 또 어떤 feature들을 어느 정도로 사용할지 전혀 감을 잡을 수 없었습니다.
혹시 이 부분에 대해 약간의 설명을 부탁드려도 될까요?