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

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

|