2020년 10월 8일 목요일

프로그래머스 과제관 - [머신러닝] 채용 공고 추천 후기

이벤트 한다해서 올림.
https://github.com/sglee487/ComputerVisions/tree/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%EA%B3%BC%EC%A0%9C%EA%B4%80/%EC%A7%80%EC%9B%90%EC%98%88%EC%B8%A1

 


프로그래머스라고 코딩테스트 대비 겸 회사 이력서 겸 해서 애용하는 사이트가 있었는데
코딩테스트 말고 과제관이라고 자신의 실력을 증명할 수 있도록 만들어놨다. 내가한 딥러닝 말고도 프론트엔드, 백엔드에 가려는 사람들을 위한 과제도 있다.

이 과제는 kaggle처럼 데이터주고 결과 내놓으라고 한다. 그러면 된다. 그래서 오랜만에 딥러닝 써봤다.


자료가 크게 지원자가 가지고있는 역량, 회사에서 원하는 역량, 회사규모가 제공됐었다. 그래서 일단 지원자가 가지고있는 역량, 회사에서 원하는 역량, 그것이 겹치는 수를 꺼냈다.


회사 규모는 NULL 데이터가 있길래 규모가 비교적 작아 작성하지 않았을것 같았고 11-50 빈도수가 제일 많아서 저걸로 채우고 훈련할 수 있도록 각 숫자로 mapping하여 훈련데이터로 집어넣었다.


최종 데이터. 훈련할 땐 당연히 userID와 jobID를 빼고 나머지로 예측한다.


모델 만들고 훈련. epochs 11에 batch_size 2로 맞췄는데 처음부터 저렇게 딱 나온게 아니라 몇번 시도해보고 그나마 저게 제일 잘나왔었다.


이런식으로 그래프로 보고 유의미하게 정확도가 고점을 찍을때 epoch를 멈췄다. 안그러면 overfitting 일어나더라.

그래서 저게 최종적으로 나온거다. 사실 지원하지 않는 경우가 훨씬 많아서 모두 지원하지 않았다고 예측해서 써서 내도 81.6점인가 나왔었다. 그것보다 더 높게나왔다는건 어쨌든 어느정도 예측을 해서 맞췄다는 거다.

사실 지원자역량, 회사요구역량이 단순 갯수만 아니라 SQL, javascript, python... 을 하나하나 다 구분해서 써놨다. 그래서 이를 하나하나 전부 훈련데이터로 넣으면 어떨까 싶어 위에서 했던 것처럼 지원자가 해당역량을 갖춘 경우, 회사에서 요구하는 역량인 경우, 지원자도 갖주고 회사도 요구한 경우를 비트연산자로 만들어 때려넣었었다. 근데 잘 안되더라. 자꾸 훈련만 하면 모두 0이나 1로만 나옴..





댓글 없음:

댓글 쓰기