Ошибка регрессии
возвращает среднеквадратическую ошибку между предсказаниями L = loss(tree,Tbl,ResponseVarName)tree к данным в Tbl, по сравнению с истинными ответами Tbl.ResponseVarName.
вычисляет ошибку в предсказании с дополнительными опциями, заданными одним или несколькими L = loss(___,Name,Value)Name,Value парные аргументы, с помощью любого из предыдущих синтаксисов.
tree — Обученное дерево регрессииRegressionTree возразите | CompactRegressionTree объектОбученное дерево регрессии в виде RegressionTree объект, созданный fitrtree или CompactRegressionTree объект создается compact.
Tbl — выборочные данныеВыборочные данные в виде таблицы. Каждая строка Tbl соответствует одному наблюдению, и каждый столбец соответствует одному переменному предиктору. Tbl должен содержать все предикторы, используемые, чтобы обучить tree. Опционально, Tbl может содержать дополнительные столбцы для весов наблюдения и переменной отклика. Многостолбцовые переменные и массивы ячеек кроме массивов ячеек из символьных векторов не позволены.
Если Tbl содержит переменную отклика, используемую, чтобы обучить tree, затем вы не должны задавать ResponseVarName или Y.
Если вы обучили tree использование выборочных данных содержится в table, затем входные данные для этого метода должны также быть в таблице.
Типы данных: table
X — Значения предиктораЗначения предиктора в виде числовой матрицы. Каждый столбец X представляет одну переменную, и каждая строка представляет одно наблюдение.
X должен иметь одинаковое число столбцов, когда данные раньше обучали treeX должен иметь одинаковое число строк как число элементов в Y.
Типы данных: single | double
ResponseVarName — Имя переменной откликаTblИмя переменной отклика в виде имени переменной в Tbl. Если Tbl содержит переменную отклика, используемую, чтобы обучить tree, затем вы не должны задавать ResponseVarName.
Если вы задаете ResponseVarName, затем необходимо сделать так как вектор символов или строковый скаляр. Например, если переменная отклика хранится как Tbl.Response, затем задайте его как 'Response'. В противном случае программное обеспечение обрабатывает все столбцы Tbl, включая Tbl.ResponseVarName, как предикторы.
Типы данных: char | string
Y — Данные об ответеДанные об ответе в виде числового вектор-столбца с одинаковым числом строк как X. Каждая запись в Y ответ на данные в соответствующей строке X.
Типы данных: single | double
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
LossFun — Функция потерь'mse' (значение по умолчанию) | указатель на функциюФункция потерь в виде разделенной запятой пары, состоящей из 'LossFun' и указатель на функцию за потерю или 'mse' представление среднеквадратической ошибки. Если вы передаете указатель на функцию fun, loss вызовы fun как:
fun(Y,Yfit,W)
Y вектор из наблюдаемых ответов.
Yfit вектор из предсказанных ответов.
W веса наблюдения. Если вы передаете W, элементы нормированы, чтобы суммировать к 1.
Все векторы имеют одинаковое число строк как Y.
Пример: 'LossFun','mse'
Типы данных: function_handle | char | string
Subtrees — Сокращение уровня'all'Сокращение уровня в виде разделенной запятой пары, состоящей из 'Subtrees' и вектор из неотрицательных целых чисел в порядке возрастания или 'all'.
Если вы задаете вектор, то всеми элементами должен быть, по крайней мере, 0 и в большей части max(tree.PruneList). 0 указывает на полное, несокращенное дерево и max(tree.PruneList) указывает на полностью сокращенное дерево (i.e., только корневой узел).
Если вы задаете 'all'то loss работает со всеми поддеревьями (т.е. целая последовательность сокращения). Эта спецификация эквивалентна использованию 0:max(tree.PruneList).
loss чернослив tree к каждому уровню, обозначенному в Subtrees, и затем оценивает соответствующие выходные аргументы. Размер Subtrees определяет размер некоторых выходных аргументов.
Вызвать Subtrees, свойства PruneList и PruneAlpha из tree mustBeNonempty. Другими словами, вырастите tree установкой 'Prune','on', или путем сокращения tree использование prune.
Пример: 'Subtrees','all'
Типы данных: single | double | char | string
TreeSize — Древовидный размер'se' (значение по умолчанию) | 'min'Древовидный размер в виде разделенной запятой пары, состоящей из 'TreeSize' и одно из следующего:
'se' — loss возвращает bestlevel это соответствует самому маленькому дереву, среднеквадратическая ошибка (MSE) которого в одной стандартной погрешности минимального MSE.
'min' — loss возвращает bestlevel это соответствует минимальному дереву MSE.
Пример: 'TreeSize','min'
Weights — Веса наблюденияones(size(X,1),1) (значение по умолчанию) | вектор из скалярных значений | имя переменной в TblВеса наблюдения в виде разделенной запятой пары, состоящей из 'Weights' и вектор из скалярных значений. Программное обеспечение взвешивает наблюдения в каждой строке X или Tbl с соответствующим значением в Weights. Размер Weights должен равняться количеству строк в X или Tbl.
Если вы задаете входные данные как таблицу Tbl, затем Weights может быть имя переменной в Tbl это содержит числовой вектор. В этом случае необходимо задать Weights как имя переменной. Например, если вектор весов W хранится как Tbl.W, затем задайте Weights как 'W'. В противном случае программное обеспечение обрабатывает все столбцы Tbl, включая W, как предикторы, когда обучение модель.
Типы данных: single | double | char | string
L — Ошибка классификацииОшибка классификации, возвращенная как вектор длина Subtrees. Ошибка для каждого дерева является среднеквадратической ошибкой, взвешенной с Weights. Если вы включаете LossFunL отражает потерю, вычисленную с LossFun.
se — Стандартная погрешность потериСтандартная погрешность потери, возвращенной как вектор длина Subtrees.
NLeaf — Количество вершинКоличество листов (терминальные узлы) в сокращенных поддеревьях, возвращенных как вектор длина Subtrees.
bestlevel — Лучше всего сокращение уровняЛучше всего сокращая уровень, как задано в TreeSize пара "имя-значение", возвращенная как скаляр, значение которого зависит от TreeSize:
TreeSize = 'se' — loss возвращает самый высокий уровень сокращения с потерей в одном стандартном отклонении минимума (L+se, где L и se относитесь к наименьшему значению в Subtrees).
TreeSize = 'min' — loss возвращает элемент Subtrees с самой маленькой потерей, обычно самый маленький элемент Subtrees.
Загрузите carsmall набор данных. Рассмотрите Displacement, Horsepower, и Weight как предикторы ответа MPG.
load carsmall
X = [Displacement Horsepower Weight];Вырастите дерево регрессии, использующее все наблюдения.
tree = fitrtree(X,MPG);
Оцените MSE в выборке.
L = loss(tree,X,MPG)
L = 4.8952
Загрузите carsmall набор данных. Рассмотрите Displacement, Horsepower, и Weight как предикторы ответа MPG.
load carsmall
X = [Displacement Horsepower Weight];Вырастите дерево регрессии, использующее все наблюдения.
Mdl = fitrtree(X,MPG);
Просмотрите дерево регрессии.
view(Mdl,'Mode','graph');

Найдите лучший уровень сокращения, который дает к оптимальной потере в выборке.
[L,se,NLeaf,bestLevel] = loss(Mdl,X,MPG,'Subtrees','all'); bestLevel
bestLevel = 1
Лучший уровень сокращения является уровнем 1.
Сократите дерево к уровню 1.
pruneMdl = prune(Mdl,'Level',bestLevel); view(pruneMdl,'Mode','graph');

Несокращенные деревья решений имеют тенденцию сверхсоответствовать. Один способ сбалансировать сложность модели и эффективность из выборки состоит в том, чтобы сократить дерево (или ограничить его рост) так, чтобы эффективность из выборки и в выборке была удовлетворительной.
Загрузите carsmall набор данных. Рассмотрите Displacement, Horsepower, и Weight как предикторы ответа MPG.
load carsmall
X = [Displacement Horsepower Weight];
Y = MPG;Разделите данные в обучение (50%) и валидацию (50%-е) наборы.
n = size(X,1); rng(1) % For reproducibility idxTrn = false(n,1); idxTrn(randsample(n,round(0.5*n))) = true; % Training set logical indices idxVal = idxTrn == false; % Validation set logical indices
Вырастите дерево регрессии использование набора обучающих данных.
Mdl = fitrtree(X(idxTrn,:),Y(idxTrn));
Просмотрите дерево регрессии.
view(Mdl,'Mode','graph');

Дерево регрессии имеет семь уровней сокращения. Уровень 0 является полным, несокращенным деревом (как отображено). Уровень 7 является только корневым узлом (i.e., никакие разделения).
Исследуйте обучающую выборку MSE на каждое поддерево (или уровень сокращения), исключая высший уровень.
m = max(Mdl.PruneList) - 1;
trnLoss = resubLoss(Mdl,'SubTrees',0:m)trnLoss = 7×1
5.9789
6.2768
6.8316
7.5209
8.3951
10.7452
14.8445
MSE для полного, несокращенного дерева является приблизительно 6 модулями.
MSE для дерева, сокращенного к уровню 1, является приблизительно 6,3 модулями.
MSE для дерева, сокращенного к уровню 6 (i.e., пень), приблизительно 14,8 модулей.
Исследуйте выборку валидации MSE на каждом уровне, исключая высший уровень.
valLoss = loss(Mdl,X(idxVal,:),Y(idxVal),'SubTrees',0:m)valLoss = 7×1
32.1205
31.5035
32.0541
30.8183
26.3535
30.0137
38.4695
MSE для полного, несокращенного дерева (уровень 0) является приблизительно 32,1 модулями.
MSE для дерева, сокращенного к уровню 4, является приблизительно 26,4 модулями.
MSE для дерева, сокращенного к уровню 5, является приблизительно 30,0 модулями.
MSE для дерева, сокращенного к уровню 6 (i.e., пень), приблизительно 38,5 модулей.
Чтобы сбалансировать сложность модели и эффективность из выборки, считайте сокращение Mdl к уровню 4.
pruneMdl = prune(Mdl,'Level',4); view(pruneMdl,'Mode','graph')

Среднеквадратическая ошибка m предсказаний f (Xn) с вектором веса w
Указания и ограничения по применению:
Только один выход поддерживается.
Можно использовать модели, обученные или на или на высоких данных в оперативной памяти с этой функцией.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
loss выполняется на графическом процессоре в этих случаях:
Или или оба из входных параметров X и Y массивы графического процессора.
Входной параметр Tbl содержит gpuArray переменные.
Входной параметр mdl было оснащено входными параметрами графического процессора массивов.
Если модель дерева регрессии была обучена с суррогатными разделениями, эти ограничения применяются:
Вы не можете задать ни один из входных параметров X и Y как gpuArray объект.
Вы не можете задать входной параметр Tbl как таблица, содержащая gpuArray элементы.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.