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) крест подтверждает с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,…,NameN,ValueN.

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

ens

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'cvpartition'

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

'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.1135   18.4634  115.5087
   18.1140   18.4630  115.4477
   18.0823   18.3565  124.1655

nlearn = 3×3

   13.8000   11.5000    3.5000
   13.7000   11.4000    3.5000
   13.8000   11.3000    3.3000

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

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

|