exponenta event banner

crossval

Класс: Дерево правил

Дерево решений с перекрестной проверкой

Синтаксис

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'

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

См. также

|