1-2일차
이번주 1-2일차에는 다음주에 진행되는
AICE Associate 자격증 시험 대비 하는 날이었다.
AICE 시험이 어떤 식으로 이루어지는 지 몰라서 걱정할 수 있는데
연습문제도 있고, 주의사항 등을 상세히 설명해주기 때문에
걱정할 필요는 없는 것 같다.
연습문제 난이도는 그냥 AIVLE School 수업만
열심히 했으면 다 할 수 있을 정도였던 것 같다.
AICE 자격증 후기는 다음주에 작성할 예정이다.
3-5일차
이번 주는 4차에 이어서 Kaggle 대회를 하는데
이전과 매우 다른 점이 하나 있었다.....
개인전이라는 것이었다......
주제는
"스마트폰 센서 데이터 기반 모션 분류"
이와 비슷한 예로 애플워치의 SOS 요청이 있다.
최근에 애플워치 업데이트를 통해
애플워치를 찬 상태로 큰 충격이 가해지면,
저절로 119에 sos 요청이 가는 기능이다.
(물론 한국은 아직 지원이...안된다...GPS 미제공 문제인거 같다)
따라서 이번 플젝의 주제는 스마트폰의 센서 데이터를 가지고
앉아있는지 서있는지 누워있는지 등의 6가지 행동을 분류하는 것이었다.
분류를 하는 방법에는 크게 두 가지가 있었다.
전처리가 끝난 데이터를 가지고 바로 모델링에 들어가는 방법과
단계적 모델링 방법이다.
여기서 단계적 모델링이란,
우선적으로 정적, 동적 행동으로 분류하는 1단계 모델링을 진행한 다음
정적, 동적 행동별로 세부 분류 2단계 모델링을 하는 것이다.
내가 단계적 모델링을 하면서 느꼈던 점은
정적, 동적 분류를 완벽하게 100% 하지 않는 이상
test data에 대한 f1-score는 낮게 나올 수 밖에 없다는 것이었다.
따라서 나는 전체 데이터를 가지고 진행했다.
나는 정말 여러가지의 모델링 기법들을 사용해봤지만.....
아무리 해도 77%가 최대였다...
(SMOTE를 통해 클래스 불균형 문제도 해결해보고, AutoML도 사용해봤다)
근데 갑자기 문득 들은 생각이 있었다.
클래스 개수에 비해 데이터가 적은 것 같다는 생각이었다.
(그와중에 나는 15%의 데이터를 검증용 데이터로 쓰고 있었다....)
그래서 검증용을 따로 나누지 않고 모든 데이터를 학습하고,
test data를 예측해서 제출했는데
바로 78%까지 올랐다!!
그리고 남은 시간 동안 Grid Search를 통해 LGBM 모델의 최적 파라미터를 찾았고,
약 79.5%로 대회를 마무리 할 수 있었다.
결과는 상위 약 10% 안에 들었다
충분한 데이터가 중요하다고 말씀하신
Andrew Ng 교수님의 말씀이 다시금 떠올리는 날이었다!!