타이타닉 EDA

매일 공부(ML)·2022년 3월 19일
0

캐글 필사

목록 보기
2/34

EDA

데이터 안에 숨겨진 사실을 시각화를 통해서 찾아야합니다.

시각화 라이브러리는 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이 다양하므로 어떤 특징을 뽑아내어 생존과 연결시켜야하는지 고려 필수

profile
성장을 도울 아카이빙 블로그

0개의 댓글