BIG
Study. 타이타닉 생존자 데이터 분석
[스스로 정리한 데이터 분석 흐름]
3. feature engineering
[1] Null data 채우기
- Age에 있는 null data를 title+statistics를 사용하기
- Fill Null in Age using title
- 영어에서는 성별도 나누어지지만 기혼, 미혼 등등의 title로 나누어진다. 그리하여 이름 앞에 꼭 이런 title이 들어가는데 이것을 사용해보겠다.
- pandas series의 str method와 extract method를 이용하여 title을 쉽게 추출했다.
- 남자와 여자가 사용하는 Initial 이 정해져 있기 때문에 구분해준다.
- Initial과 생존자의 관계를 구했을 때 여성과 관계있는 게 생존율이 더 높다.
- 나이의 평균을 구해서 Null value 값을 채운다.
- loc + boolean + column : 치환
- Fill Null in Embarked
- fillna : NaN을 특정 값으로 대체하는 기능
- Fill Null in Age using title
- 나이 바꾸기
- 나이를 몇개의 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
'🖊️Data Analysis > 📌 ML)타이타닉 생존자 데이터 분석' 카테고리의 다른 글
[Python] 타이타닉 생존자 데이터 분석 (0) | 2021.07.12 |
---|
댓글