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- 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