Что происходит в Extreme Gradient Boosting — как это повышает производительность
XGBoost — это ансамблевое машинное обучение на основе дерева решений, в котором используется повышающая структура.
Мы объяснили дерево решений и технику CART в статье. Прочтите его, чтобы понять, как дерево решений определяет способы разделения функций — Нажмите здесь
Что такое бустинг?
- При бустинге каждая модель строится на последовательности.
- На основе обучающего набора данных оба метода создают n классификаторов (случайных новых наборов данных).
- Означает, что модель 1 строится на основе набора данных 1. Затем модель 2 строится на основе модели 1 (предыдущий успех классификатора — на основе весов), но использует набор данных 2. Это минимизирует ошибки предыдущих моделей и увеличивает влияние высокопроизводительных моделей.
- Осторожно, это увеличивает переоснащение.
- Повышение использует определенные веса для следующего этапа классификации.
Эволюция дерева решений:
XGBoost работает с параллельной обработкой. Например, есть два цикла: один внутренний цикл и второй внешний цикл. Теперь, если внешний цикл создает листовые узлы один за другим. И внутренний цикл вычисляет признаки. Теперь, пока не завершится внутренний цикл, нельзя запустить внешний цикл. И, следовательно, это ограничение устраняется за счет распараллеливания в XGBoost, где для улучшения времени выполнения порядок циклов взаимозаменяем. Этот переключатель улучшает производительность алгоритма.
Как и в случае с CART, мы также устанавливаем критерии обрезки дерева с помощью параметра max_depth.
XGBoost заботится о следующих улучшениях встроенного алгоритма:
- Регуляризация для преодоления переобучения с помощью L1 Lassos и L2 Ridge.
- Разреженные функции допускают, например, пропущенные значения, нулевые значения, горячее кодирование, естественно.
- Эскиз Weightage Quintile для эффективного поиска оптимального разделения в базе данных.
- Встроенная перекрестная проверка
Шесть простых шагов для создания модели XGBoost в R:
Шаг 1. Установите библиотеки, xgboost, margrittr, Matrix
Шаг 2. Создайте матрицу для обучающих и тестовых наборов данных с помощью функции xgb.DMatrix().
Шаг 3. Задайте параметры для параметров и списка наблюдения.
Шаг 4. Создайте модель с помощью функции xgb.train()
Шаг 5. Используйте функцию xgb.importance() для анализа функций
Шаг 6. Сделайте прогноз с помощью функции predict().
Для практического применения и того, как применить XGBoost в тематическом исследовании прогнозирования водитель автомобиля принимает / отклоняет предложение — Нажмите здесь