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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 = 
  classreg.learning.regr.CompactRegressionTree
           PredictorNames: {'x1'  'x2'  'x3'  'x4'}
             ResponseName: 'Y'
    CategoricalPredictors: []
        ResponseTransform: 'none'


  Properties, Methods

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

L = kfoldLoss(CVMdl)
L = 25.6450

Советы

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

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

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

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

|