cvshrink

Перекрестное подтверждение усадки (обрезки) ансамбля

Синтаксис

vals = cvshrink(ens)
[vals,nlearn] = cvshrink(ens)
[vals,nlearn] = cvshrink(ens,Name,Value)

Описание

vals = cvshrink(ens) возвращает L-by- T матрица с перекрестными проверенными значениями средней квадратичной невязки. L количество lambda значения в ens.Regularization структура. T количество threshold значения на слабых весах учащихся. Если ens не имеет Regularization свойство, заполненное regularize метод, передайте lambda Пара "имя-значение".

[vals,nlearn] = cvshrink(ens) возвращает L-by- T матрица среднего числа учащихся в перекрестно проверенном ансамбле.

[vals,nlearn] = cvshrink(ens,Name,Value) cross проверяет с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар. Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,…,NameN,ValueN.

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

ens

Регрессионный ансамбль, созданный с fitrensemble.

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

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

'cvpartition'

Раздел, созданный с cvpartition для использования в перекрестном проверенном дереве. Вы можете использовать только один из следующих четырёх опций за раз: 'kfold', 'holdout', 'leaveout', или 'cvpartition'.

'holdout'

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

'kfold'

Количество складок для использования в перекрестном проверенном дереве, положительное целое число. Если вы не поставляете метод перекрестной валидации, cvshrink использует 10-кратную перекрестную валидацию. Вы можете использовать только один из следующих четырёх опций за раз: 'kfold', 'holdout', 'leaveout', или 'cvpartition'.

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

'lambda'

Вектор значений неотрицательных параметров регуляризации для лассо. Если пусто, cvshrink не выполняет перекрестную валидацию.

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

'leaveout'

Используйте кросс- валидацию с одним выходом путем установки на 'on'. Вы можете использовать только один из следующих четырёх опций за раз: 'kfold', 'holdout', 'leaveout', или 'cvpartition'.

'threshold'

Числовой вектор с более низкими срезами на весах для слабых учащихся. cvshrink отбрасывает учащихся с весами ниже threshold в вычислении перекрестной валидации.

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

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

vals

L-by- T матрица с перекрестными проверенными значениями средней квадратичной невязки. L - количество значений параметра регуляризации 'lambda', и T количество 'threshold' значения на слабых весах учащихся.

nlearn

L-by- T матрица с перекрестными проверенными значениями среднего числа учащихся в перекрестном проверенном ансамбле L. - количество значений параметра регуляризации 'lambda', и T количество 'threshold' значения на слабых весах учащихся.

Примеры

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

Создайте регрессионный ансамбль для предсказания пробега с carsmall данные. Перекрестная проверка ансамбля.

Загрузите carsmall набор данных и выбор объема, лошадиной силы и веса транспортного средства в качестве предикторов.

load carsmall
X = [Displacement Horsepower Weight];

Можно обучить ансамбль мешанных регрессионных деревьев.

ens = fitrensemble(X,Y,'Method','Bag')

fircensemble использует древовидный объект шаблона по умолчанию templateTree() как слабый ученик, когда 'Method' является 'Bag'. В этом примере для воспроизводимости задайте 'Reproducible',true когда вы создаете объект шаблона дерева, а затем используете объект как слабого ученика.

rng('default') % For reproducibility
t = templateTree('Reproducible',true); % For reproducibiliy of random predictor selections
ens = fitrensemble(X,MPG,'Method','Bag','Learners',t);

Задайте значения для lambda и threshold. Используйте эти значения для перекрестной проверки ансамбля.

[vals,nlearn] = cvshrink(ens,'lambda',[.01 .1 1],'threshold',[0 .01 .1])
vals = 3×3

   18.9150   19.0092  128.5935
   18.9099   18.9504  128.8449
   19.0328   18.9636  116.8500

nlearn = 3×3

   13.7000   11.6000    4.1000
   13.7000   11.7000    4.1000
   13.9000   11.6000    4.1000

Очевидно, что установка порога 0.1 приводит к неприемлемым ошибкам, в то время как порог 0.01 приводит к подобным ошибкам порог 0. Среднее число учащихся с порогом 0.01 это о 11.4, в то время как среднее число составляет около 13.8 когда порог 0.

См. также

|