본문 바로가기

Archive

[ML적용Case] Titanic Data applied to Decision Tree model

반응형

데이터를 갖고 의사결정 나무 모델에 적용하는 프로세스는 크게 다음과 같다

Decision Tree model process

위 그림에서 보는 것처럼 

첫번째, 문제를 정의하고 훈련 데이터를 수집을 한다

두번째, 데이터를 추출을 한다, 여기서 데이터 추출이란, Data의 여러가지 features 중에서 중요한 feature을 뽑아내어

          나무의 결정 기준을 설정한다. 이 때, 기준 설정은 가장 많은 데이터를 나가떨어지게(?)하는 feature을 가장 먼저           설정하는 것이 효율적이다. 또한 엔트로피가 낮도록(clean~) 설정을 해야 한다(=정보획득이 높아져아한다!)

#정보획득에 대한 용어는 의사결정나무 이론에 대한 정리글을 참고하자!

세번째, 모델을 실행시킨다.

네번째, test데이터로 모델 성능을 시험해본다.

 

타이타닉 훈련 데이터 형태

위는 Decision tree 모델에 input으로 넣기 위해 적절하게 정제한 타이타닉 데이터이다. 기존과 많이 다른 점 중 하나는 Embarked 라는 feature값에 [S , C , Q]라는 값을 one-hot encoding으로 변환한 점이다.

#Kfold=교차검증 : 모든 데이터셋이 최소 한번의 테스트셋으로 사용하면서 검증하는 방법이다!

 교차검증을 하는 이유는 총 데이터 셋의 갯수가 적기 때문에 이 적은 데이터셋에서 train/test/validation용 데이터로

나누다 보면 데이터수가 더 적어지기 때문에 underfitting이 발생하게 된다 

 

Decision Tree coding

scoring = 'accuracy' 정확도를 측정하는거라고 생각...

 

cross_val_score의 인자에서 

- clf = 위에서 정의한 의사결정나무 머신러닝 모델 이름

- train_data = 위에서 정의한 우리가 정제한 타이타닉 훈련 데이터(생존여부=Survived를 제외한) 즉, x값

- target = 위에서 정의한 생존여부(우리가 예측하려는 값) 즉, y값

- cv=k_fold : 교차검증

- n_jobs : 계산을 하는 CPU 숫자 . .. CPU가 충분하면 해당 값을 증가시킬수록 속도가 증가한다.

교차검증 score : 79.91

 

타이타닉 데이터의 의사결정 나무  모델(도식화)

반응형