본문 바로가기
🖊️Data Analysis/📌 ML)타이타닉 생존자 데이터 분석

[Python] 타이타닉 생존자 데이터 분석

by 빛나고요 2021. 7. 12.
BIG

Study. 타이타닉 생존자 데이터 분석

[스스로 정리한 데이터 분석 흐름]

 

3. feature engineering

[1] Null data 채우기

  • Age에 있는 null data를 title+statistics를 사용하기
    • Fill Null in Age using title
      1. 영어에서는 성별도 나누어지지만 기혼, 미혼 등등의 title로 나누어진다. 그리하여 이름 앞에 꼭 이런 title이 들어가는데 이것을 사용해보겠다.
      2. pandas series의 str method와 extract method를 이용하여 title을 쉽게 추출했다.
      3. 남자와 여자가 사용하는 Initial 이 정해져 있기 때문에 구분해준다.
      4. Initial과 생존자의 관계를 구했을 때 여성과 관계있는 게 생존율이 더 높다.
      5. 나이의 평균을 구해서 Null value 값을 채운다. 
      6. loc + boolean + column : 치환
    • Fill Null in Embarked
      1. fillna : NaN을 특정 값으로 대체하는 기능
  • 나이 바꾸기
    • 나이를 몇개의 group으로 나누어 category화 시켜준다.
    • dataframe의 indexing 해주는 loc 방법이나 apply로 함수를 넣어주는 방법 중 loc을 사용한다.
    • 10씩 잘라서 나눠준다. 
    • 함수를 만들어 apply 하는 방식도 10씩 잘라서 category를 나눈다.
  • 앞에서 나눈 initial과 나이를 mapping하고 항구도 매핑
    • Mr, Mrs, Miss, Master, Other 총 5개로 이루어져 있는 Initial에 맞게 성별을 넣어주고 항구도 나눈다.
    • 성별도 mapping을 한다. 0: female /1 : male
    • heatmap plot을 dataframe의 corr() 메서드와 seaborn으로 생성
  • Initial과 Embarked를  one-hot encoding
    • 수치화를 하여 모델의 성능을 높인다.
    • sklearn의 Labelencode + oneHotencoder 를 이용하여 one-hot encoding이 가능하다.
  • drop columns
    • 필요한 columns만 남기고 다 지운다.
    • train의 Survived feature(targe class)를 빼면 train, test 둘 다 같은 columns이다.

 

4. model 만들기

[1] sklearn을 이용하여 머신러닝 모델 만들기

[2] RandomForestClassifier : ensemble 기법으로 고안되었다. 훈련 과정에서 구성한 다수의 결정 트리들을 랜덤 하게 학습시켜 분류 또는 회귀의 결과 도출에 사용된다. 

[3] sklearn metrics : 모델의 평가

[4] train_test_split : training set을 쉽게 나눠주는 함수

[5] 학습에 쓰일 데이터와 target label 분리

  • 테스트 전에 훈련을 하고 평가전을 거친 후 테스트를 한다. 이때  훈련에 쓰일 train, 평가하는 valid, 훈련 정보를 확인할 test
  • 예측을 다 하고 csv 파일로 저장한다.

 

5. 모델 학습 및 예측

[1] 모델을 세우고 예측한다.

[2] 모델이 학습하지 않았던 테스트 셋을 모델에게 제공하여 생존 여부를 예측한다.

 

6. 모델 평가

-

 

 

📎공부 링크 : https://kaggle-kr.tistory.com/17?category=868316#2.4-Age

댓글