kfoldLoss

Потеря перекрестной проверки разделенной модели регрессии

Синтаксис

L = kfoldLoss(cvmodel)
L = kfoldLoss(cvmodel,Name,Value)

Описание

L = kfoldLoss(cvmodel) возвращает потерю перекрестной проверки cvmodel.

L = kfoldLoss(cvmodel,Name,Value) возвращает потерю перекрестной проверки с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,…,NameN,ValueN.

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

cvmodel

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

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'folds'

Индексы сгибов в пределах от 1 к obj.KFold. Используйте только эти сгибы в предсказаниях.

Значение по умолчанию: 1:obj.KFold

'lossfun'

Указатель на функцию для функции потерь или 'mse', значение среднеквадратической ошибки. Если вы передаете указатель на функцию fun, kfoldLoss вызовы это как

fun(Y,Yfit,W)

где Y, Yfit, и W числовые векторы той же длины.

  • Y наблюдаемый ответ.

  • Yfit предсказанный ответ.

  • W веса наблюдения.

Возвращенное значение fun(Y,Yfit,W) должен быть скаляр.

Значение по умолчанию: 'mse'

'mode'

Одно из следующего:

  • 'average' L средняя потеря по всем сгибам.

  • 'individual' L вектор отдельных потерь, окутывают наблюдения, обученные на данных из сгиба.

Значение по умолчанию: 'average'

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

L

Потеря (среднеквадратическая ошибка) между наблюдениями в сгибе, когда сравнено с предсказаниями, сделанными с деревом, обученным на данных из сгиба. Если mode 'individual'L вектор потерь. Если mode 'average'L средняя потеря.

Примеры

Создайте разделенную модель регрессии и исследуйте потери перекрестной проверки на сгибы:

load carsmall
XX = [Cylinders Displacement Horsepower Weight];
YY = MPG;
cvmodel = fitrtree(XX,YY,'crossval','on');
L = kfoldLoss(cvmodel,'mode','individual')

L =
   44.9635
   11.8525
   18.2046
    9.2965
   29.4329
   54.8659
   24.6446
    8.2085
   19.7593
   16.7394

Альтернативы

Можно постараться не создавать перекрестную подтвержденную древовидную модель путем вызова cvloss вместо kfoldLoss. Перекрестное подтвержденное дерево может сэкономить время, если вы собираетесь исследовать его несколько раз.

Смотрите также

| |