1. 대회 설명
타이타닉호에서 생존한 승객을 예측하는 모델을 만듭니다.
평가방법 : 승객의 생존여부를 0, 1로 예측하여 제출하고, 정확도를 계산하여 순위를 결정
2. 데이터 설명
Variable | Definition | Key |
survival | 생존여부 | 0 = No, 1 = Yes |
pclass | 티켓 등급 | 1 = 1st, 2 = 2nd, 3 = 3rd |
sex | 성별 | |
Age | 나이 | |
sibsp | 타이타닉에 탑승한 형제/자매 수 | |
parch | 타이타닉에 탑승한 부모/자녀 수 | |
ticket | 티켓번호 | |
fare | 운임(티켓요금) | |
cabin | 객실 번호 | |
embarked | 탑승한 곳(항구) | C = Cherbourg, Q = Queenstown, S = Southampton |
3. 데이터 전처리
(1) 데이터 훑어보기
1. 데이터 로딩 : csv 파일을 데이터프레임으로 읽기
2. 학습 데이터 셋의 상위 5개 항목 출력
3. 학습 데이터 셋의 각 필드 데이터 분포(평균, 최소값, 최대값 등)를 살펴보기
4. 각 컬럼의 데이터 타입 확인하기
5. 'Cabin'필드에는 어떤 값이 있는지 확인하기
6. 생존한 사람, 사망한 사람의 수 확인하기
7. 각 클래스('Pclass')별 탑승객 분포 확인하기
8. 성('Sex')별 탑승객 분표 확인하기
9. 탑승 위치('Embarked') 별 탑승객 분표 확인하기
(2) 데이터 전처리
1. null값 체크
2. 결측치 처리(1) : 'Embarked' 필드의 결측치는 값이 가장 많은 'S'로 할당하기
3. 결측치 처리(2) : 'Age' 필드의 결측치는 값이 중간값으로 할당하기
4. 'Name'필드에서 신분을 나타내는 단어를 뽑아서 'Title' 필드에 할당하기
(힌트1) : '.'을 기준으로 앞에 위치하는 문자열을 추출
(힌트2): train['Name'].str.extract(' ([A-Za-z]+)\.', expand = False)
5. 'Title' 필드의 카테고리를 6개의 항목으로 변경하기
-
'Officer': 'Capt', 'Col', 'Major', 'Dr', 'Rev'
-
'Master' : 'Jonkheer', 'Master'
-
'Royalty' : 'Don', 'Sir', 'the Countess', 'Lady', 'Dona'
-
'Mrs' : 'Mme', 'Ms', 'Mrs'
-
'Miss': 'Mlle', 'Miss'
'Mr' : 'Mr'6. 변수 y를 선언해서 학습할 목표변수(=종속변수)인 'Survived'필드값을 담기
7. 나이('Age') 필드를 그룹핑하여 'AgeGroup'필드 생성하여 할당하기
0~18세: Baby
19~25세: Youth
26~35세: YoungAdult
36~60세: MiddleAged
61~100세: Senior
8. 'AgeGroup'이 'Baby'인 raw만 출력하기
(3) 데이터 시각화
0. 라이브러리 import
1. 학습 데이터셋(train)의 데이터 분포확인하기
(힌트) 히스토그램 그리기, bins = 20
2. 성별('Sex')의 생존여부('Survived') 데이터 분포확인하기 : barplot
3. 탑승 클래스('Pclass')별 + 성별('Sex') 생존여부('Survived') 데이터 분포확인하기 : barplot
4. 전체 변수의 correlation에 대해 히트맵 그리기
5, 연령분포('AgeGroup')별 + 클래스('Pclass')별 생존여부('Survived') 데이터 분포확인하기: barplot
6. 형제/자매수(''SibSp")별 + 클래스('Pclass') 별 생존여부("Survived")
(4) 학습을 위한 데이터 준비
1. 'Name', 'Ticket', 'SibSp', 'Parch', 'Cabin' , 'AgeGroup'컬럼 삭제하기
2. 텍스트 데이터 숫자 변환
3. 학습용, 테스트용 데이터 셋 분리하기
'Kaggle·데이터분석예제' 카테고리의 다른 글
[Kaggle][문제]강아지 품종 분류(dog-breed-identification) (0) | 2020.07.20 |
---|---|
[파시데]파이썬 기본 연습문제 (4) | 2020.07.20 |
[Kaggle][답]타이타닉(titanic) (0) | 2020.07.20 |
[Kaggle][답]샌프란시스코 범죄 예측(sf-crime) (0) | 2020.07.20 |
[Kaggle][문제]샌프란시스코 범죄 예측(sf-crime) (0) | 2020.07.19 |