의사결정나무로 이탈 예측하기
이제 앞선 연습에서 익힌 내용을 바탕으로, 더 많은 파라미터를 추가해 고객 이탈을 예측하는 좀 더 복잡한 의사결정나무를 만들어 보겠습니다. 이탈 예측 문제는 다음 장에서 더 깊이 다룹니다. 여기서는 학습 데이터에 다시 의사결정나무 분류기를 학습시키고, 보지 못한(테스트) 데이터에서 이탈을 예측한 뒤, 두 데이터셋 모두에서 모델 정확도를 평가해 볼 거예요.
sklearn 라이브러리의 tree 모듈과 sklearn.metrics의 accuracy_score 함수가 미리 로드되어 있습니다. 또한 특징 변수와 타깃 변수는 학습용 train_X, train_Y와 테스트용 test_X, test_Y로 준비되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 마케팅용 Machine Learning
연습 안내
- 최대 깊이를 7로 설정하고 기준을 gini로 사용하는 의사결정나무를 초기화하세요.
- 학습 데이터에 모델을 학습시키세요.
- 테스트 데이터셋에 대해 값을 예측하세요.
- 학습과 테스트 데이터셋 각각에 대한 정확도를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Initialize the Decision Tree
clf = tree.DecisionTreeClassifier(max_depth = ___,
criterion = 'gini',
splitter = 'best')
# Fit the model to the training data
clf = clf.___(train_X, train_Y)
# Predict the values on test dataset
pred_Y = clf.___(test_X)
# Print accuracy values
print("Training accuracy: ", np.round(clf.score(train_X, train_Y), 3))
print("Test accuracy: ", np.round(___(test_Y, pred_Y), 3))