resubPredict

Класс: RegressionTree

Предсказать ответ реституции дерева

Синтаксис

Yfit = resubPredict(tree)
[Yfit,node] = resubPredict(tree)
[Yfit,node] = resubPredict(tree,Name,Value)

Описание

Yfit = resubPredict(tree) возвращает ответы tree предсказывает для tree.X данных. Yfit является предсказаниями tree на данных, которые fitrtree используется для создания tree.

[Yfit,node] = resubPredict(tree) возвращает номера узлов tree для перезамещенных данных.

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

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

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

tree

Регрессионное дерево, построенное с использованием fitrtree.

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

Задайте необязательные разделенные разделенными запятой парами 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

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

Yfit

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

Если на Subtrees аргумент имя-значение является скаляром или отсутствует, label является совпадающим типом данных, что и обучающие данные отклика tree.Y.

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

node

The tree номера узлов, где tree отправляет каждую строку данных.

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

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

Примеры

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

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

load carsmall
X = [Displacement Horsepower Weight];

Вырастите дерево регрессии, используя все наблюдения.

Mdl = fitrtree(X,MPG);

Вычислите MSE восстановления.

Yfit = resubPredict(Mdl);
mean((Yfit - Mdl.Y).^2)
ans = 4.8952

Вы можете получить тот же результат, используя resubLoss.

resubLoss(Mdl)
ans = 4.8952

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

load carsmall
idxNaN = isnan(MPG + Weight);
X = Weight(~idxNaN);
Y = MPG(~idxNaN);
n = numel(X);

Вырастите дерево регрессии, используя все наблюдения.

Mdl = fitrtree(X,Y);

Вычислите значения подстрок для реституции на нескольких уровнях обрезки.

m = max(Mdl.PruneList);
pruneLevels = 1:4:m; % Pruning levels to consider
z = numel(pruneLevels);
Yfit = resubPredict(Mdl,'SubTrees',pruneLevels);

Yfit является n-by- z матрица подобранных значений, в которой строки соответствуют наблюдениям, а столбцы соответствуют поддереву.

Постройте график нескольких столбцов Yfit и Y против X.

figure;
sortDat = sortrows([X Y Yfit],1); % Sort all data with respect to X
plot(repmat(sortDat(:,1),1,size(Yfit,2) + 1),sortDat(:,2:end))...
    % Vectorize for efficiency
lev = cellstr(num2str((pruneLevels)','Level %d MPG'));
legend(['Observed MPG'; lev])
title 'In-Sample Fitted Responses'
xlabel 'Weight (lbs)';
ylabel 'MPG';
h = findobj(gcf);
set(h(4:end),'LineWidth',3) % Widen all lines

Figure contains an axes. The axes with title In-Sample Fitted Responses contains 5 objects of type line. These objects represent Observed MPG, Level 1 MPG, Level 5 MPG, Level 9 MPG, Level 13 MPG.

Значения Yfit для более низких уровней обрезки, как правило, следует данным более пристально, чем более высокие уровни. Более высокие уровни обрезки, как правило, плоские для больших X интервалы.

См. также

| |