Введение

В предыдущем блоге «Простой средневзвешенный ансамбль | Машинное обучение», я рассказал о том, как реализовать средневзвешенный ансамбль из нескольких классификаторов, чтобы получить различную информацию о данных и повысить производительность вашей модели. В этом блоге я сделаю еще один шаг, чтобы продемонстрировать, как выполнить настройку гиперпараметров вашего ансамбля в python.

Модель данных

Для данных вы можете найти их здесь: https://www.kaggle.com/c/homesite-quote-conversion/data

Код реализации ансамбля вы можете найти здесь: https://medium.com/analytics-vidhya/simple-weighted-average-ensemble-machine-learning-777824852426

Мы собираемся использовать VotingClassifier из библиотеки sklearn для настройки гиперпараметров. Вы можете найти все здесь: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.VotingClassifier.html

Код

Шаг 1

Сначала давайте загрузим VotingClassifier из sklearn, а затем подгоним модель к предварительно обученным классификаторам: Decision Tree, K-nearest Neighbours, Multi-layer Perceptron, Random Forest и XGBoost. Мы игнорируем параметр «веса», чтобы получить базовую оценку.

Средняя базовая оценка перекрестной проверки составляет 0,9048 (+- 0,0487).

Шаг 2

Давайте используем GridSearchCV, чтобы найти лучшие параметры и лучший результат. Согласно документации sklearn: если для голосования установлено «жесткое», будет использоваться правило голосования большинством. Если мы используем голосование, установленное на «мягкое», будет использоваться argmax сумм предсказанных вероятностей, и этот метод рекомендуется для ансамбля хорошо откалиброванных классификаторов.

Наилучшие параметры: {‘voting’: ‘soft’, ‘weights’: (1, 1, 1, 2, 2).

Средняя настроенная оценка перекрестной проверки составляет 0,9188 (+- 0,0341).

Заключение

В этом блоге рассказывается о том, как оптимизировать ваш ансамбль в Python. VotingCLassifier облегчает процесс настройки гиперпараметров для вашего ансамбля. Средняя настроенная перекрестная проверка показала более высокий средний балл и гораздо меньшее стандартное отклонение, что означает, что ансамбль работает лучше и стабильнее. В sklearn есть еще один аналогичный метод для моделирования линейной регрессии, который называется VotingRegressor. Подробности можно узнать здесь.

Пожалуйста, свяжитесь со мной в LinkedIn.

Связанное Чтение

«Простой средневзвешенный ансамбль | Машинное обучение"