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. label является прогнозами 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 должны быть непустыми. Другими словами, вырастите 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-by-k матрица, где n является количеством строк в данных тренировки tree.X, и k является количеством классов.

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

node

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

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

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

cnum

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

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

Если Subtrees содержит m> записи 1, cnum является n-by-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 является K n 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.

Больше о

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

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

| | | |