유전체 정보 품종 분류 AI 경진대회

알고리즘 | 유전체 | 분류 | Macro F1 Score

  • moneyIcon 상금 : 300 만원
  • 1,418명 마감

 

[Private 3위] Xgboost + GridSearchCV

2023.01.18 23:44 4,062 조회 language

데이터가 많지 않아서 최적의 모델 정확도를 내기 위해 Gradient Boosting 알고리즘의 일종인 xgboost와 머신러닝 모델의 성능 향상을 위해 GridSearchCv를 사용하였습니다. 

또한 snp_info 데이터를 활용하기 위해 데이터를 유전체 그룹 별로 묶어서 성능을 확인해보고 최종적으로 선택하였습니다.

제가 공모전 참여 경력이 많지 않아서 혹시 잘못된 점 지적이나 피드백 주시면 정말 감사히 받아드리겠습니다! 감사합니다

PDF
코드
로그인이 필요합니다
0 / 1000
자강사123
2023.01.19 14:32

감사합니다. 잘 봤습니다.
snp 분석에 사용되는 품종 구분은 특정 염색체와 관련이 있다는 정보를 담은 레퍼런스를 보고싶습니다.

바다의노인
2023.01.19 15:50

관심 가져주셔서 감사합니다. 제가 말을 좀 모호하게 했는데 직접적으로 그룹을 지어서 한 레퍼런스라기 보다는
https://synapse.koreamed.org/upload/synapsedata/pdfdata/0018kjlm/kjlm-37-224.pdf 이 논문에서 각 염색체 별로 snp 마커의 분포를 도출해낸 것과 
http://kpat.kipris.or.kr/kpat/biblioa.do?method=biblioFrame&applno=1020160152435&index=0&start=fulltext&openPageId=View02 논문에서 특정 염색체에만 존재하는 유전자가 영향을 끼친다는 것을 토대로 그룹을 지어 모델링을 진행하였고 테스트 값을 통해 실제 모델이 개선이 된다는 것을 확인하였습니다. 혹시 제 말이 이해가 안가거나 설명을 잘못한 것이 있다면 말씀해주세요!

다냐니라
2023.01.19 20:59

혹, test 에서 label encoder를  test set에 fit한 후 transform 해주셨는데 .. data leakage 아닐까요...?  

바다의노인
2023.01.19 22:14

label encoder는 범주형 변수를 수치형 변수로 단순히 변환시켜주는 것으로 알고 있는데 제가 한 번 해야 하는 작업을 번거롭게 두 번 한 것은 맞지만 혹시 이것도 data leakage에 해당하나요..? 초보라서 제 지식이 정확하지 않을 수 있다는 점 양해 부탁드립니다

다냐니라
2023.01.20 00:02

음.. 만약에 train에는 예를들어 label이 [A,B,C]가 있어서 [0,1,2]로 encoding을 했는데, test에는 [B,C]만 있어서 encoding을 하면 B> 0 / C > 1 로 바뀌어 train과는 상의한 encoding값을 가질 수 있지 않나 싶어서요. 즉,  train과 test가 동일하게 encoding될거라는 확신( test를 관찰했으니 train과 같다)을 했다고 주최측에서 보면.. leakage에 해당될 수도 있지 않을까요...? 궁금하네요 이번 경우에는.. 좋은 소식 있길 바라겠습니다. :)

바다의노인
2023.01.20 00:18

그 점에 대해서는 전혀 생각지 못했는데 듣고 보니 엄밀히 따져보면 그럴 수도 있을 거 같다는 생각이 드네요. 다시 코드를 수정하여서 올립니다. 좋은 지적 정말 감사합니다.

Idea경진대회
2023.02.26 12:44

궁금한 것이 있습니다.
1. KFold 작업을 안하신 이유가 따로 있으신가요?? 저는 항상 KFold작업을 했는데 사용 안하신 이유가 궁금합니다.
2. 모델을 사용하실 때, xgboost만 사용하시는 이유가 있으신가요?? 아니라면 다른 모델도 사용해본 결과 xgboost가 가장 높게 나온건가요??
3. 그리드서치 할 때, 파라미터 값은 어떻게 설정하신 것인지 궁금합니다.