개요

목표: 타이타닉호의 생존자 예측하기

데이터 분석 기법: 의사결정나무

사용할 데이터: Titanic (RapidMiner의 sample data)

예상 결과: 상식적으로 여자, 아이들, 상류층의 생존 비율이 높을 것이다.

 


데이터 분석_1차

1. 타이타닉 데이터 불러오기

 

2. Set Role: 생존 여부를 종속변수로 설정

3. Split Data: test 데이터셋과 training 데이터셋으로 나누기

- 비율: 5대5

- sampling type: shuffled sampling(무작위 샘플링)

- seed: 1912로 설정

 

4. Decision Tree: traing 데이터셋으로 의사결정나무 실행 (기본 설정 그대로 사용)

 

5. Apply Model: 의사결정나무로 모델링, test 데이터셋 연결

 

6. Performance: apply model 연결

 


데이터 분석_1차_결과:

정확도: 76.91%

 

나무 결과

 

첫번째 가지: sex(성별)

두번째 가지: 형제나 배우자의 숫자

 

벌써 형제나 배우자의 숫자로 나눈다고??? 싶어져서

데이터셋을 다시 봤더니 전원 사망한 두 가족이었다.

 

Sage 가족의 딸 중 한 명에게 구명보트를 타라고 했지만, 다른 가족 없이는 안 간다며 거부했다는데 재난 상황에서는 가족이 많을 경우 다같이 사망하게 될 확률이 높을 것 같다.

여자 쪽의 나머지 가지들은 클래스와 요금이다.

같은 클래스의 승객들이더라도 요금이 달랐나보다.

시각화해서 보니 1등석/2등석/3등석이 나뉘기는 하지만,

무료로 탑승한 1등석 승객과 1등석보다 많은 요금을 낸 2/3등석 승객들도 보인다.

다시 나무 결과값을 보면,

1등석 승객은 102명 중 99명 생존(97%),

2등석 승객은 73명 중 65명 생존(89%).

1/2등석 승객은 대부분 생존했다는 걸 알 수 있으므로 분류가 적절하다.

 

하지만 3등석 승객은 계속해서 요금별로 가지가 나뉘는데 마지막 가지에서조차 7:6의 비율로 나뉘는 거 보면 유의미한 결과는 아니다. 사실상 대부분의 3등석 승객들 24.808 이하의 요금을 지불했을 확률이 매우 높다. 즉, class는 유의미하지만 fare는 무의미해 보인다.

 

남자쪽의 첫번째 가지는 나이이다.

 

데이터셋을 봤을 때 나이가 생존 여부와 상관관계가 아주 높아보이지는 않는다. 하지만 10세 미만의 생존률이 높고 60세 이상의 사망률이 높다는 점에서는 유의미해 보인다.

나머지 가지들은 여자쪽과 유사하게 Class와 Fare이다.

 


데이터 분석_2차

수정사항

1. Passenger Fare 속성 제거


데이터 분석_2차_결과:

정확도: 76.91% → 76.76% (0.15%p 하락)

 

나무 결과:

승선지는 상식적으로 상관이 없을 것 같은데 나무 깊이가 너무 깊은 것 같다.

 

추가로, 구명보트는 생존/사망과 가장 직결될 속성인데...?? 

구명보트 값이 yes/no로 나왔다면 거의 완벽한 모델링이 됐을텐데 polynominal 변수라서 제대로 활용이 안 되고 있다. 변수 설정을 할 수 있기는 하지만 목표는 어떤 사람들이 생존할 수 있었을지 추측하는 것이므로, 구명보트를 탔나 안 탔나보다는 어떤 사람들이 생존했나에 초점을 맞춰야 한다.


데이터 분석_3차

수정사항

1.나무 모형 수정: 10 → 6

 

2. 속성 제거: Life Boat, Port of Embarkation


데이터 분석_3차_결과:

정확도: 76.91% → 76.76% → 77.52% (0.76%p 상승)

 

나무 결과:

나이 결측치가 너무 많아서 방해됨


데이터 분석_4차

수정사항

1. 나이 결측치 제거


데이터 분석_4차_결과:

정확도: 76.91% → 76.76% → 77.52% → 80.31% (2.79%p 상승)

 

*지금까지 수정한 것들 중 나이 결측치 제거가 가장 유의미함 

즉, 이상치/결측치 영향이 크다!

나무 결과:

1/2등석 여자 승객과 1세 미만의 아기는 대부분 생존



요약

목표: 타이타닉호의 생존자 예측하기

데이터 분석 기법: 의사결정나무

 

예상 결과: 상식적으로 여자, 아이들, 상류층의 생존 비율이 높을 것이다.

실제 분석 결과: 1,2등석 여자와 1세 미만의 아기의 생존 비율이 높았다. 대가족의 경우 사망확률이 높았다. 

느낀 점: 이상치/결측치 제거는 중요하다!

'RapidMiner' 카테고리의 다른 글

[RapidMiner] 단순회귀분석으로 영화 수익 예측하기  (0) 2024.11.13

+ Recent posts