GoT 사망 예측
타깃 변수에는 결측값이 없지만, 다른 피처에는 결측값이 있습니다. 이 강의의 초점은 데이터 정제와 전처리가 아니므로, 다음 전처리는 미리 완료해 두었습니다:
- NA 값을
0으로 대체했습니다. - 나이(age)의 음수 값을
0으로 대체했습니다. - 나이(age)의 NA 값을 평균으로 대체했습니다.
이제 averaging 기법을 사용해 앙상블 모델을 만들어 보겠습니다. 다음과 같은 개별 모델이 이미 구축되어 있습니다:
- Logistic Regression(
clf_lr). - Decision Tree(
clf_dt). - Support Vector Machine(
clf_svm).
타깃이 이진이므로, 개별 모델들도 성능이 좋을 수 있습니다.
여러분의 목표는 averaging으로 이들을 결합하는 것입니다. 영상에서 본 것처럼 이는 soft voting 방식과 동일하므로, VotingClassifier()를 계속 사용해야 합니다.
이 연습은 강의의 일부입니다
Python에서의 앙상블 기법
연습 안내
(string, estimator)튜플 리스트를 설정하세요.clf_lr에는'lr',clf_dt에는'dt',clf_svm에는'svm'을 사용하세요.clf_avg라는 averaging 분류기를 구축하세요.voting매개변수에 적절한 인자를 지정해야 합니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)
# List of (string, estimator) tuples
estimators = ____
# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)
# Evaluate model performance
acc_avg = accuracy_score(y_test, clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))