[솔트룩스] 새싹 인공지능 응용 SW 개발자 양성과정 | 30일차 | 5. 머신러닝 (8)
2022.01.25 | 30일차 | 5. 머신러닝 (8)
- 권혜윤 강사님 ( yujinkwon@nate.com )
- 분류 프로젝트: 타이타닉 생존자 분류
- 프로젝트 개요
- 타이타닉 생존자를 분류하는 문제
- 컬럼 정보
- 데이터 분석
- 각 컬럼의 정보를 살펴보고 Survived 컬럼과 관련있는 컬럼이 어떤것인지 또한 관련이 없는 컬럼이 어떤 것인지를 알아내는 작업
- 데이터 읽기
- head()
- describe()
- len()
- isnull().sum()
- 비율 = isnull().sum() / len()
- null 값 확인
- msno.bar ()
- 생존과 관련있는 컬럼 탐색
- 데이터 분석시 생존과 관련있는 컬럼들로 df 구성해서 분석해야함
- 관련없는 컬럼 존재시 정확도 낮아짐
- 관련있는 데이터라고 생각했으나 의외로 연관성이 없는 경우 많음 (종교 & 이혼율 / 습도 & 산불)
- 분포 균일
- PClass 컬럼과 생존률 관계
- Pclass 가 좋을 수록 (1st) 생존률이 높은 것을 확인.
- Sex 컬럼과 생존률 관계
- 여자가 생존할 확률이 높음.
- Age 컬럼과 생존률 관계
- 생존자 중 나이가 어린 경우가 많음을 볼 수 있음
- Embarked 컬럼과 생존률 관계
- 비슷하나 C가 제일 높음
- C가 높은 이유는 클래스가 높은 사람이 많이 탔기 때문임.
- 상관 관계 파악
- 상관관계 분석: 두 변수간에 어떤 선형적 관계를 갖고 있는지를 분석하는 방법.
- 상관관계: 두 변수간의 관계의 강도
- 단순상관분석(2개의 변수) / 다중상관분석(3개 이상의 변수)
- 연속형 수치로 이루어진 변수와 변수사이의 관계를 말함
- 구분: 양의 상관관계 / 음의 상관관계 / 무 상관관계 등
- Survived 컬럼과의 상관 관계를 출력
- PClass 와 음의 상관관계
- Fare 와 양의 상관관계
- 컬럼의 기울임 정보 파악
- 기울어짐이 4를 초과하면 특정구간에 값들이 몰려있는 컬럼임
- Fare 컬럼에 log 취하기
- 전처리
- 계산을 통해서 새로운 컬럼을 추가
- 결측치가 있는 행에 값 대입
- 새로운 컬럼 추가
- 가족수 컬럼 추가 (가족인 승객 혼자 탑승한 승객 비교, 생존과의 관계 파악)
- 4명인 경우가 가장 생존확률이 높음.
- Sir 컬럼 추가 (성별 & 나이 가 생존률과 관계 있음 /)
- 성별 & 나이 가 생존률과 관계 있음 -> 컬럼 추가
- 이름에서 값 추출 -> 컬럼 추가
- 결측치 처리
- 결측치가 저장된 행의 값 치환
- 비슷한 값을 가진 다른 행의 데이터로 치환
- 평균으로 치환
- 나이 결측치 처리
- 기혼여성이 미혼여성보다 나이가 많을 것으로 생각됨
- Master는 나이가 어릴것으로 생각됨
- Sir 컬럼에 나이의 결측치를 처리 -> 평균값 (기혼, 미혼, 도련님)
- Embaked 결측치 처리
- 데이터 처리
- 나이 데이터 처리
- Sir 컬럼 처리
- Embarked 컬럼 처리
- Sex 컬럼 처리
- 컬럼 삭제
- 분류
- 학습 데이터 테스트 데이터 분리
- 의사 결정 트리
- Random Forest
- XGBoost

댓글
댓글 쓰기