제로베이스_Machine Learning (2)

KulangK·2023년 7월 29일

Machine Learning

목록 보기
2/13
post-thumbnail

📄 목차

  • 타이타닉 생존자 분석
    • EDA
    • 머신러닝 모델 구축

타이타닉 생존자 분석

  • 주요 데이터 컬럼
    • pclass: 객실 등급
    • survived: 생존 유무
    • sex: 성별
    • age: 나이
    • sibsp: 형제 혹은 부부의 수
    • parch: 부모 혹은 자녀의 수
    • fare: 지불한 요금
    • boat: 탈출한 경우 탑승 보트의 번호

EDA

1. 데이터 가져오기


2. 간략한 생존 상황 분석


3. 경제력 / 성별 대비 생존률

  • 객실 등급 별 승객 수 확인 (승객수: 3등급 > 1등급 > 2등급)

  • 객실 등급 별 여성/남성 탑승객 수 확인 (대체적으로 남성 탑승객이 많으며, 3등급에서 월등히 많음)

  • 연령별 탑승객 확인 (20대~30대 탑승객이 많은 것을 볼 수 있음)

  • 객실 등급 별 연령에 따른 생존자 수 확인 (다수의 3등급 객실 2~30대 승객이 사망한 것 확인)

  • 종합적으로 들여다보기

    • 객실 등급과 생존률은 비례함
    • 나이가 어릴 수록 높은 생존률을 보여줌
    • 여성의 생존률이 높은 것을 확인할 수 있음
  • 남녀 연령에 따른 생존자 수 확인


4. 계층에 따른 생존률 확인

  • 탑승객의 이름을 통해 계층 확인 가능하므로, 추출하여 데이터 프레임에 삽입 / 집계

  • 코딩의 용이성을 위해 타이틀 간략화 후 생존률 확인

    • 생존률: 귀족 여성 > 기혼 여성 > 미혼 여성 > 귀족 남성 > 평민 남성

5. 데이터의 이유

  • 당시 2등 항해사 라이톨러가 선장에게 여자와 어린이를 먼저 태울 것을 건의, 선장이 승인하고 승객의 배려로 인해 많은 여자와 아이가 생존할 수 있었던 것.

머신러닝 모델 구축

  • 머신러닝을 이용한 생존자 예측

1. 머신 러닝을 위한 데이터 가공

  • 데이터 확인

  • 성별이 문자열로 기록되어 있으므로, 머신러닝을 위해 숫자로 변경

  • 결측치 포기 (결측치까지 포함하여 만들 수 없음)

  • 데이터 상관계수 확인


2. 머신러닝 모델 구축

  • 과정

    1. 데이터 열 이름 확인
    2. 과적합 회피를 위해 훈련-검증 데이터셋 구분
    3. 훈련 데이터셋 이용하여 Decision Tree 생성
    4. 검증 데이터셋 / 전체 데이터셋 이용하여 만들어진 모델 정확도 확인

      • 전체 데이터셋 이용시 정확도 78%로 검증 셋 정확도와 비슷함
      • 고로 과적합이 아니다라고 이야기 할 수 있음
  • 새로운 인물을 넣어 생존률 예측

profile
새싹 데이터 분석가 https://github.com/KulangK

0개의 댓글