일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 코호트연구
- gam모델
- blocking
- 영국석사
- Data Science
- soap film smoothing
- Smoothing
- 통계예상문제
- Titanic - Machine Learning from Disaster
- 타이타닉데이터
- statistical experiment
- literature review
- factorial design
- 머신러닝
- 영국대학원
- 데이터사이언스
- RCB
- 케글타이타닉
- 논문제안서
- 통계석사
- Spatial Data
- 통계대학원
- mean model
- 관찰연구
- cohort study
- Machine Learning
- 통계디자인
- 영국통계대학원
- 통계학석사
- 통계실험
- Today
- Total
DS and stats
[Kaggle] Titanic - Machine Learning from Disaster 본문
여름 논문시즌이 시작되면서 시간이 좀 남게 되었다.
수업이 모두 다 끝나면서 미팅때문에 학교 가는 것 아니면 (이것도 나만 감 ,,, 주로 온라인이 대세)
주중에는 개인적으로 작업하는 시간이 되어버려서
집중이 잘 안되고 취업도 아직 입사하려면 최소 3개월은 더 있어야해서
graduate scheme이 아닌 나는 잠시 붕 뜬 상태가 되버렸음 ㅜㅜ
그래서 그 동안 kaggle을 이용해서 포트폴리오를 쌓을 계획이다 ㅋㅋㅋ
toward datascience를 구독하던 중에
10 Datasets from Kaggle You Should Practice On to Improve Your Data Science Skills
Hone your skills by working through these 10 datasets
towardsdatascience.com
kaggle에서 연습해야하는 10가지 데이터 셋 관련된 아티클을 보게 되었다.
그래서 그 날 당장 접속해서 1번째 데이터셋인 Titanic - Machine Learning from Disaster을 분석하기 시작함ㅋㅋㅋ
특히 2학기부터는 R을 더 많이 사용하고 논문도 R을 이용하고 있어서
이번에는 파이썬을 중심으로 분석하려고 한다
자꾸 안쓰니까 까먹을라함 ㅜㅜ
우선 이 분석의 목적은 어떤 분류의 사람이 살아남을 가능성이 높은지 예측하는 것이다.
3개의 데이터셋과 1개의 오리지널 데이터셋을 주는데
train: 우리가 예측모델을 만들어야하는 데이터 셋, 생존 결과도 포함되어 있다
test: train을 이용하여 만든 모델로 잘 예측되었는지 test하는데 사용될 데이터
gender_submission: 예측 결과 예시, 여성을 대상으로 생존인지 아닌지를 나타내고 있다.
survival rate for men: 18.89 %
survival rate for women: 74.2 %
성별로는, 여자보다 남자가 생존확률이 약 4배 정도 더 높은 것을 확인할 수 있었고,
survival rate for first class: 62.96 %
survival rate for second class: 47.28 %
survival rate for third class: 24.24 %
Pclass(티켓등급)을 기준으로, 1등급에 있는 승객들의 생존확률이 가장 높고, 등급이 낮을 수록 생존확률도 희박하다는 것을 볼 수 있었다.
그 외에도 correlation matrix를 통해서도 성별과 티켓 등급, 요금의 상관관계가 가장 높다는 것을 볼 수 있었는데
요금과 티켓 등급사이에는 강한 상관관계가 있으므로 요금과 관련해서는 따로 분석을 진행하지 않았다.
그 이후에는 랜덤포레스트 라이브러리를 이용해서
분류를 진행하였다.
random forest = decision tree+bagging+random shape method 인데,
bagging이란: 더 많은 데이터를 모으기 보다는, 교차로 사용하여 통계량을 계산하고
정확도를 높이는 bootstrapping을 적용하여 추정량을 결과로 내는 것
random shape(=subspace) method: 피쳐들에 부트스트랩을 적용하고 중복된 데이터를 제거하는 것
그리고 크게 2가지 타입으로 나눌 수 있는데
분류 트리(Y/N) : 지니계수가 최소화되거나 information gain이 최대가 될 때 쪼갠다.
회귀 트리(데이터가 연속적임): 분산이 최소가 되거나 information gain이 최대가 될 때 쪼갠다.
정규분포에 적합함.
성능을 측정하려면 confusion matrix나 ROC 커브를 사용하면 된다.
케글은 제출 후에 점수가 나와서 따로 성능을 체크하진 않았는데
포트폴리오로 사용하려면 성능 체크를 하는 것까지 마무리하는 것이 좋긴 할 것 같다.