Kaggle - Titanic 필사
Data Analysis의 전체적인 흐름에 대한 이해와 부분별로 어떤 코드로 구현했는지 배우기 위해 Machine Learning Study에서 진행했다.
다른 분들이 방법과 코드들에 대해서 많이 올려주셨으니 나는 Titanic을 해보면서 느낀 데이터 분석의 전체적인 흐름에 대해서 정리해보려고 한다. (느낀 점도)
필사하는 데 참고한 코드와 나의 작성 코드는 아래에 URL 붙여놓았다.
Load Data, Import Library
분석하려는 데이터를 불러오고 필요한 라이브러리를 불러오고 설정을 하는 단계이다.
해당 단계에서는 전체적으로 데이터의 크기가 어떻게 되고 어떤 Feature들이 있고, type은 어떻게 되는지 간단하게 살펴보는 단계이기도 하다.
EDA
개인적으로 EDA에 많은 시간을 투자한다고 생각했는데 필사를 하며 모델의 정확도를 올리기 위해서는 꼼꼼한 EDA가 필수라는 것을 한 번 더 느낄 수 있었다.
EDA는 Target과 Feature들에 대해서 분포를 확인하고, 그룹화, 시각화를 진행하며 어떻게 구성되어있는지를 확인하는 단계이다.
각 Feature들끼리의 상관관계를 확인해보고, Target(종속변수)와의 관계도 확인해본다.
EDA에 있어 수치적으로 확인하는 것도 중요하지만 시각화(Visualization)를 하는 과정이 매우 중요하다 생각한다.
시각화를 통해 해당 Data에서 Insight를 추출하는 것이 가장 중요하다고 생각한다.
같은 데이터에 대해 사람마다 다른 그래프를 그려볼 수 있고, 다른 함수를 적용하며 얻는 정보도 다르고 얻는 Insight도 다를 것이다.
다양한 정보를 추출하기 위해서는 다양한 함수와 다양한 그래프에 대해 넓게 알고 있으면 많은 도움이 되지 않을까 생각한다.
Feature Engineering
- Fill Null Data
- Feature Selection
- Encoding (Label-Encoding, One-Hot Encoding ,,,)
- Transformation (Log, Sqrt, ...)
- ...
모델의 예측 정확도를 올리기 위해 Feature를 만들기도 하고, 삭제하기도 하고, 합치기도 하고, 범주형(categorical) 자료를 수치형(numerical)으로 변환하기도 하고 수치형을 범주형으로 변환하기도 하는 단계이다.
특정 Feature의 data가 너무 편향되어 있거나 분산이 크다면 분산 안정화를 변형(transformation)을 진행하기도 한다.
이유한 님의 Titanic 필사를 진행하며 특정 Feature에서 정보를 추출해 새로운 Feature를 만들어내는 부분이 인상 깊었다.
나는 지금까지 이런 접근을 시도해 본 적이 없었고, Data에 보이지 않는 정보에 대해 고민하는 계기가 되었다.
예측을 하는 데에 있어 어떤 모델을 선정하느냐가 당연히 중요하겠지만 예측을 하는데 필요 없는 Feature들이 많이 껴있으면 아무리 좋은 모델이라도 정확도에 안 좋은 영향을 받을 수 있을 것이다.
그런 부분에 있어 더 정확한 예측을 위해서는 EDA와 Feature Engineering이 매우 중요하다고 생각한다.
하지만 '어떤 상황에는 이렇게 하고, 만약 어떤 값보다 크면 이렇게 해!'처럼 정답이 존재하지 않아 참 어려운 부분이다.
그러므로 많은 경험을 통해 판단할 수 있는 능력을 키우는 게 필요하다 생각한다.
Modeling
해당 Titanic 필사에서는 분류 모델인 RandomForestClassifier만을 사용하셨다.
개인적으로 다양한 모델 구현에 대해 다뤄주시지 않아 조금 아쉬웠다.
느낀 점
확실하게 실제 데이터로 적용을 해보니 더 끄덕끄덕하며 진행할 수 있었고, 많이 부족하다는 것을 느꼈다.
다른 분들의 다양한 코드도 참고하며 다양한 진행 방법에 대해 고민해보고 적용해보면 많은 도움이 될 것 같다.
처음부터 끝까지 진행하며 데이터 분석의 전체적인 흐름을 알 수 있어 좋았다.
진행하는 과정에서 근거를 고민하고 찾아가며 공부하면 많은 도움이 될 것 같다.
데이터 분석을 처음 시작해보시는 분들도 무작정 따라 하며 공부하면 많은 도움이 될 것이라 생각한다.
Reference
▶ 타이타닉 튜토리얼 1 - Exploratory data analysis, visualization, machine learning
▶ 타이타닉 튜토리얼 2 - Exploratory data analysis, visualization, machine learning
▶ My code - Park-taenam/Kaggle
'Etc > Kaggle & DACON' 카테고리의 다른 글
[DACON] 항공사 고객 만족도 예측 경진대회 (0) | 2022.02.17 |
---|---|
[DACON] 집값 예측 경진대회 (0) | 2022.02.04 |
[DACON] 펭귄 몸무게 예측 경진대회 (0) | 2022.01.11 |
댓글