Brightics AI

[삼성SDS Brightics 서포터즈] 개인프로젝트_UCI / 스마트폰을 이용한 사용자 행동 인식 데이터 셋_2.데이터 전처리~모델링

김혠 2021. 9. 23. 19:56

안녕하세요?

삼성SDS Brightics 서포터즈 김혜현입니다 😊

여러분 추석 연휴는 잘 보내셨나요 ~?

벌써 연휴가 지나고 목요일이 되었네요 ㅠㅠ

지난 포스팅의

"스마트폰을 이용한 사용자 행동인식 데이터 셋" 기억하시죠? ❗️

이어서 데이터 분석을 진행해보도록 하겠습니다 ㅎ!!

데이터 분석하기에 앞서

Brightics Studio엥 features.txt를 불러와 주었습니다.

텍스트 파일을 살펴보니 156개의 row로 이루어져 있었습니다 !

하지만 이를 Group By해주면 row수가 477개로 줄어듬을 볼 수 있었는데요

이는 바로 중복된 값이 있다는 것을 의미합니다 :)

| Step1. UCI Machine Learning Repository

X_train과 y_train의 컬럼 명이

features에 담겨 있어 이를 전처리해주어야

Brightics Studio에서 불러올 수 있는데요,

그래서 부득이하게 파이썬에서 전처리를 해주었습었습니다.

파이썬은 Brightics와 달리 라이브러리를 불러와주어야 합니다 !!

먼저 pandas를 불러와주었어요 :)

Brightics를 사용한 후에 파이썬을 사용하니

Brightuics의 소중함을 알게 된 시간이었습니다 ㅠㅁㅠ

하지만 !!

여기서 한가지 더 주의할 점이 있는데요.. !

Brightics에서 컬럼의 이름에

'()', ','와 같은 기호가 들어가면 안된다는 점 !!

그래서 해당값들을 제거하거나 '_'로 대체해주는

작업을 해주었답니다 ~

이후 아래와 같이 파일을 저장해주었어요 :)

이제 Brightics Studo에서 오류없이 불러와지네요 >.ㅇ

 

| Step2. kaggle

해당 데이터는 UCI뿐만 아니라 kaggle에서도 데이터를 다운로드 할 수 있는데요 ~

재밌게도 UCI와 kaggle의 데이터는 조금 달라요 ㅎㅎ

UCI의 데이터는 X_train, y_train으로 나누어져 있다면

kaggle은 이 데이터들을 trian으로 합쳐주었습니다 ~!

또, 'subject'컬럼을 보면

1~30까지의 숫자로 되어있는데

이는 30명의 실험자를 의미합니다 :)

하지만 이 데이터도 Brightics Studio에 불러오기 위해서는

컬럼명에 '()', ','와 같은 기호를 제거해주어야 합니다 !!

| Brightics Studio

이와 같은 전처리를 거치고 저장하면다면

Brightuics에 데이터를 불러옵니다 :)

[Load]함수를 통해 데이터를 불러오고

UCI의 데이터는 X_train, y_train으로 나누어져 있으므로

이를 합쳐주는 작업을 진행합니다.

이후 trian과 test도 합쳐주어

하나의 데이터 프레임이 될 수 있도록 합니다.

어?! 근데 Profile Table은 뭔가요 ???

이전에도 소개한 적이 있었는데요 ㅎ

해당 함수는 데이터의 전반적은 분포는 물론이고

Pearson, Spearman으로 데이터의 상관관계까지 설명해주는 함수입니다 !!

이번에는 전처리한 kaggle의 데이터를

Brightics Studio에 불러와 보겠습니다.

앞서 UCI데이터와 마찬가지로

[Load]함수로 데이터를 불러와주고

[Bind Row Column]함수로 두 데이터를 합쳐주어

both_df라는 하나의 데이터로 만들어 줍니다 :)

UCI데이터와 달리 kaggle의 데이터는

'Activity'라는 컬럼에 문자로 각 행동이 적혀있기때문에

이를 모델링해주기 위해서 숫자 범주형으로 바꿔줍니다.

그러기위해 [Add Column]함수를 사용해주었습니다.

각각의 데이터를 전처리하고 합쳐주었다면

[Split Data]함수로 데이터를 7:3으로 나누어주어

이를 모델링 해주었습니다.

저는 SVM, Random Forest, XGB를 사용하였고

이들에 대해 간단하게 설명을 해드리도록 하겠습니다 ~!

모델링을 해주니 아래와 같은 정확도가 나왔습니다 ~!

파라미터를 조금만 바꾸어주어도 높은값이 나오는 것을 볼 수 있었는데요,

지금도 좋은 성능을 띄고 있지만

Stacking 작업 또한 해보았습니다 ㅎㅎ

 

그러니 모두 1.0으로 완벽에 가까운 값이 나오네요 .. !!

9월이 된게 엊그제 같은데 벌써 9월이 마무리되어 가네요 ㅠㅠ

곧 10월이라늬 ... .

연휴라서 더욱 시간이 빠르게 느껴진것 같기도 하네요 ㅠ

Brightics 서포터즈 활동 또한 얼마 남지 않아 아쉽기만 하네요..

그만큼 남은 기간 열심히 활동할 것이니

많은 관심 부탁드립니다 >.<

궁금한 내용은 댓글을 통해 남겨주세요 🥰

* Brightics 서포터즈로서 직접 체험하고 작성한 리뷰입니다 *

#삼성SDS #BrighticsAI #BriticsStudio #macBrighticsStudio #Brightics #브라이틱스 #Brightics서포터즈 #서포터즈 #발대식 #모델링 #데이터분석 #데이터사이언티스트 #삼성서포터즈 #대외활동 #대외활동추천 #데이터분석대외활동 #대학생대외활동 #데이콘 #삼성 #삼성대외활동 #서로이웃 #좋아요 #유튜브 #분석맨 #구해줘분석 #카드뉴스 #자격증 #자격증준비 #ProDS