반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

블로그

[모델링] 스마트폰 센서 데이터 기반 행동 인식 분류 # 2 단계별 모델링 본문

공부

[모델링] 스마트폰 센서 데이터 기반 행동 인식 분류 # 2 단계별 모델링

beenu 2024. 3. 29. 05:02
반응형

⬇️어제 글

2024.03.28 - [공부] - [모델링] 스마트폰 센서 데이터 기반 행동 인식 분류 # 1

 

[모델링] 스마트폰 센서 데이터 기반 행동 인식 분류 # 1

프로젝트 개요 주제 : 스마트폰 센서 데이터를 활용한 행동 인식 데이터 출처 : UCI Machine Learning Repository (https://archive.ics.uci.edu/dataset/240/human+activity+recognition+using+smartphones) Tabular (csv) 중점 사항 561

been-log.tistory.com


 

주성분 분석 (PCA, Principal Component Analysis)

  • 주성분 분석 : 선형 차원 축소 기법
  • 2차원으로 축소해서 시각화해본 결과 동적, 정적 동작으로 구분된 것을 확인할 수 있었음
  • 정적 동작은 거의 한 뭉텅이이고 동적 동작은 정적보단 좀 더 구분이 되고 있는 것으로 보임

 

단계별 모델링

 

코트라 프로젝트 때도 도전했었던 단계별 모델링 !

그 때는 데이터 불균형이 너무 심한데다가 설계도 잘못해서 포기해야 했었는데 ㅠ 이번엔 잘 만들어봐야겠다고 생각했다 !

  • 단계 1 : 6가지 동작 클래스를 동적 / 정적 동작으로 구분하여 분류
  • 단계 2 : 위에서 분류된 결과를 토대로 범주별 세부 분류
  • 모델이 한 번에 6가지 동작을 구분하기 어려울 수 있기 때문에, 우선 큰 범주로 분류하고 이후 세부적인 동작을 분류하는 것

 

동적 / 정적 분류

동적 / 정적 이진분류

 

  • Random Forest, XGBoost, KNN 분류 모델을 제작했는데.. 그냥 561개 피처 다 넣고 돌려도 성능이 진짜 좋다 .., 이진분류인데다가 주성분 분석에서도 확인했듯이 정적과 동적 동작이 확실하게 구분되기 때문인 듯

 

동적 / 정적 동작 세부 분류

  • 동적 / 정적 분류에서 좋은 성능을 보인 XGB를 세부분류에도 사용
  • 지금 내용정리 하다가 보니까 과제 제출할 때 동적 분류 모델 평가를 정적 데이터 가지고 했네... 근데 어떻게 정확도가 97퍼가 나왔었지??? 암튼 동적 데이터가지고 다시 평가했더니 100퍼센트 맞춰냄

 

단계별 분류 모델 함수

  • 앞서 학습시킨 xgb 모델 세 개를 사용해서 단계별 모델링을 실시했을 때, 정확도는 98.5% 정도임
  • 한 번에 6개를 분류해도 이 정도 성능은 나왔던 걸로 기억하는데, 암튼 꽤나 성공적인 걸로 볼 수 있을 듯
  • target이 정적은 0, 1, 2, 동적은 3, 4, 5로 Label Encoding 되어 있는데 혼동 행렬을 보면 정적 세부 분류를 더 못한 것을 볼 수 있음
    • 정적은 동적보다 세부 동작간 차이점이 별로 없기 때문

  • 딥러닝 모델 함수는 따로 제작했는데.. 성능이 처참하다... 아직 뭐가 문제인지 못찾았는데 다시 찾아봐야지...
  • 팀원이 코드 수정해서 50퍼대까지 끌어올리긴 했음
    • 함수가 실행되면 다시 train data로 학습 진행 후 test data로 예측하는 형식
    • 그런데 그렇게 하면 왜 성능이 더 오르는게 되는건지 모르겠다
    • 함수는 내가 만들고 모델 코드는 팀원 걸로 쓰느라 중간에 꼬인 것 같기도..?
728x90
반응형