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'

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

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

|