resubPredict

Класс: ClassificationTree

Предскажите метки перезамены дерева классификации

Синтаксис

label = resubPredict(tree)
[label,posterior] = resubPredict(tree)
[label,posterior,node] = resubPredict(tree)
[label,posterior,node,cnum] = resubPredict(tree)
[label,...] = resubPredict(tree,Name,Value)

Описание

label = resubPredict(tree) возвращается, маркирует tree предсказывает для данных tree.XМетка прогнозы tree на данных, что fitctree используемый, чтобы создать tree.

[label,posterior] = resubPredict(tree) возвращает следующие вероятности класса для прогнозов.

[label,posterior,node] = resubPredict(tree) возвращает количества узла tree для повторно подставленных данных.

[label,posterior,node,cnum] = resubPredict(tree) возвращает предсказанные классификационные индексы для прогнозов.

[label,...] = resubPredict(tree,Name,Value) возвращает прогнозы перезамены с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

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

tree

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

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

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

Сокращение уровня, заданного как разделенная запятой пара, состоящая из 'Subtrees' и вектор неотрицательных целых чисел в порядке возрастания или 'all'.

Если вы задаете вектор, то всеми элементами должен быть, по крайней мере, 0 и в большей части max(tree.PruneList). 0 указывает на полное, несокращенное дерево и max(tree.PruneList) указывает на полностью сокращенное дерево (т.е. только корневой узел).

Если вы задаете 'all', затем resubPredict работает со всеми поддеревьями (т.е. целая последовательность сокращения). Эта спецификация эквивалентна использованию 0:max(tree.PruneList).

resubPredict чернослив tree к каждому уровню, обозначенному в Subtrees, и затем оценивает соответствующие выходные аргументы. Размер Subtrees определяет размер некоторых выходных аргументов.

Вызвать Subtrees, свойства PruneList и PruneAlpha из tree mustBeNonempty. Другими словами, вырастите tree установкой 'Prune','on', или путем сокращения tree использование prune.

Пример: 'Subtrees','all'

Типы данных: single | double | char | string

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

label

Ответ tree предсказывает для обучающих данных. label совпадающий тип данных как учебные данные об ответе tree.Y.

Если Subtrees аргумент значения имени содержит m>1 записи, label имеет m столбцы, каждый из которых представляет прогнозы соответствующего поддерева. В противном случае, label вектор.

posterior

Матрица или массив апостериорных вероятностей для классов tree предсказывает.

Если Subtrees аргумент значения имени является скаляром или отсутствует, posterior n- k матрица, где n количество строк в обучающих данных tree.X, и k количество классов.

Если Subtrees содержит m>1 записи, posterior n- k- m массив, где матрица для каждого m дает апостериорные вероятности для соответствующего поддерева.

node

Количества узла tree где каждая строка данных решает.

Если Subtrees аргумент значения имени является скаляром или отсутствует, node числовой вектор-столбец с n строки, одинаковое число строк как tree.X.

Если Subtrees содержит m>1 записи, node n- m матрица. Каждый столбец представляет прогнозы узла соответствующего поддерева.

cnum

Классификационные индексы, что tree предсказывает для повторно подставленных данных.

Если Subtrees аргумент значения имени является скаляром или отсутствует, cnum числовой вектор-столбец с n строки, одинаковое число строк как tree.X.

Если Subtrees содержит m>1 записи, cnum n- m матрица. Каждый столбец представляет прогнозы класса соответствующего поддерева.

Примеры

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

Найдите общее количество misclassifications ирисовых данных Фишера для дерева классификации.

load fisheriris
tree = fitctree(meas,species);
Ypredict = resubPredict(tree);    % The predictions
Ysame = strcmp(Ypredict,species); % True when ==
sum(~Ysame) % How many are different?
ans = 3

Загрузите ирисовый набор данных Фишера. Разделите данные в обучение (50%)

load fisheriris

Вырастите дерево классификации использование всех лепестковых измерений.

Mdl = fitctree(meas(:,3:4),species);
n = size(meas,1); % Sample size
K = numel(Mdl.ClassNames); % Number of classes

Просмотрите дерево классификации.

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

Дерево классификации имеет четыре уровня сокращения. Уровень 0 является полным, несокращенным деревом (как отображено). Уровень 4 является только корневым узлом (т.е. никакие разделения).

Оцените апостериорные вероятности для каждого класса с помощью поддеревьев, сокращенных к уровням 1 и 3.

[~,Posterior] = resubPredict(Mdl,'SubTrees',[1 3]);

Posterior n- K- 2 массива апостериорных вероятностей. Строки Posterior соответствуйте наблюдениям, столбцы соответствуют классам с порядком Mdl.ClassNames, и страницы соответствуют сокращению уровня.

Отобразите апостериорные вероятности класса для ирисовой диафрагмы 125 использований каждого поддерева.

Posterior(125,:,:)
ans = 
ans(:,:,1) =

         0    0.0217    0.9783


ans(:,:,2) =

         0    0.5000    0.5000

Пень решения (страница 2 Posterior) испытывает затруднения при предсказании, является ли ирисовая диафрагма 125 versicolor или virginica.

Больше о

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

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

| | | |