Предсказание гибели персонажей GoT
Целевая переменная не содержит пропущенных значений, однако в других признаках они есть. Поскольку курс не посвящён очистке и предобработке данных, мы уже выполнили следующие шаги:
- Заменили значения NA на
0. - Заменили отрицательные значения возраста на
0. - Заменили значения NA для возраста на среднее.
Теперь построим ансамблевую модель с использованием техники усреднения. Следующие индивидуальные модели уже обучены:
- Логистическая регрессия (
clf_lr). - Дерево решений (
clf_dt). - Метод опорных векторов (
clf_svm).
Поскольку целевая переменная бинарная, каждая из этих моделей может показывать хорошие результаты по отдельности.
Ваша задача — объединить их с помощью усреднения. Вспомните из видео, что это эквивалентно подходу мягкого голосования, поэтому используйте VotingClassifier().
Это упражнение является частью курса
Ансамблевые методы в Python
Инструкции к упражнению
- Составьте список кортежей вида
(строка, классификатор). Используйте'lr'дляclf_lr,'dt'дляclf_dtи'svm'дляclf_svm. - Постройте усредняющий классификатор с именем
clf_avg. Не забудьте задать аргумент для параметра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))