데이터 출처
https://www.kaggle.com/c/titanic/data
컬럼 | 설명 | 자료형 |
Survived | 0이면 사망, 1이면 생존 | int64 |
Pclass | 티켓 등급 : 1, 2, 3 | int64 |
Name | 승객 이름 : 성, 호칭. 이름 Surname, Title. Firstname |
object |
Sex | 성별 : male, female | object |
Age | 승객의 나이 | float64 |
SibSp | 형제, 자매, 배우자의 합 | int64 |
Parch | 부모, 자식의 합 | int64 |
Ticket | 티켓 번호 | object |
Fare | 요금 | float64 |
Cabin | 객실 번호 | object |
Embarked | 선착장 : C(Cherbourg), Q(Queenstown), S(Southampton) |
object |
데이터 불러오기
누락값 확인
공통적으로 Age 컬럼에 누락값이 있다.
Cabin 컬럼은 누락값이 너무 많아 이용하기 까다로워 보인다.
train의 Embarked는 2개 뿐이라 다른 값으로 대체해도 될 것 같다.
info
기본적으로 문자열 말고는 정수, 실수형으로 잘 구분되어 있다.
정수 컬럼의 고유값
고유값을 보니 굳이 자료형이 int64일 필요는 없어보인다.
메모리 효율화
train의 메모리를 약 30KB 줄였다.
test의 메모리를 약 11KB 줄였다.
상관관계
예상했던 대로 등급과 요금은 반비례를 보여주고 있다.
(1등급은 요금이 높음)
생존 여부 또한 Pclass와 관계가 다소 있어 보인다.
성별
우선 남자 승객 수가 여자 승객 수보다 월등히 많지만,
생존율은 그와 비례하지 않는다.
여자 승객의 생존율이 0.7 이상으로 높다.
Pclass
3등급의 승객 수가 제일 많지만 생존율은 낮다.
1등급의 승객일 수록 생존율이 높다.
2등급의 승객 또한 생존율을 50%를 넘지 못한다.
Name - Title
호칭만 따로 뽑아내서 생존율을 살펴보자
그 당시 귀족의 호칭이던 the Countess, Sir 등을 제외하고
남자의 호칭 중에 생존율이 50%를 넘는 호칭은 Master가 있다.
이는 머신러닝에 있어서 유의미한 신호가 될 수 있다.
Embarked
Southampton에서 승선한 승객 수가 제일 많지만 생존율은 낮은 편이다.
반대로 Cherbourg의 승객은 Southampton 승객보다 수는 적지만
생존율은 높다.
Queenstown의 승객은 애초에 수가 많지 않다.
Age
생존 여부에 상관없이 나이대를 보면
20대 다음으로 30대가 많다.
나이대별 생존율
위 수치로 보면 10세 미만의 승객, 즉 어린이 들의 생존율이 매우 높다.
80대의 고객은 단 1명인데 살아남아서 1의 값을 보여준다.
10대의 생존율
사실 10세 미만만 어린이이며, 이들만 생존율이 높다고 하기엔 10대도 살펴볼 필요가 있다.
12, 13, 15세의 생존율도 매우 높은 편이기 때문이다.
Age & Fare
어느 특정한 곳에 생존자가 몰려있지는 않다.
위 100 달러 이상 아웃라이어를 빼고 다시 살펴보자
이제까지 봤던 대로 우선 요금을 많이 낼 수록 생존을 하는 것으로 보인다.
또한 15세 미만의 승객들이 생존을 많이 하는 것으로 보인다.
SibSp, Parch
SibSp
신기하게도 혼자 온 승객(0)보다 형제, 자매 또는 배우자가 1명 있는 경우에 생존율이 제일 높다.
Parch
Parch 또한 혼자 온 승객(0) 보다
부모, 자식의 합이 1, 2, 3인 경우가 생존율이 더 높다.
Family Size
SibSp와 Parch를 더하고 본인(1)을 더한 것을 Family Size라고 하자
Family Size가 2, 3, 4인 경우
즉, 이제 정의할 핵가족인 경우 생존율이 높다.
Family Type
Family Size가 1이면 Single, 2-4이면 Nuclear, 5 이상이면 Big으로 정의한다.
Family Size에서 확인한 대로 핵가족인 경우에 제일 생존율이 높다.
이제 생존율을 예측하는데 있어 필요한 전처리를 해보자.
'Kaggle' 카테고리의 다른 글
Kaggle - Bike Sharing Demand : Evaluation (Random Forest, Cross-validation) (0) | 2020.08.19 |
---|---|
Kaggle - Bike Sharing Demand : EDA & Feature Engineering (2) (0) | 2020.08.19 |
Kaggle - Bike Sharing Demand : EDA & Feature Engineering (0) | 2020.08.18 |
Kaggle - titanic(타이타닉) : Modeling (Decision Tree) (0) | 2020.08.07 |
Kaggle - titanic(타이타닉) : Feature Engineering (0) | 2020.08.07 |