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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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. Перекрестное подтвержденное дерево может сэкономить время, если вы собираетесь исследовать его несколько раз.

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

| |