대외활동/Brightics 서포터즈

[Brightics | 실습] kaggle(캐글) 로 Housing Data 시각화하기 (3) EDA + feature 선택 편

케이와이엠 2021. 8. 10. 02:40

< 캐글로 데이터분석하기 세 번째 시간 >

이번에는 팀원들과 각자 feature를 맡아서 eda를 해오기로 했습니다.

저희가 선택한 캐글의 Housing data가 80개가 넘는 변수로 이루어지다보니

모든 변수들에 대한 eda를 혼자서 진행하기엔 무리가 있는 것 같더라구요

 

이럴 때 필요한 게 바로 팀워크 !! 팀원들과 함께 해서 더 쉽고 빠르게 진행할 수 있었어요 

1. EDA : 시각화 + 이상치 확인

먼저 eda를 하기 위해 팀원들과 각자 15개의 칼럼을 맡아 Brightics를 이용한 시각화를 정리해보았습니다.

 

저 같은 경우에는 변수들의 분포를 먼저 확인한 다음에

-> 수치형인 경우엔 너무 치우쳐져있진 않은지, 범주형은 unique와 frequency 차원에서 메리트가 있는 친구인지 확인

-> 그리고 수치형의 경우 correlation을 확인해서 y변수들과 관계를 봐주었습니다.

이때 그래프는

이 순서에 맞춰 만드실 수 있습니다.

그리고 제가 그래프들을 한눈에 보이게 하기 위해 펼쳐놓은 저 곳은 ! 바로!

Brightics REPORT 레포트 기능

 

입니다.

미리 report를 생성해 둔 다음에

차트종류를 택한 바로 옆 ! 이모지를 클릭해주세요 :)

이쁘게 만든 차트가 자동으로 레포트에 옮겨져있답니다

여기서 부턴 저희 팀원들이 해주신 시각화 자료들입니다

 

꼼꼼하게 하나하나 변수가 가진 속성을 따져가며 회귀 변수로서 사용할 가치가 있는지, 없는지 정리해주셨어요 !

그리고 수치형 변수, 범주형 변수 분포를 확인하고 두 개의 변수들을 묶어서 이변량 분석도 진행해주셨어요 !

그리고 0의 개수가 특히나 많은 변수를 확인하고 correlation 을 가지고 영향력이 있는 변수인지 확인해주셨어요 !

팀원분들이 정말 .. 이보다 꼼꼼할 수 있어 ? 할 정도로

catch 실력들이 대단합니다.

2. 추가적으로 DROP

위의 결과를 바탕으로 팀원들과 긴 회의끝에 추가적으로 삭제해줄 변수들을 골라주었습니다.

80개가 넘었던 칼럼이 48개로 확 ! 줄어들었습니다

 

3. outlier 제거 : LOF

변수로서의 영향력이 없다고 판단되는 변수는 모두 삭제해주었구요,

이제는 더 성능 좋은 모델링을 위해 변수들의 outlier를 제거해주겠습니다.

저희 조에서 사용할 outlier 제거 방법은

LOF 방법입니다 .

Local Outlier Factor(LOF)는 밀도를 활용하여 이상치를 찾아내는 것으로 때 주변보다 밀도가 상대적으로 낮은 점들을 제거하는 것이죠 !

 

원래 1400개가 넘어가던 행들이 100개 가량이 삭제된 것을 확인할 수 있어요.

4. 정규화 : MINMAXscaler

그 후 변수들끼리 측정 단위가 다르기 때문에 단위통일을 위한 scaling 작업도 필요하겠죠 ?

normalization

이때 0과 1 사이의 값으로 정규화시켜주는 minmaxscaler를 사용해주었습니다.

5. 인코딩 : label encoding

그 다음으로 ! 범주형 변수를 그대로 모델링 시킬 순 없겠죠 ㅠㅠ

그래서 string 타입이었던 변수들을 모두 numerical 한 변수로 바꾸어주어야합니다.

인코딩의 방법에는 LABEL ENCODING / ONE - HOT ENCODING 이 있습니다.

이때 LABEL ENCODING은 범주의 순서대로 0,1,2,3,4 등 숫자를 부여하는 방식이고

ONE-HOT ENCODING은 범주를 dummy 형태인 0과 1로 구분하여 열에 해당하면 1, 해당하지 않으면 0을 부여합니다.

저는 아무래도 범주형 변수들이 많다보니 저는 label encoding으로 진행해주었습니다 !

그리고 마지막으로 사용해줄 칼럼들을 정리해서 골라주면 모델링을 위한 전 단계가 모두 완성되었습니다.


이로써 드디어 회귀 모델을 돌리는 분석 작업만이 남았는데요 !

조원들과 머리를 맞대며 열심히 회의하며 순조롭게 전처리와 eda까지 끝낼 수 있었네요 :)

그럼 다음번에는 다양한 모델링 기법들과 함께 회귀분석으로 돌아오겠습니다 !!


 

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

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

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

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