Первый шаг к бэггингу
Вы уже видели, как работает одна итерация бэггинг-ансамбля. Теперь давайте создадим собственную модель на основе бэггинга!
Для вас подготовлены две функции:
def build_decision_tree(X_train, y_train, random_state=None):
# Берёт выборку с возвращением,
# строит «слабое» дерево решений
# и обучает его на обучающем наборе
def predict_voting(classifiers, X_test):
# Формирует предсказания отдельных моделей
# и объединяет их с помощью голосования
По сути, функция build_decision_tree() воспроизводит то, что вы делали в предыдущем упражнении. Здесь вы построите несколько таких деревьев, а затем объедините их. Посмотрим, улучшит ли ансамбль «слабых» моделей качество предсказаний!
Это упражнение является частью курса
Ансамблевые методы в Python
Инструкции к упражнению
- Постройте отдельные модели, вызвав
build_decision_tree()и передав обучающий набор и индексiв качестве случайного состояния. - Предскажите метки тестового набора с помощью
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)))