kfoldfun

Крест подтверждает функцию

Синтаксис

vals = kfoldfun(obj,fun)

Описание

vals = kfoldfun(obj,fun) крест подтверждает функциональный fun путем применения fun к данным, хранимым в перекрестной подтвержденной модели obj. Необходимо передать fun как указатель на функцию.

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

obj

Объект класса RegressionPartitionedModel или RegressionPartitionedEnsemble. Создайте obj с fitrtree или fitrensemble наряду с одной из опций перекрестной проверки: 'CrossVal', 'KFold', 'Holdout', 'Leaveout' или 'CVPartition'. Также создайте obj из дерева регрессии или ансамбля регрессии с crossval.

fun

Указатель на функцию для функции перекрестной проверки. fun имеет синтаксис

testvals = fun(CMP,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)
  • CMP является компактной моделью, сохраненной в одном элементе свойства obj .Trained.

  • Xtrain является учебной матрицей значений предиктора.

  • Ytrain является учебным массивом значений ответа.

  • Wtrain является учебными весами для наблюдений.

  • Xtest и Ytest являются тестовыми данными со связанными весами Wtest.

  • Возвращенное значение testvals должно иметь тот же размер через все сгибы.

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

vals

Массивы testvals вывод, конкатенированный вертикально по всем сгибам. Например, если testvals от каждого сгиба является числовым вектором длины N, kfoldfun возвращает KFold-by-N числовая матрица с одной строкой на сгиб.

Примеры

Крест подтверждает дерево регрессии и получает среднеквадратическую ошибку (см. kfoldLoss):

load imports-85
t = fitrtree(X(:,[4 5]),X(:,16),...
    'predictornames',{'length' 'width'},...
    'responsename','price');
cv = crossval(t);
L = kfoldLoss(cv)

L =
  1.5489e+007

Исследуйте результат простого усреднения ответов вместо того, чтобы использовать прогнозы:

f = @(cmp,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)...
    mean((Ytest-mean(Ytrain)).^2)
mean(kfoldfun(cv,f))

ans =
  6.3497e+007