prune

Класс: RegressionTree

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

Синтаксис

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

Описание

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

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

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

tree

Дерево регрессии, созданное с fitrtree.

Аргументы name-value

Дополнительная разделенная запятой пара Name,Value аргументы, где Name имя аргумента и Value соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать только один аргумент пары "имя-значение".

Alpha

Числовой скаляр от 0 (никакое сокращение) к 1 (сократите к одному узлу). Чернослив, чтобы минимизировать сумму (Alpha времена количество вершин) и стоимость (среднеквадратическая ошибка).

Level

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

Nodes

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

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

tree1

Дерево регрессии.

Примеры

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

Загрузите carsmall набор данных. Рассмотрите Horsepower и Weight как переменные предикторы.

load carsmall;
X = [Weight Horsepower];
varNames = {'Weight' 'Horsepower'};

Вырастите дерево регрессии использование целого набора данных. Просмотрите дерево.

Mdl = fitrtree(X,MPG,'PredictorNames',varNames)
Mdl = 
  RegressionTree
           PredictorNames: {'Weight'  'Horsepower'}
             ResponseName: 'Y'
    CategoricalPredictors: []
        ResponseTransform: 'none'
          NumObservations: 94


  Properties, Methods

view(Mdl,'Mode','graph');

Figure Regression tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 60 objects of type line, text.

Дерево регрессии имеет 16 уровней сокращения.

Сократите дерево регрессии к уровню сокращения 10. Просмотрите сокращенное дерево.

MdlPruned = prune(Mdl,'Level',10);
view(MdlPruned,'Mode','graph');

Figure Regression tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 24 objects of type line, text.

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

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

Советы

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

Расширенные возможности

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