-
프로그래머스에서 진행하는 채용 공고 시스템 과제로, 유저 정보와 직업 정보가 주어지고, 유저가 해당 포지션에 지원할지 안할지 이진 분류 형태로 예측하는 값을 정답으로 제출하는 문제다.
-
과제 수행 기간 : 11월 1일 ~ 11월 11일
-
과제를 위해 주어진 데이터셋에서 어떠한 수치 정보도 주어져 있지 않음
-
주어진 것은 훈련 데이터에 유저가 job을 지원한 여부, 유저가 취업을 위해 설정한 기술 태그, 기업이 필요로 하는 기술 태그, 그리고 기업의 사업장 규모 정보다.
-
해당 정보에서 수치 정보로 뽑아낼 수 있는 부분들을 뽑아내는 것이 중요하다고 생각했고, 유저별 설정한 기술 스택 태그 수와 기업에서 포지션에 필요한 기술 태그 정보를 분석했음
-
이에 따라 포지션에 필요한 스택을 유저가 일정 수 이상 갖고 있다면 지원하고, 그게 아니라면 지원하지 않을 것이라는 판단하에 유저별 태그 정보를 분류해서 적용하기 시작했음
-
주어진 데이터를 수치화하고, 훈련 데이터 / 검증 데이터로 분류해 XGBoost 모델을 사용하게 되었음.
-
모델 정확도는 개선의 개선을 더해 88%까지 끌어올렸고, 최종 제출 점수는 86.1임
-
캐글에서 왜 XGBoost를 많이 사용하는지 조금은 공감할 수 있는 부분이었고, 아직 XGBoost의 실행 로직을 이해하지 못한 채로 적용했기 때문에 보다 깊이 있게 모델을 적용하지 못했다는 생각이 듦.
-
그래도 결과적으로 대성공! bottom-up 방식으로 머신러닝 기초 모델부터 분석하려니까 최신 기법들을 못 보는 문제가 발생해서 정확도를 빠르게 끌어올지 못해서 스스로 학습 속도가 매우 느리다고 생각했는데, top-down 방식으로 최신 모델 및 사람들이 많이 찾는 모델을 우선적으로 적용하니 최신 모델의 발전사 등을 함께 가지치듯 학습할 수 있을 것으로 보임.
-
미술 작품 분류하기 ~ 채용 공고 시스템까지 2개의 과제를 해보며 느낀 것은 데이터 가공 방향을 잡는 것이 모델링보다 더 많은 시간을 필요로 한다는 점임
-
어떤 상황에 어떤 모델을 적용할지만 정확히 알고 있다면, 데이터에서 의미있는 데이터를 뽑아내는 방향에 더 집중해서 학습을 이어나갈 필요가 있음.