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

По умолчанию, 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.

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

| | |

Похожие темы