KT aivle school 3차 미니프로젝트 --(1)
이번 미니프로젝트는 머신러닝 미니프로젝트입니다.!!
총 3/15~3/17 3일간 진행되었습니당
미니프로젝트에 앞서!!
일시 : 2023.3.12.(일) 11:00
장소 : 전주 한옥마을 내 학인당(완산구 향교길 45)
몇일 전 주말동안 귀여운 조카(누나 딸!) 돌잔치도 다녀왔습니다!!
매형이 제가 지금 배우는 것과 비슷한 일을 하고 계셔서 매형에게 힘찬 응원과 에너지도 함께 받고오는 시간이었습니당!
항상 응원과 격려를 해주시는 매형께 항상 감사함을 느낍니당,,
자 그럼 이번 미프 3차로 넘어가봅시당!
이번 3차 미프는 1일차 데이터 분석, 2일차 모델 튜닝, 3일차 모델검증 을 통해 진행되었습니다.
<목표>
훈련 데이터와 센서 그룹 데이터를 읽어와 기초 데이터 분석을 수행하고
훈련 데이터로 모델링 하여 정확도 95% 이상을 달성
미션1. 센서에서 수집한 데이터로 6가지 행동을 분류할 수 있는 AI 모델을 만들어보기
6가지 행동 패턴: STANDING, SITTING, LAYING, WALKING, WALKING_UPSTAIRS, WALKING_DOWNSTAIRS
을 나타내는 것이 Target = 'Activity' 입니다.
- 단말기 개발팀은 스마트워치의 센서에서 수집된 데이터를 분석하여 계단오르기 활동을 인지할 수 있는 AI 모델링과 계단오르기를 분류 할 때 의미있는 feature 들을 선정해 달라는 요청이 있었습니다.
- 미션1에서는 6가지의 행동패턴을 분류하는 AI 모델링을 수행한뒤 모델 성능 평가 지표를 출력해 주세요.
- 6가지 행동 패턴: STANDING, SITTING, LAYING, WALKING, WALKING_UPSTAIRS, WALKING_DOWNSTAIRS
ai모델링을 해보면서 precision, recall, accuracy 값을 측정할 수 있었습니다.
confusion_matrix
: 혼동행렬으로 예측 했을 때 맞은 갯수 혹은 틀린 갯수를 직관적으로 보여줍니다.
classification_report
: precision 값과 recall 값을 보여주고 accuracy 값 또한 보여줍니다.
미션2. 행동분류 Feature 분석
- data 데이터프레임에서는 'activity'와 'subject' 열을 제외한 각 feature는 -1과 +1 사이의 실수로 되어 있는 데이터가 있습니다.
- 미션2 에서는 스마트워치가 6가지 행동을 분류 하는데 어떤 feature가 영향을 많이 미치는지 모델링을 통해 중요도 상/하위 feature 들을 선별하고 해당 feature의 데이터 분포를 확인 하겠습니다.
- 6가지 행동 패턴: STANDING, SITTING, LAYING, WALKING, WALKING_UPSTAIRS, WALKING_DOWNSTAIRS
feature_importances_파라미터
데이터 프레임의 중요도를 뽑아주는 파라미터 입니다.
상위 5개 feature
1. tGravityAcc
2. fBodyAccjerk
3. fBodyGyro
4. fBodyAccjerk
5. fBodyACC
기존 항상 데이터프레임 형식만 사용해왔는데 이번 강사님께서는 시리즈형태로 바꾸어 코드를 작성하여 초반에 헷갈림이 있었던거 같습니다.
데이터 프레임으로 만드는 방법은 [[]]를 사용하거나 reset_index구문을 사용하여 만들수 있습니다.
이장래 강사님께 이론시간에 배운 내용 이외에 다른 방법들을 프로젝트를 통해 경험해보았습니다
이장래 강사님께서는 seaborn 시각화를 화려하다고 싫어하셨는데 아쉽게도 저는 seaborn이 굉장히 마음에 들었고
시각화할때는 항상 seaborn을 사용하였습니다.
seaborn 참고사이트입니다.
https://seaborn.pydata.org/api.html
다음에는 3차 미니프로젝트 2,3편과 미니프로젝트4차, 미니프로젝트5차, Aice Associate후기 및 aivleday 1차를 통해 돌아오겠습니다.!!
