чернослив

Класс: ClassificationTree

Произведите последовательность поддеревьев путем сокращения

Синтаксис

tree1 = prune(tree)
tree1 = prune(tree,Name,Value)

Описание

tree1 = prune(tree) создает копию дерева классификации tree с его оптимальной заполненной последовательностью сокращения.

tree1 = prune(tree,Name,Value) создает сокращенное дерево с дополнительными опциями, заданными одним аргументом пары Name,Value. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,…,NameN,ValueN.

Входные параметры

tree

Дерево классификации создается с fitctree.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'Alpha'

Числовой скаляр. prune сокращает tree к заданному значению стоимости сокращения.

'Level'

Числовой скаляр от 0 (никакое сокращение) к самому большому уровню сокращения этого древовидного max(tree.PruneList). prune возвращает дерево, сокращенное в этот уровень.

'Nodes'

Числовой вектор с элементами от 1 до tree.NumNodes. Любые узлы ответвления tree, перечисленные в nodes, становятся вершинами в tree1, если их родительские узлы также не сокращены.

Выходные аргументы

tree1

Дерево классификации.

Примеры

развернуть все

Создайте и отобразите полное дерево классификации для ирисовых данных Фишера.

load fisheriris;
varnames = {'SL','SW','PL','PW'};
t1 = fitctree(meas,species,'MinParentSize',5,'PredictorNames',varnames);
view(t1,'Mode','graph');

Создайте и отобразите следующее самое большое дерево от оптимальной последовательности сокращения.

t2 = prune(t1,'Level',1);
view(t2,'Mode','graph');

Советы

  • tree1 = prune(tree) возвращает дерево решений tree1, который является полным, несокращенным tree, но с оптимальной добавленной информацией о сокращении. Это полезно, только если вы создали tree путем сокращения другого дерева, или при помощи функции fitctree с сокращением набора 'off'. Если вы планируете сократить дерево многократно вдоль оптимальной последовательности сокращения, более эффективно создать оптимальную последовательность сокращения сначала.

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