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 - имя аргумента и 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 матрица. Каждый столбец представляет предсказания классов соответствующего поддерева.

Примеры

расширить все

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

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');

Figure Classification tree viewer contains an axes and other objects of type uimenu, uicontrol. The axes contains 18 objects of type line, text.

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

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

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

Posterior является n-by- K-by - 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 версиколором или виргиникой.

Подробнее о

расширить все

Для просмотра документации необходимо авторизоваться на сайте