Рост деревьев решений

По умолчанию fitctree и fitrtree используют алгоритм standard CART [1], чтобы создать деревья решений. Таким образом, они выполняют следующие шаги:

  1. Запустите со всех входных данных и исследуйте все возможные бинарные разделения на каждом предикторе.

  2. Выберите разделение с лучшим критерием оптимизации.

    • Разделение может привести к дочернему узлу, имеющему слишком мало наблюдений (меньше, чем параметр MinLeafSize). Чтобы избежать этого, программное обеспечение выбирает разделение, которое приводит к лучшему критерию оптимизации, подвергающемуся ограничению MinLeafSize.

  3. Наложите разделение.

  4. Повторитесь рекурсивно для двух дочерних узлов.

Объяснение требует еще двух элементов: описание критерия оптимизации и останавливающий правило.

Остановка правила: Прекратите разделять, когда любое следующее будет содержать:

  • Узлом является pure.

    • Для классификации узел чист, если это содержит только наблюдения за одним классом.

    • Для регрессии узел чист, если среднеквадратическая ошибка (MSE) для наблюдаемого ответа в этом узле опускается ниже MSE для наблюдаемого ответа в целых данных, умноженных на допуск при квадратичной ошибке на узел (параметр QuadraticErrorTolerance).

  • Существуют меньше, чем наблюдения MinParentSize в этом узле.

  • Любое разделение, наложенное на этот узел, производит дочерние элементы с меньше, чем наблюдения MinLeafSize.

  • Алгоритм разделяет узлы MaxNumSplits.

Критерий оптимизации:

  • Регрессия: среднеквадратическая ошибка (MSE). Выберите разделение, чтобы минимизировать MSE прогнозов по сравнению с данными тренировки.

  • Классификация: Одна из трех мер, в зависимости от установки пары "имя-значение" SplitCriterion:

    • 'gdi' (индекс разнообразия Джини, значение по умолчанию)

    • 'twoing'

    • 'deviance'

    Для получения дополнительной информации смотрите ClassificationTree Определения.

Для альтернативных методов выбора предиктора разделения смотрите, Выбирают Split Predictor Selection Technique.

Для непрерывного предиктора дерево может разделить на полпути между любыми двумя смежными уникальными значениями, найденными для этого предиктора. Для категориального предиктора с уровнями L дерево классификации должно полагать, что разделения 2L–1–1 находят оптимальное разделение. Также можно выбрать эвристический алгоритм, чтобы найти хорошее разделение, как описано в Разделении Категориальных Предикторов в Деревьях Классификации.

Для двухъядерных систем и выше, fitctree и fitrtree параллелизируют учебные деревья решений с помощью Intel® Threading Building Blocks (TBB). Для получения дополнительной информации на Intel TBB, см. https://software.intel.com/en-us/intel-tbb.

Ссылки

[1] Бреимен, L., Дж. Х. Фридман, Р. А. Олшен и К. Дж. Стоун. Классификация и деревья регрессии. Бока-Ратон, FL: Chapman & Hall, 1984.

Смотрите также

| | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте