cvshrink

Крест подтверждает уменьшение (сокращение) ансамбль

Синтаксис

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

Описание

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

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

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

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

ens

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

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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- T матрица с перекрестными подтвержденными значениями среднеквадратической ошибки. L количество значений параметра регуляризации 'lambda', и T количество 'threshold' значения на слабых весах ученика.

nlearn

L- 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.

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

|