crossval

Класс: RegressionTree

Перекрестная проверка дерева решений

Синтаксис

cvmodel = crossval(model)
cvmodel = crossval(model,Name,Value)

Описание

cvmodel = crossval(model) создает секционированную модель из model, установленное дерево регрессии. По умолчанию crossval использует 10-кратную перекрестную валидацию обучающих данных для создания cvmodel.

cvmodel = crossval(model,Name,Value) создает секционированную модель с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

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

model

Регрессионая модель, полученная с использованием fitrtree.

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

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

'CVPartition'

Объект cvpartition классов, созданный cvpartition функция. crossval разделяет данные на подмножества с cvpartition.

Используйте только один из этих четырёх опций за раз: 'KFold', 'Holdout', 'Leaveout', или 'CVPartition'.

По умолчанию: []

'Holdout'

Holdout проверяет указанную долю данных и использует остальную часть данных для обучения. Задайте числовой скаляр из 0 на 1. Для создания перекрестно проверенного дерева можно использовать только одну из следующих четырех опций 'KFold', 'Holdout', 'Leaveout', или 'CVPartition'.

'KFold'

Количество складок для использования в перекрестном проверенном дереве, положительное целое значение, больше 1.

Используйте только один из этих четырёх опций за раз: 'KFold', 'Holdout', 'Leaveout', или 'CVPartition'.

По умолчанию: 10

'Leaveout'

Установите значение 'on' для кросс-валидации с одним выходом.

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

cvmodel

Секционированная модель RegressionPartitionedModel классов.

Примеры

расширить все

Загрузите carsmall набор данных. Рассмотрим Acceleration, Displacement, Horsepower, и Weight как переменные предиктора.

load carsmall
X = [Acceleration Displacement Horsepower Weight];

Вырастите дерево регрессии, используя весь набор данных.

Mdl = fitrtree(X,MPG);

Mdl является RegressionTree модель.

Перекрестная валидация дерева регрессии с помощью 10-кратной перекрестной валидации.

CVMdl = crossval(Mdl);

CVMdl является RegressionPartitionedModel перекрестно-проверенная модель. crossval хранит десять обученных, компактных деревьев регрессии в Trained свойство CVMdl.

Отобразите сжатое дерево регрессии, которое crossval обучен с использованием всех наблюдений, кроме наблюдений в первой очереди.

CVMdl.Trained{1}
ans = 
  CompactRegressionTree
           PredictorNames: {'x1'  'x2'  'x3'  'x4'}
             ResponseName: 'Y'
    CategoricalPredictors: []
        ResponseTransform: 'none'


  Properties, Methods

Оцените ошибку обобщения Mdl путем вычисления 10-кратной перекрестной подтвержденной среднеквадратичной ошибки.

L = kfoldLoss(CVMdl)
L = 23.5706

Совет

  • Оцените прогнозирующую эффективность model на перекрестно проверенных данных с использованием «kfold» методов и свойств cvmodel, таких как kfoldLoss.

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

Можно создать дерево перекрестной проверки непосредственно из данных вместо создания дерева решений, за которым следует дерево перекрестной проверки. Для этого включите один из этих пяти опций в fitrtree: 'CrossVal', 'KFold', 'Holdout', 'Leaveout', или 'CVPartition'.

См. также

|

Для просмотра документации необходимо авторизоваться на сайте