Введение
В предыдущем блоге «Простой средневзвешенный ансамбль | Машинное обучение», я рассказал о том, как реализовать средневзвешенный ансамбль из нескольких классификаторов, чтобы получить различную информацию о данных и повысить производительность вашей модели. В этом блоге я сделаю еще один шаг, чтобы продемонстрировать, как выполнить настройку гиперпараметров вашего ансамбля в 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.
Связанное Чтение
«Простой средневзвешенный ансамбль | Машинное обучение"