Перший підхід до 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
Інструкції до вправи
- Побудуйте окремі моделі, викликавши
build_decision_tree(), передавши тренувальну вибірку та індексiяк random_state. - Передбачте мітки тестової вибірки за допомогою
predict_voting(), використавши список класифікаторівclf_listі вхідні тестові ознаки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)))