데이터 안에 숨겨진 사실을 시각화를 통해서 찾아야합니다.
시각화 라이브러리는 matplotlib, seaborn, plotly등이 있습니다.
종류
Pclass
서수형 데이터 타입(ordinal)
카테고리(순서가 있는 데이터 타입)
생존률 차이 살피기
피벗 차트와 유사하기에 pandas dataframe의 groupby이용하면 좋다
pivot메소드 사용
각 pclass마다 0,1로 count되고 평균내면 생존률
count()를 사용하여 각 class의 몇 명인지 확인도 가능
sum을 사용하여 216명 중 생존한 사람 총합
Sex
성별로 생존률이 어떻게 다른지 확인
pandas groupby와 seaborn countplot사용하여 시각화
Both Sex and Pclass
Sex, Pclass 두 가지 관하여 생존이 어떻게 달라지는지 확인
seaborn의 factorplot사용하면 3차원 그래프 가능
여성이 남성보다 높다
성별 상관없이 클래스가 높을 수록 높다
Age
Age feature살피기
생존에 따른 Age의 histogram 그려보기
생존자 중 나이가 어린 경우가 많다
Class가 높을수록 나이 많은 사람의 비중이 높다
나이대가 변하면서 생존률이 어떻게 되는지 보기
나이 범위를 넓혀가며 생존률 확인
나이가 어릴 수록 생존률이 확실히 높다
나이가 중요한 feature데이터
Pclass, Sex, Age
seaborn의 violinplot를 사용하여 나온 거 모두 그리기
x축은 우리가 나눠서 보고 싶어하는 case(Pclass, sex)
y축은 보고 싶어하는 distribution(Age)
Pclass별로 Age의 distribution어떻게 다른지와 생존여부에 따라 구분
Sex, 생존에 따른 distribution이 다른지 보여주는 그래프
생존만 보면 모들 클래스에 나이가 어릴 수록 생존율 높다
여자와 아이의 생존율이 높은 걸로 보아 먼저 챙기는 것을 알 수 있다.
Embarked
탑승한 항수
탑승한 곳에 따른 생존률
비슷한 생존률(C가 제일 높음)
모델에 큰 영향을 줄진 미지수 왜냐하면 feature가 두드러지지 않음
split를 사용하여 확인
Figure(1): 전체적으로 볼 때 S가 가장 많음
Figure(2): C와 Q는 남녀 비율이 비슷하고, s는 남자가 더 많다
Figure(3): 생존확률이 S의 경우 많이 낮다
Figure(4): Class로 split하니 C가 가장 높다(아마도 탑승객이 많아서 인 것 같습니다.)
3은 3rd class가 많아서 생존확률이 낮다
Family - SibSp(형제 자매) + Parch(부모, 자녀)
SibSp와 Parch 합하면 Family
Family로 합쳐서 분석
FamilySize와 생존 관계
Figure(1): 가족의 크기가 1~11
대부분 1명 혹은 2~4명입니다.
Figure(2),(3): 가족의 크기에 따른 생존비교
가족이 4명인 경우 가장 생존확률이 높다
가족 수가 많아질수록 작다
즉, 3~4인이 가장 높다
Fare
탑승요금
contious feature
distribution 매우 비대칭
이상치에 대한 과민 반응으로 실체 예측 시 결과는 좋지 않을 것으로 예상됨
Fare columns의 log값 취하기
python 람다함수 이용(map, log를 편하기 넣기 가능)
log를 취한 비대칭성이 많이 사라짐
이런 작업을 통해 모델이 좀 더 좋은 성능을 비춤
feature engineering작업(모델 성능 향상)
Cabin
NaN이 약 80%
생존에 미치는 영향은 미미할 것
모델이 포함 안 시킵니다.
Ticket
NaN이 없다
string data이므로 어떤 작업을 통헤야 모델 적용 가능
아이디어 중요
ticket number이 다양하므로 어떤 특징을 뽑아내어 생존과 연결시켜야하는지 고려 필수