Я пытаюсь понять, как работает XGBoost. Я уже понимаю, как деревья с градиентным ускорением работают на Python sklearn. Что мне не ясно, так это то, работает ли XGBoost таким же образом, но быстрее, или если между ним и реализацией python есть фундаментальные различия.
Когда я читаю эту статью
http://learningsys.org/papers/LearningSys_2015_paper_32.pdf
Мне кажется, что конечный результат выхода XGboost такой же, как и в реализации Python, однако основное отличие заключается в том, как XGboost находит наилучшее разделение для каждого дерева регрессии.
По сути, XGBoost дает тот же результат, но он быстрее.
Это правильно, или что-то еще мне не хватает?
источник
n_jobs
доступного параметра интерфейса; параллельная обработка невозможна из-за реализации алгоритма sklearn.В отличие от повышения градиента в Sklearn, Xgboost также выполняет регуляризацию дерева, чтобы избежать переобучения, а также эффективно обрабатывает пропущенные значения. Следующая ссылка может быть полезна для изучения xgboost точно https://www.youtube.com/watch?v=Vly8xGnNiWs
источник
XGboost - это реализация GBDT с рандомизацией (он использует выборку по столбцам и выборку по строкам). Выборка по строкам возможна, если не использовать все обучающие данные для каждой базовой модели GBDT. Вместо того чтобы использовать все обучающие данные для каждой базовой модели, мы выбираем подмножество строк и используем только эти строки данных для построения каждой из базовых моделей. Это обеспечивает меньшую вероятность переоснащения, что является основной проблемой простого GBDT, который XGBoost пытается решить с помощью этой рандомизации.
источник