Поделиться через


Компонент «Многоклассовый лес принятия решений»

В этой статье описывается компонент в конструкторе Машинного обучения Azure.

Он используется для создания модели машинного обучения на основе алгоритма лес принятия решений. Лес принятия решений — это коллективная модель, которая быстро создает ряд деревьев принятия решений при обучении с использованием данных с тегами.

Дополнительные сведения о лесах принятия решений

Алгоритм леса принятия решений представляет собой метод коллективного обучения, предназначенный для классификации. Он работает путем создания нескольких деревьев принятия решений и голосования за наиболее популярный класс выходных данных. Голосование является формой агрегирования, в которой каждое дерево в лесу решения классификации выводит гистограмму меток ненормализованной частоты. Процесс агрегирования обобщает эти гистограммы и нормализует результат, чтобы получить "вероятность" для каждой метки. Деревья с высокой достоверностью прогноза имеют больший вес при принятии окончательного коллективного решения.

В целом деревья принятия решений являются непараметрическими моделями, что означает, , что они поддерживают данные с различными распределениями. В каждом дереве выполняется последовательность простых тестов для каждого класса, увеличивая уровни структуры дерева до достижения конечного узла (решения).

Деревья принятия решений имеют множество преимуществ:

  • Они могут представлять нелинейные границы принятия решений.
  • Они эффективны в вычислениях и использовании памяти во время обучения и прогнозирования.
  • Они выполняют интегрированный выбор компонентов и классификацию.
  • Они устойчивы в присутствии шумных признаков.

Классификатор леса решений в Машинном обучении Azure состоит из совокупности деревьев принятия решений. Как правило, модели ансамбля обеспечивают лучшее покрытие и точность, чем одно дерево принятия решений. Дополнительную информацию см. в разделе Деревья принятия решений.

Настройка Многоклассового леса принятия решений

  1. Добавьте компонент Многоклассовый лес принятия решений в конвейер в конструкторе. Этот компонент доступен в разделах Машинное обучение, Инициализация модели и Классификация.

  2. Дважды щелкните компонент, чтобы открыть панель Свойства.

  3. В качестве метода повторной выборки выберите метод, используемый для создания отдельных деревьев. Вы можете выбрать один из тегов или репликации.

    • Бэггинг: также называется агрегированием начальной загрузки. В рамках этого метода каждое дерево создается на основе новой выборки, получаемой случайным образом из исходного набора данных с постепенной заменой до тех пор, пока размер набора данных не достигнет исходного. Выходные данные моделей объединяются функцией голосования, которая является разновидностью агрегирования. Дополнительные сведения см. в статье Википедии о бутстрэп-агрегировании.

    • Репликация: при репликации каждое дерево обучается на идентичных входных данных. Предикат разбиения, используемый для каждого узла дерева, определяется случайным образом, создавая различные деревья.

  4. Укажите, как вы хотите обучать модель, выбрав значение Create trainer mode (Создать режим учителя).

    • Одиночный параметр: выберите этот вариант, если вы знаете, как хотите настроить модель, и предоставьте набор значений в качестве аргументов.

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

  5. Число деревьев принятия решений: введите максимальное число деревьев, которые могут быть созданы в совокупности. Создавая больше деревьев принятия решений, можно расширить покрытие, но время на обучение при этом может увеличится.

    Однако если задать значение 1, то можно будет создать только одно дерево (дерево с начальным набором параметров) и дальнейшие итерации не выполняются.

  6. Максимальная глубина деревьев принятия решений: введите число, ограничивающее максимальную глубину дерева принятия решений. Увеличение глубины дерева может увеличить точность, рискуя перенарядкой и увеличением времени обучения.

  7. Число случайных разбиений на узел: введите число разбиений, которое будет использоваться при построении каждого узла дерева. Разбиение означает, что признаки на каждом уровне дерева (узле) распределяются случайным образом.

  8. Минимальное число выборок для конечного узла: укажите минимальное число вариантов, необходимых для создания любого терминального узла (листа) в дереве. Увеличив это значение, вы увеличиваете пороговое значение для создания новых правил.

    Например, при значении по умолчанию 1 даже один случай может привести к созданию нового правила. Если увеличить значение до 5, данные обучения должны содержать по крайней мере пять случаев, которые соответствуют тем же условиям.

  9. Подключите размеченный набор данных и обучите модель:

    • Если для параметра Создать режим учителя задано значение Одиночный параметр, подключите отмеченный набор данных и компонент Обучение модели.

    • Если для параметра Create trainer mode выбран вариант Parameter Range, подключите набор помеченных данных и обучите модель с помощью модуля Настройка гиперпараметров модели.

    Примечание.

    При передаче диапазона параметров в модуль Обучение модели используется только значение по умолчанию в списке с одиночным параметром.

    Если передать в компонент Настройка гиперпараметров модели один набор значений параметров, когда он ожидает диапазон настроек для каждого параметра, он проигнорирует эти значения и использует значения по умолчанию для средства обучения.

    Если выбран вариант Parameter Range (Диапазон параметров) и указано одно значение для любого параметра, это единственное заданное значение будет использоваться во время очистки, даже если другие параметры меняются в диапазоне значений.

  10. Отправьте конвейер.

Следующие шаги

Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.