Привет, Кэролайн Мендонса Коста!

С Random Forests вам не нужно явно разделять набор данных на обучение и тестирование. Если вы хотите это сделать, вы все равно можете запустить метод оценка на этом наборе задержек и получить среднюю точность модели после обучения.

Кажется, что Random Forests использует весь набор данных для обучения и тестирования, но на практике он создает резервный набор данных для каждого дерева.

Вот пример:

Допустим, ваш набор данных [1,2,3,4,5,6,7,8,9,10] и вы хотите запустить модель случайных лесов с 4 деревьями, каждое из которых имеет 4 точки данных.

В начальной части алгоритма 4 выборочных набора данных с 4 элементами создаются путем случайной выборки с заменой из исходного набора данных.
Эти наборы данных используются для обучения деревьев:

  • Набор поездов для Дерева 1: [5, 3, 1, 7],
  • Набор поездов для Дерева 2: [10, 8, 4, 3],
  • Набор поездов для Дерева 3: [4, 7, 9, 1],
  • Набор поездов для Дерева 4: [6, 8, 3, 6]

Каждое дерево обучается только на подмножестве исходного набора данных. Неявно существуют точки данных, которые каждое из этих деревьев «никогда раньше не видел», потому что они не были «выбраны» для обучения дерева. Так же, как в типичном наборе удержания.

Точки данных, не используемые для построения дерева, называются наблюдениями Out-of-Bag.

Например, это наблюдения Out-of-Bag для каждого из деревьев, упомянутых выше:

  • Дерево 1: [2, 4, 6, 8, 9, 10],
  • Дерево 2: [1, 2, 5, 6, 7, 9],
  • Дерево 3: [2, 3, 5, 6, 8, 10],
  • Дерево 4: [1, 2, 4, 5, 7, 9, 10]

Когда дело доходит до этапа оценки модели, ошибка «вне пакета» рассчитывается для каждого дерева с использованием наблюдений «вне пакета», данных указывает, что дерево «никогда раньше не видело», и усредняется по всем деревьям.

Спасибо, что спросили 🙂