Search

스마트폰 센서 기반 데이터를 활용한 행동 인식

주제

스마트폰 센서 기반 데이터를 활용한 행동 인식

문제 유형

Classification

중점 사항

561개 feature에 대한 데이터 탐색
6개 class 관계를 고려한 모델링

데이터 형태

총 7353 데이터
피처 수 : 563개
데이터 수집 방법
가속도 센서
일직선으로 움직일때 선형 가속도(x,y,z축으로 얼마나 빠르게 움직였는가)를 측정하는 센서
자이로스코프 센서
회전하는 물체의 각속도를 측정하는 센서(x, y, z축으로 각도가 얼마나 변했는가)
수집 : 2.56초 범위 내(window)에서 하나의 데이터 측정 → 1.28초 간격으로 이동하며 측정
집계 : 하나의 window내에서 수집된 여러 데이터들을 신호별로 분리 후 집계(mean, std, min, max 등)

x 변수 이해

변수 이름의 구성
Sensor + Aggregation + Axis
tBodyAcc -mean() - X : 가속도 센서
fBodyGyro-std()-Y : 자이로스코프 센서

과제 KEY POINT

feature 처리
너무 많음 → PCA / 변수 선택법..?
트리 기반 모델 학습(random forest) 해서 피처 중요도 뽑아내보기
상위 N개의 변수들만 활용해서 분석하기
다중 분류
6개 클래스
Standing / Sitting / Laying / Walking / Walking_upstairs / Walking_downstairs
앙상블 모델 사용?

1일차 KEY POINT

미션 1 (오전)
랜덤포레스트 모델 생성 후, 변수 중요도 뽑아내기
중요한 상위 N개 변수 선정 → 이들을 가지고 EDA
미션2 (오후)
클래스를 정적(0)/동적(1) 행동으로 구분
총 6개의 행동은 2개의 그룹(정적 / 동적)으로 나뉜다.
정적 / 동적으로 클래스를 줄이고 → 다시 Target 변수(is_dynamic)를 생성
어떤 Feature가 2개의 class 그룹으로 구분하는데 중요한지 eda를 통해 찾기

정적 / 동적 클래스로 나눴을 때 중요 변수

tBodyAccJerkMag
유클리드 노름을 사용한 가속도 변화비율 3차원 신호 크기 시계열의 산술평균
tBodyAccJerk
가속도변화비율 시계열의 산술평균
fBodyAcc
고속퓨리에변환을 거친 가속도 시계열의 산술평균

Standing / Not Standing 클래스로 나눴을 때 중요 변수

tGravityAcc-mean()-Y
Y축 방향 중력가속도 평균
tGravityAcc-max()-Y
Y축 방향 중력가속도 최대값
tGravityAcc-min()-Y
Y축 방향 중력가속도 최솟값
angle(Y, gravityMean)
(Y축 방향 - 중력가속도 평균) 벡터 사이의 각도

사용할 피처 변수 총정리

tGravityAcc-mean()-Y
tBodyAccJerk
fBodyAcc
angle