교육/KT 에이블스쿨

[KT AIVLE School(에이블스쿨)] - 12주차 후기(AICE 시험 대비, 미니프로젝트 5차)

aaaahy 2023. 10. 28. 14:32

에이블 스쿨 12주차(10. 23 ~ 10.27) - 4기 AI트랙

10월은 미니프로젝트 지옥..!! 아니 지옥이라 하면 안 될 것 같지만 천국은 아닌 것 같다 ,,, ㅎㅎ

12주차는 미니프로젝트 5차가 시작되었고 1-2일차는 13주차에 있을 AICE 시험 대비로 각자 샘플 문항이나 기출문제를 푸는 시간을 가졌다. 주말 동안 AICE 시험 대비 준비를 해야겠다 !!!!

 

미니프로젝트 5차(회고)

1-2일차

AICE 시험 대비로 주어진 데이터 구성을 확인하고 결측치 처리 등 전처리 과정을 거쳐서 모델링(머신러닝, 딥러닝)을 하는 순서로 진행되었다. 기존에 수업 들으면서 여러 번 실습했던 부분이라 미니프로젝트 난이도에 비하면 나름 무난하게 진행된 것 같았다 !!

 무엇보다 혼자 제한시간 안에 실습을 진행하고 막히는 부분이 있으면 구글링을 통해 알아낼 수 있었다. 또한, 오후 시간에는 팀원분들과 각자 작성했던 코드를 리뷰하면서 서로 공유하여 더 쉽고 간단한 방식으로 작성한 코드를 보고 새로 배울 수 있어서 좋았다. 그중, 처음 써본 select_dtypes() 함수가 가장 기억에 남았고 팀원분들도 서로 설명해 주면서 알게 된 것이다. 특정 타입 칼럼을 선택하기 위해 사용했던 함수로 인코딩할 컬럼을 고를 때 사용했다 !! 매우 유용하게 사용할 수 있을 것 같다.

 

 AICE 홈페이지에 들어가 실제 시험 보는 환경(?)에서 샘플문항도 풀어보았다. 강사님께서 주어진 시험 대비 파일보다 난이도가 조금 더 낮아서 빨리 풀 수 있었지만... 실제 시험은 더 어렵고 새로운 유형이 나올 수 있다 하여 긴장을 놓지 말고 대비를 해야겠다고 생각한다..

꼭 합격 하자 !!!!!! (b˙◁˙ )b

 

3-4일차

 스마트폰 센서 데이터 기반 모션 분류라는 주제로 데이터 분석과 모델링을 진행하였다.

주어진 데이터의 feature 수가 많아서(500개 이상) 변수 중요도를 확인하여 중요한 feature을 선정하여 선택적으로 모델링을 진행해 보는 시간이었다 !!! 주어진 feature 가 센서랑 각도..? 등으로 이루어져서 해석하는데 좀 어려움이 있었지만 그냥 중요도를 확인하여 높은 중요도를 가진 변수를 확인해 보았다. 전체 변수로 모델링을 진행했을 때는 대부분 90 이상의 정확도를 얻을 수 있는 데이터였다.

 Decision Tree, Random Forest, SVC, Logistic Regression 모델을 이용하여 결과를 확인해 볼 수 있었다.

강사님께서 중요하게 생각한 실습은 상위 N 개 변수를 선정하여 모델링을 해보고 성능을 비교해서 어떻게 성능을 올릴 수 있는지였다. 이 실습은 마지막날에 있을 개인 kaggle 대비였다,,,, ㅎㅎ

 

변수 중요도를 확인하여 상위 100개, 50개, 30개, 10개 이런 방식으로 줄여서 정확도를 확인해 보니 크게 떨어지지는 않았지만 상위 10개 만의 feature을 이용했을 때 확 떨어지는 것을 확인하였다. Random Forest 경우, 상위 10개 feature을 이용하여 모델링을 했을 때 0.85가 나왔다. 이 모델을 랜덤 서치를 통해 하이퍼파라미터 튜닝을 진행하니 0.89까지 올릴 수 있었다. 그리드 서치도 진행하려 했는데,, 너무 시간이 오래 걸려서 마저 끝마치지 못했다. 성능을 높이는 게 쉽지 않은 걸 원래 알고 있었지만,, 다음날 진행될 캐글이 걱정되긴 하였다.

 

5일차

에이블스쿨 미프에서 진행하는 두 번째 kaggle이 진행되었다 !!!!!

이번은 팀별이 아닌 개인별로 진행되는 것이라.. 잘할 수 있을지 걱정이 되었지만 최선을 다 해보자라는 마음이었다.

 모델 성능을 높이려는 여러 노력을 해보면서 느낀점은,, 전처리가 너무 중요하다... 이전 미프때도 느낀 점이라고 말한 것 같았는데 다시 한번 느끼게 되었다. 

 주어진 데이터를 확인하고 필요 없다고 생각되는 칼럼을 지우고 결측치가 있는 행도 몽땅 지우고 모델링을 진행하니 0.89 정도가 나와 튜닝을 진행해도 0.90? 까지가 최대였다. 도대체 어떻게 해야 하지 생각하다가 데이터 전처리를 다시 해보기로 했다. 시간 칼럼을 Datatime 타입으로 바꾸어 년, 월, 일, 시, 분, 초 등을 뽑아서 새로운 칼럼으로 만들어 다시 모델링을 진행하니 튜닝 전인데도 0.97까지 올랐다. 시간 데이터 칼럼이 굉장히 중요했던 것이다.. 변수 중요도를 확인해 보고 전처리를 해볼걸이라는 생각이 들었다.  가장 높은 정확도를 보인 모델로 튜닝을 해보니 0.992까지 올릴 수 있었는데 kaggle 순위를 보니 진짜 0.0001? 정도 차이로 계속 순위가 나뉘었다. 치열하다... 

 kaggle 1등분은 0.996 정도였고 이후에 1-5등 순위를 차지한 분들의 발표를 들을 수 있었다.

대부분 운이 좋으셨다고 하셨지만.. 겸손하시면서 대단한 분들이다 ദ്ദി '֊' )

이번 미프를 통해 최선을 다해 모델링과 튜닝을 진행해 보았고 배울 수 있어서 매우 흥미로웠다.

다음 주 미프랑 AICE 시험도 잘해보자 화팅 🌸 🌸 🌸