Computer Engineering/Data Analysis

캐글 타이타닉 예제를 통해 알아보는 데이터 분석 및 활용 flow

jordan.bae 2018. 1. 15. 15:00
 
캐글을 통해 입문하는 사람들은 보통 타이타닉의 예제를 통해 입문하는 경우가 많습니다.
 
최근에 몇 가지 강의에서도 타이타닉 예제를 사용하고 있는 것으로 알고 있습니다.
 
 
타이타닉 예제를 통해서 데이터 사이언티스트(Data scientist) 들이 어떤 일을 하는지 
 
데이터 분석에서 어떤 일을 하는지 조금 이해할 수 있게 됐습니다.
 
 
간단하게 flow를 정리해봤습니다.
 
 
1. 정확하게 문제를 정의해야 합니다.
 
어떤 데이터로 어떤 문제를 해결하고 싶은지 정의 해야 합니다.
 
타이타닉 문제를 예로 들자면, 타이타닉에 탑승했던 승객들의 정보를 통해 미래에 어떤 배를 타는 승객들이 배가 침몰했을 때 죽을지 죽지 않을지 
 
예측합니다.
 
 
2. 데이터를 processing하여 정리해서 모으는 과정이 필요합니다.
 
데이터를 분석 할 수 있는 형태의 데이터 모아서 데이터를 분석할 수 있는 형태로 만드는 과정입니다. 
 
아래의 데이터는 kaggle에서 주어지는 데이터입니다.
 
 
보통은 이렇게 데이터가 주어지는 경우가 없기 때문에
 
분석하려는 데이터를 DB에서 자신이 필요한 필드의 데이터들을 csv로 추출하는 과정이나 크롤링을 통해서 데이터를 정리하는 과정이 필요합니다.
 
다음에 기회가 된다면 이 과정을 자세히 포스팅하도록 하겠습니다.
 
 
 
3. 데이터를 보면서 어떤 데이터들이 중요한 데이터인지 확인하는 과정이 필요합니다. 
 
이 과정에서 데이터의 시각화를 이용해서 데이터에서 깨달음을 얻는 경우가 많습니다.
 
마찬가지로 타이타닉 사건의 예로 들자면, 표를 구매한 가격에 따라 생존/죽음 에 영향을 주는지 승객들의 탑승 장소에 따라서 생존/죽음과 관련이 있는지 파악하는 과정이 필요합니다.
 
이 과정이 필요한 이유는 이 과정을 통해 각 Feature engineering 이 이뤄집니다.  Feature engineering은 벡터 연산을 위해서 연산이 가능한 형태로 데이터를 변경하는 과정입니다.
 
 
4. Feature engineering , 데이터 벡터화
 
컴퓨터가 데이터를 통해 학습은 벡터 연산으로 이뤄지기 때문에  3번 과정에서 분석했던 데이터를 알맞게 숫자로 변경해주어야 합니다.
 
위의 그림처럼 모든 필드의 데이터들을 숫자로 만듭니다. (우린 컴퓨터에게 학습을 시켜야 하니깐요.)
 
 
 
5. Modeling
 
쉽게 설명하면 지금까지 만든 데이터를 통해 어떤 방법의 알고리즘을 통해 학습 시켰을 때 가장 학습이 잘 되서 결과값을 잘 예측하는지 파악해서 해당 알고리즘으로 학습 시키는 과정입니다.
 
KNN , Decision Tree, SVM, naive bayes 등 알고리즘을 통해 학습을 시켜가면서 어떤 알고리즘을 통해 학습을 시켰을 때 결과값이 좋은지 찾을 수 있습니다. 
 
 
 
6. Testing
 
이제 만든 학습 시킨 데이터를 통해 실제 값을 넣어서 데이터의 결과 값을 얼마나 잘 예측 했는지 테스트 합니다.
 
 
간단하게 데이터 분석의 과정을 kaggle의 타이타닉 예제를 예로 들어 설명하면서 적어봤습니다.
 
 
참고 자료: 
 
https://www.youtube.com/user/TheEasyoung 허민석 님의 유튜브 강의를 참고하였습니다.
 
 
감사합니다.
 
 

 

 

 

 

 

 

반응형