Bagging 첫 시도
Bagging 앙상블의 한 번의 반복에서 어떤 일이 일어나는지 살펴봤어요. 이제 직접 커스텀 bagging 모델을 만들어 봅시다!
두 개의 함수가 준비되어 있어요:
def build_decision_tree(X_train, y_train, random_state=None):
# 복원 추출로 샘플을 뽑고,
# "약한" 결정 트리를 만든 뒤,
# 학습 세트에 적합합니다
def predict_voting(classifiers, X_test):
# 개별 예측을 만든 다음
# "투표(Voting)" 방식으로 결합합니다
기술적으로, build_decision_tree() 함수는 이전 연습 문제에서 하신 작업과 같아요. 여기서는 이런 트리를 여러 개 만든 다음 결합할 거예요. 이 "약한" 모델들의 앙상블이 성능을 끌어올리는지 확인해 봅시다!
이 연습은 강의의 일부입니다
Python에서의 앙상블 기법
연습 안내
- 학습 세트와 인덱스
i를 random state로 넘겨build_decision_tree()를 호출해 개별 모델을 만드세요. - 분류기 목록
clf_list와 입력 테스트 특성을 사용해predict_voting()으로 테스트 세트의 레이블을 예측하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Build the list of individual models
clf_list = []
for i in range(21):
weak_dt = ____
clf_list.append(weak_dt)
# Predict on the test set
pred = ____
# Print the F1 score
print('F1 score: {:.3f}'.format(f1_score(y_test, pred)))