You are on page 1of 43

DNA 7기 A조 2022/09/01

타이타닉
타이타닉 생존율 예측

팀명 : 타이타닉에서 살아남닉
팀원 : 박수호 장예빈 박은비 김다빈
목차
01 02
EDA
타이타닉 소개 데이터 소개 및 분석

03 04 05
전처리 모델링 소감 및 아쉬운 점
01
타이타닉 소개
타이타닉
목적: 주어진 데이터를 바탕으로 생존율 예측 주최: 데이콘

train.csv
모델 학습에 사용될 데이터

train
test.csv csv
모델 학습에 적용될 데이터
submisson.csv
예측하고 제출하는 데이터
test submission
csv csv
데이터 살펴보기

train.csv

test.csv
02
EDA
데이터 소개 및 분석
EDA

EDA: 데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정

1. 데이터가 표현하는 현상을 더 잘 이해하기 위해

필요한 이유: 2. 데이터에 대한 잠재적인 문제를 발견

3. 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나

새로운 가설을 세울 수 있음
데이터 소개

< Name > < Sex > < SipSp > < Ticket > < Cabin >
승객이름 성별 함께 탑승한 자녀 티켓 번호 객실 번호
배우자 수
< Pclass> < Age > < Parch > < Fare > < Embarked >
티켓 클래스 나이 함께 탑승한 부모님 요금 선착장
아이들의 수
Pclass

3등급의 탑승객이 가장 많음
Embarked

Embarked 탑승객

1. S 에서 가장 많은 인원이 탑승

2. Q 에서 가장 적은 인원이 탑승
Sex

<생존한 사람 중> <전체>

여자의 생존율 68.1% 여자의 생존율 74.2%


여성의 생존율이 더 높다 여성의 생존율이 더 높다
남성의 생존율 31.9% 남성의 생존율 18.9%
Age

그래프 역전 지점 : 약 10세
Pclass – Sex - Survived

Pclass 등급이 높을수록 생존율 증가

성별이 여성일 경우 생존율 증가


유의미한 변수

Pclass Sex

Age Family Group


03
전처리
데이터 전처리 과정

문제정의

데이터 수집
시각화

전처리 EDA
전처리란?

데이터의 "가공"
왜곡된 분석 결과를 방지하기 위해 분석에 적합하게 데이터를 가공하여 데이터의 품질을 올리는 일련의 과정들을

‘데이터 전처리’라 한다.


전처리의 중요성

what's the least enjoyable part of what data scientists spend the
data science? most doing

Cleaning and organizing data 57%


Cleaning and organizing data 57%
데이터 전처리 기법

01 02
데이터 클리닝 데이터 통합

03 04

데이터 변환 데이터 축소
fare 이상치

1. 어떤 자료를 봐도 fare의 이상치가 많음을 확인함.


2. 여기서 fare의 이상치가 나온 원인을 알 수 없음.
3. 고로 fare변수는 생존 예측에 유의미하지 않다고 판단
fare 결측치

1. 결측치 위치 확인

2. 결측치 채우기

fillna()함수 이용
1. test 자료의 fare 이상치는 3등급에서 발생함을 확인
2. 2. train자료 중 3등급 사람들의 fare 평균값으로 결측치 대체
Embarked 결측치

결측값 위치 찾기 결측값 특징 찾기

생존
1등급
여성

1. 결측값이 모두 여성, 1등급, 생존한 사람들임을 확인.


Embarked 결측치

결측값 채우기

fillna()함수 이용

2. 1등급의 최빈값 s / 여성의 최빈값 s / 생존한 사람들의 최빈값 s 따라서 결측치도 전부 s로 채운다.
Cabin 결측값

결측값 확인하기

Cabin이 생존율 예측에 유의미할까?

1. Cabin 결측값이 매우 많다
2. Cabin변수는 생존율 예측과 상관관계를 찾을 수 없다.
Age 결측값

결측치 위치 찾기 결측치 분류하기

1. 결측치를 채우기 위해 성(name)별로 나눔


2. 성(name)을 Mr, Miss, Mrs, Master, other으로 분류함.
Age 결측값

성(name)별 나이(age)평균으로 결측치 대체

mean()함수를 사용하여 성(name)별 나이 평균을 구해 결측치에 대입


Family_size 변수추가 (동승자가 수에 따라 분류한 변수)

1. Family를 동승자와 본인을 더한


값으로 처리

2. 혼자 온 사람이 가장 많음
(동승자 x)
Family_Group

Group 별 생존률
[ 1명 ] – ‘Alone’-인코딩 0
[ 2명 ~ 4명 ] – ‘Small family’-인코딩 1
[ 5명 ~ 7명 ] –‘Large family’-인코딩 2
[ 8명 이상 ] – ‘Super family’-인코딩 3

동승자에 따른 생존수
(생존을 가장 많이 한 순서대로 나열)
인코딩

sex embarked

map()함수 이용
1. Sex변수에서 male은 0 , female은 1로 변환한다
2. 2. Embarked에서 S : 0, C : 1, Q : 2로 변환한다.
04
모델링
다양한 모델링 방법
Logistic Regression
DecisionTreeClassifier
Support Vector Machine (SVM)
Nearest Neighbor (kNN)
Random Forest
Naive Bayes

Logistic Regression DecisionTreeClassifier


Logistic Regression

선형회귀 로지스틱 회귀
Logistic Regression 특징

01 0에서 1사이의
값으로 예측

02
효율적

03 정규화 쉬움

04 쉽게 구현됨
DecisionTreeClassifier

01 가독성 높음

변수의 정규화나
02
표준화가 필요 없음

03
예측력이 떨어짐

04 과대적합이 발생하여
일반화 성능이 저하
모델링에 필요한 기본 코드

X_train 데이터 : ‘Sex’ , ’Pclass’ ‘Age’ , ‘Family_Group’ 선택


Y_train 데이터 : 예측하고자 하는 변수 ‘Survived’ 선택
X_test 데이터 : ‘Sex’ , ‘Age’ , ‘Family_Group’ 선택
의사결정나무모형 예측 코드
Logistic Regression 예측

로지스틱 회귀분석 모델 생성

모델 학습

모델 성능 평가
Logistic Regression 예측

생존확률을 예측하는 것
0과 1로만 예측하는 것보다
확률로 예측하는 것이 더 적합
Logistic Regression 예측
결론
소감 및 아쉬운 점
Ticket 변수

You might also like