# 2등으로 대회를 마치면서

일단 대회를 열어주시고 운영해주신 캐글코리아 운영진분들 대단히 감사합니다!! 그리고 대회가 흥해서 놀랍게도 무려.. 353팀이나 참가한것에 대해서도 매우 축하드립니다!!
저또한 캐글을 안지 얼마되지않았지만, 캐글을 정말 사랑하고 즐기고있었기에 이번 타이타닉생존자 예측대회를 통해 모델의 정확도를 조금이라도 더 올려보겠다는 마음가짐으로 기분좋은 설렘을 가지고 참가했습니다!
데이터를 쭉 봤을때, 성별, Pclass, Fare등등..은 타겟과 상관관계가 매우 높지만 전반적인 정보만을 제공할뿐이지, 저 피쳐들만을 가지고는 모델이 세세한 부분까진 학습하지 못한다는점을 깨달았고,  80%정도 이상의 예측 정확도를 내기 위해서는 반드시 Name칼럼과 특히 Ticket 칼럼에서 유의미한 정보를 빼내야한다고 생각했습니다. 이 티켓 칼럼의 힘을 간과하고 그냥 제외하거나 했다면, 절대 높은 성능을 내지못할거라고 확신합니다.
모델링 파트에서는 데이터들중에 비슷한 특성을 공유하는 데이터들은 같은 타겟값을 가질것이다라는 생각을 토대로 KNN알고리즘을 사용해 모델을 학습시켰고,  그후 기본 베이스 모델인 랜덤포레스트와의 앙상블을통해 퍼블릭 리더보드 82.7% / 프라이빗 82.7% 점수를 기록했고, 마지막으로 Confusion Matrix를 활용해 클래스 임밸런스문제가 있고, 현재 모델이 잘못 예측하고있는 대부분이 생존자를 사망자로 분류(타겟에 생존자보다 사망자가 훨씬 많기때문에 발생한 현상)하고있다는 점을 깨달았습니다. 그래서 약 48%~49.9%의 확률값을 가지는, 사망으로 분류했던 데이터들(예측값 0.5미만)을  cutoff지정을 통해 보정해주었습니다. 그래서 나온 최종 결과물은 퍼블릭 리더보드 83.7% / 프라이빗83.2%입니다.
이렇게 머신러닝을 통해 열심히 행복하게 대회를 즐겼지만, 사실 대회중반즈음부터.... 정말 머신러닝을 활용하는데 있어서 도움이 될지 심히 의심(?)되는,
[https://www.kaggle.com/jaytalati87/titanic-the-disaster-of-human-life](https://www.kaggle.com/jaytalati87/titanic-the-disaster-of-human-life)
제네틱프로그래밍을 통한, 그냥 성적좋게 나온 결과물을 실제 타이타닉대회에서 그대로 복붙or 다운로드받아서 제출하시는분들이 많아져서(실제로 리더보드가보시면 최상위권 퍼블릭점수와 프라이빗점수가 괴상하게도 각각 똑같은 분들이 비정상적으로 상당히 많이 포진된것을 알수있습니다.)
예시) 
R이용한 제네틱프로그래밍 최고점수 그대로 가져다 쓰신분들
퍼블릭리더보드점수 92.822 / 프라이빗 91.387
Python 이용한 제네틱프로그래밍 최고점수 그대로 가져다 쓰신분들
퍼블릭리더보드점수 88~89  / 프라이빗 85.645
(정말 그대로 복붙하지 않으셨거나, 머신러닝만을 활용해서 저정도의 점수를 받으신거라면 정말 죄송하다는 말씀 드리고 싶고 방법을 공유해 주시면 감사하겠습니다~)
그 이후부터 대회 막바지까지 꽤 많은 팀들이 저런방식으로 제출을 하는것 같아서 저도 어차피 더이상 기존 모델성능을 올리는게 의미가없어진다고 생각해서, 기존 모델을 더더욱 깊게 연구하지않고 그냥 똑같이 저걸 활용해서 손쉽게 2등점수를 얻은거고, 이 점수는 그냥 의미없는 점수라고 생각합니다.
제가 정말 알고싶은것은, 정말 머신러닝, 딥러닝만을 활용해서 타이타닉 생존자분류 예측정확도를 85%이상까지 끌어올릴수있느냐? 라는점입니다. 다른 고수분들의 후기를 기대하겠습니다!!~
앞으로도 캐글코리아가 번창하길 바라며!! 2차 3차 4차 100차 대회도 흥하길 바랍니다!!