Мягкое и жёсткое голосование
Вы уже попрактиковались в построении двух типов ансамблей: голосования и усреднения (мягкого голосования). Какой из них лучше? Оптимальный подход — попробовать оба и сравнить их результаты. Давайте сделаем это на наборе данных по сериалу «Игра престолов».
Для вас уже созданы три отдельных классификатора:
DecisionTreeClassifier(clf_dt).LogisticRegression(clf_lr).KNeighborsClassifier(clf_knn).
Ваша задача — применить оба метода и определить, какой из них показывает лучший результат.
Это упражнение является частью курса
Ансамблевые методы в Python
Инструкции к упражнению
- Подготовьте список кортежей вида
(строка, оценщик). Используйте'dt'в качестве метки дляclf_dt,'lr'— дляclf_lrи'knn'— дляclf_knn. - Постройте классификатор с голосованием и назовите его
clf_vote. - Постройте классификатор с усреднением и назовите его
clf_avg.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# List of (string, estimator) tuples
estimators = ____
# Build and fit a voting classifier
clf_vote = ____
clf_vote.fit(X_train, y_train)
# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)
# Evaluate the performance of both models
acc_vote = accuracy_score(y_test, clf_vote.predict(X_test))
acc_avg = accuracy_score(y_test, clf_avg.predict(X_test))
print('Voting: {:.2f}, Averaging: {:.2f}'.format(acc_vote, acc_avg))