머신러닝 프로젝트 1 - (2)

Jungmin·2023년 1월 13일

머신러닝

목록 보기
10/10

⏹ 모델링

4가지 알고리즘에 몇가지 하이퍼파라미터를 적용하여 정확도를 계산해보았다. 

'가중치'컬럼 점수를 가지고 '추천'= 1/'비추천'= 0을 설정해주어 타겟 컬럼으로 설정

과적합 1을 제외한 후 train/test 점수가 비슷하게 나온 결과를 선택했다. 
과적합이 나올 때부터 뭔가 잘못..되어가고 있다는 불안감이..

⏹ 결과

⏹ 한계점 & Further Steps

◼ 한계점

◾ 분류 모델 적용 결과, accuracy score는 대체로 1 수렴
--> 가중치 부여 등 일차적으로 수식 기반의 분류 모델 작업에 따른 결과로 예측됨

◾ 분류 모델 적용을 위한 데이터의 한계
사용된 데이터는 총 176개로 머신러닝을 위해서는 부족함
약 1,000개 이상의 데이터 확보 필요함
정량적 수치에 해당하는 컬럼으로만 데이터가 구성됨 ( 더 다양한 지표 활용하면 의미있는 프로젝트가 되었을 듯 하다.

◼ Further Steps

◾ 가중치 설정 기반의 작업을 제외한 분류 모델 작업
예) 별점 등급(상/중/하) 구분 후, 타 컬럼으로 별점 등급 분류

◾ 정성적 지표 추가 수집을 통한 Labelling 확장
예) 현/재직자 기업 후기, 채용공고 데이터 등
수집된 정성적 지표를 활용하여 자연어 처리를 통한 텍스트 데이터 분석
(감성분석, 고유 데이터 수 비교 등)

🤦‍♀️프로젝트에 대한 회고

첫 머신러닝 프로젝트를 끝낸 후 지난 과정을 돌아보니 주제 / 데이터 셋 선정부터 아쉬운 점이 많다. 도전적인 주제보다는 안전하게 가려는 마음이 앞서다 보니... 소극적으로 데이터를 수집하고 더 다양하게 시도를 못했다.
정확히 기업을 평가하거나 재직자들의 후기를 반영하기엔 부족한 수로 프로젝트를 끝냈다.
교수님이 머신러닝 과정에서 자주 하는 실수 중 하나가 자기 합리화를 한다는 점이라고 하셨는데, 생각해보니 나도 똑같았던 것 같다.
분명 지표 다양성이 부족한 걸 느꼈고 모델링 돌릴 때 마다 과적합이 떴는데 바로 문제를 직시하지 않고 끌다가 결론적으로는 머신러닝을 돌리는 의미가 없는? 프로젝트가 된듯 하다.

핑계를 뒤로하고,,팀원들과 이 프로젝트를 소생시킬 방안에 대해 생각해보았다.
일단 '가중치' 컬럼을 설정한 자체에 문제가 있었다. 각 지표에 대한 중요값을 정해주어 계산을 돌리면 머신러닝이 아닌 엑셀로도 풀 수 있는 너무 단순 문제로 접근하는 오류를 범했다.
개선 과정에서 우선 '가중치'는 당연히 제거를 해야하고, 컬럼 수를 늘려야 한다.
물론 현재 채용 중인 공고에서 회사 수 자체도 더 모아야 한다.

컬럼의 경우 모든 회사에 대해 추가적으로 얻을 수 있는 정보 중 정량적으로는 매출액이나 기업평가 등급, 복지 등이다. 기업의 매출액은 제조업/it기업 등 산업군에 따라 차이가 많이 나기 때문에 일단 2순위로 두었다.
기업 추천을 위한 지표라면 복지에 대한 부분도 중요한데, 회사마다 가지각색이고 범위가 많아 '복지'를 가져간다면 어떤 식으로 평가할 수 있을지 생각해보고 있다.

또 우리가 중요하게 생각했던 재직자 후기 등 정성적 정보가 더 필요하다고 판단했다. 그래서 후기글을 자연어 처리해서 추가하는 방안을 생각했다.

이후 이 상태의 데이터 셋을 활용해서 처음 정한 주제에 그나마 비슷하게 풀어갈 수 있는 분류 프로젝트 방안을 생각해보았다. 잡플래닛에 보면 재직자들이 평가한 기업의 평점 (5점)이 있는데, 컬럼을 활용하여 별점 등급을 예측하는 프로젝트가 가장 실현가능성이 높아 보인다.
위에 정리된 개선점을 바탕으로 새로 프로젝트를 실행해보고자 한다.
비록 완성도가 높은 결과는 아니지만, 처음부터 끝까지 협업으로 프로젝트를 해보면서 경험도 쌓이고 의미있는 경험이었다.

profile
데이터분석 스터디노트🧐✍️

0개의 댓글