대외활동/Brightics 서포터즈

[Brightics | 실습] kaggle(캐글) 로 Housing Data 모델링하기 (4) 모델링 편

케이와이엠 2021. 8. 17. 18:56

< 캐글로 데이터분석하기 마지막 시간 >

이번 차시는 바로 데이터분석, 머신러닝의 꽃이죠 !

바로 분석모델을 선택해서, 다양한 모델링을 진행해보는 시간입니다.

저희가 목표로 하는 '예측하기'는 바로 회귀모델을 사용하는데요,

Brightics 에는 과연 어떤 분석방법들로 구현 가능할 지 같이 공부해보아요 !

이번 모델링 작업도 마찬가지로 조원들과 분석기법을 나누어 회의를 토해 결과를 공유해보기로 했어요

최고의 조원들과 완성한 캐글데이터 분석, 과연 얼만큼 잘 예측해냈을지 잘 따라와주세◠‿◠

작업 확인하기

본격적인 모델링에 들어가기 앞서, 이제껏 완성된 전 작업들을 간단히 확인해주어요 !

결측치들을 꼼꼼히 제거해주고 이상치들도 없애주었어요.

그리고 범주형 변수들도 연속형으로 인코딩해주었답니다.

Train / Validation set 나누기

현재, 저희는 train.csv 파일로 작업 중이라는 점 잊지 않으셨죠 ?!

캐글은 train dataset 안에서 작업 후 test dataset에 적용하여 제출해야 스코어가 메겨져요 !

그래서 저희는 train dataset 안에서 train set 과 validation set을 나누어주어

결과를 일반화할 수 있도록 점검 단계를 거쳐주기로 해요.

[split data]

8:2 비율로 나누어주고, random seed를 설정하여 값들을 고정시켜주어요.

regression 모델링

그 후 regression모델을 만들어주는데요,

Brightics에는 정말 많은 분석기법이 대기하고 있어요

익히 아는 기법들도 있고 초면인 기법들도 있는데요

저희 조는 5명의 조원이서 총 5개의 분석 모델링을 진행해보기로 했습니다 !

저희의 선택을 받은 주인공들은 바로

Adaboost Regresson / Decision Tree / Linear Regression / Random foreset Regression / XGB regression 입니다.

이 중에서 저는 Random Foreset Regression 을 맡았어요!

랜덤포레스트 분석은 같은 데이터로 decision tree를 여러 개 만들어 그 결과를 통합하여 산출하는 방식이에요.

각 트리마다 랜덤하게 데이터를 샘플링하여 각 트리별 생성된 모델을 종합하게 된답니다.

이와 같은 기법을 흔히 앙상블이라고도 하는데요, 정확도와 안정성이 높아 성능이 우수한 알고리즘 중 하나에요 !

[random forest regresson train]

우리가 사용할 x 변수들을 모두 Feature Columns에,

y 변수인 sale price를 Label Column에 지정해줍니다.

[random forest regression predict]

train 데이터로 만든 모델을 활용해서 validation 데이터를 예측합니다.

[evaluate regression]

그 결과 R2은 0.87 , 그리고 MSE 값도 위와 같이 확인할 수 있어요 .

모델링 선택하기

그 후

동일한 과정을 수행한 총 5가지 모델을 팀원들과 공유해보았어요

그 결과 .. 우리 FOURTUNE조에게 선택받은 모델은 바로바로바로

✨ XGBoost Regression ✨

이 친구가 모델들 중 비교적 높은 정확도와 가장 적은 RMSE 값을 보여주었어요.

그렇게해서 기존의 Saleprice 와 Prediction 값을 비교해보면

어느 정도 잘 예측한 것 같죠 ~ ?

물론 오차가 큰 행도 속속히 눈에 보여서 ㅜㅜ 아쉬움이 남지만

Brightics의 모든 기능들을 최대한 활용해서 완성한

결과물이라는 점에서 너무 뿌듯하네요 !


4주동안 애지중지 키워낸 분석 프로젝트도 무사히 잘 끝났는데요 !

여러분들이 조금 더 쉽고 한 눈에 따라하실 수 있게

동일한 내용을 바탕으로 티칭영상도 제작할 예정에 있어요 ㅎㅎ

다음 시간에는 그럼 캐글데이터 분석 실전, 영상으로 익히기 편으로 돌아오겠습니다 !


*해당 게시글은 Brightics 서포터즈 활동의 일환으로 작성된 포스팅 입니다.

게시글 관련 문의 및 소통을 원하신다면 아래 댓글로 남겨주세요

브라이틱스 사용 중 문의사항은

brightics@samsung.com으로 연락주세요 :)