подвыборка, colsample_bytree, colsample_bylevel в XGBClassifier () Python 3.x - PullRequest
0 голосов
/ 25 июня 2018

Я потратил много времени, пытаясь выяснить, что эти «подвыборки», «colsample_by_tree» и «colsample_bylevel» на самом деле делали в XGBClassifier (), но я не могу точно выяснить, что они делают.Может кто-нибудь объяснить вкратце, что они делают?

Спасибо!

1 Ответ

0 голосов
/ 20 июня 2019

Идея «subsample», «colsample_by_tree» и «colsample_bylevel» происходит из случайных лесов.В нем вы строите множество деревьев, а затем группируете их, когда делаете прогноз.

«Случайная» часть происходит путем случайной выборки обучающих выборок для каждого дерева (начальной загрузки) и построения каждого дерева (фактически узла каждого дерева) только с учетом случайного подмножества атрибутов.

Другими словами, для каждого дерева в случайном лесу вы:

  1. Выберите случайную выборку из набора данных для обучения этого дерева;
  2. Для каждого узла этого дерева используйтеслучайное подмножество функций.Это позволяет избежать переоснащения и декоррелировать деревья.

Подобно случайным лесам, XGB представляет собой ансамбль слабых моделей, которые при объединении дают надежные и точные результаты.Слабыми моделями могут быть деревья решений, которые можно рандомизировать так же, как случайные леса.В этом случае:

  • «подвыборка» - это часть обучающих выборок (выбранных случайным образом), которые будут использоваться для обучения каждого дерева.
  • «colsample_by_tree» - это доля функций(выбранный случайным образом), который будет использоваться для обучения каждого дерева.
  • "colsample_bylevel" - это часть функций (выбранных случайным образом), которые будут использоваться в каждом узле для обучения каждого дерева.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...