Класс: TreeBagger
Вне пакета квантовая потеря пакета деревьев регрессии
возвращает половину среднего абсолютного отклонения (MAD) от сравнения истинных ответов в err = oobQuantileError(Mdl)Mdl.Y к прогнозируемым медианам из мешка при Mdl.Xданные предиктора и использование пакета деревьев регрессии Mdl. Mdl должно быть TreeBagger объект модели.
использует дополнительные параметры, указанные одним или несколькими err = oobQuantileError(Mdl,Name,Value)Name,Value аргументы пары. Например, укажите вероятности квантилей, тип ошибки или деревья, которые следует включить в оценку ошибки квантилей-регрессии.
Mdl - Мешок регрессионных деревьевTreeBagger объект модели (по умолчанию)Мешок регрессионных деревьев, указанный как TreeBagger объект модели, созданный TreeBagger.
Значение Mdl.Method должно быть regression.
Когда тренируешься Mdl использование TreeBagger, необходимо указать пару имя-значение 'OOBPrediction','on'. Следовательно, TreeBagger сохраняет требуемую матрицу индекса наблюдения вне пакета в Mdl.OOBIndices.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Mode' - Тип ошибки ансамбля'ensemble' (по умолчанию) | 'cumulative' | 'individual'Тип ошибки ансамбля, указанный как пара, разделенная запятыми, состоящая из 'Mode' и значение в этой таблице. Предположим tau - значение Quantile.
| Стоимость | Описание |
|---|---|
'cumulative' |
|
'ensemble' |
|
'individual' |
|
Для 'cumulative' и 'individual', если вы решили включить меньшее количество деревьев в оценку квантиля с помощью Trees, то это действие влияет на количество строк в err и соответствующие индексы строк.
Пример: 'Mode','cumulative'
'Quantile' - вероятность квантиля0.5 (по умолчанию) | числовой вектор, содержащий значения в [0,1]Вероятность квантиля, указанная как пара, разделенная запятыми, состоящая из 'Quantile' и числовой вектор, содержащий значения в интервале [0,1]. Для каждого наблюдения (строка) в Mdl.X, oobQuantileError оценивает соответствующие квантили для всех вероятностей в Quantile.
Пример: 'Quantile',[0 0.25 0.5 0.75 1]
Типы данных: single | double
'Trees' - индексы деревьев, используемые при оценке ответов;'all' (по умолчанию) | числовой вектор положительных целых чиселИндексы деревьев для использования при оценке ответа, определяемые как разделенная запятыми пара, состоящая из 'Trees' и 'all' или числовой вектор положительных целых чисел. Индексы соответствуют ячейкам Mdl.Trees; каждая ячейка содержит дерево в ансамбле. Максимальное значение Trees должно быть меньше или равно количеству деревьев в ансамбле (Mdl.NumTrees).
Для 'all', oobQuantileError использует все деревья в ансамбле (то есть индексы 1:Mdl.NumTrees).
Значения, отличные от значений по умолчанию, могут влиять на количество строк в err.
Пример: 'Trees',[1 10 Mdl.NumTrees]
Типы данных: char | string | single | double
'TreeWeights' - Веса для отнесения к ответам отдельных деревьевones(Mdl.NumTrees,1) (по умолчанию) | числовой вектор неотрицательных значенийВеса для присвоения откликам отдельных деревьев, указанных как разделенная запятыми пара, состоящая из 'TreeWeights' и числовой вектор numel( неотрицательные значения. trees)trees - значение Trees.
При указании 'Mode','individual', то oobQuantileError игнорирует TreeWeights.
Типы данных: single | double
err - Половина ошибки регрессии вне пакета квантилейПоловина ошибки регрессии вне пакета квантилей, возвращаемая как числовой скаляр или Tоколо-numel( матрица. tau)tau - значение Quantile.
T зависит от значений Mode, Trees, и Quantile. Предположим, что вы указали 'Quantile', и tau'Trees',.trees
Для 'Mode','cumulative', err является numel(около-trees)numel( числовая матрица. tau)err( является j,k) кумулятивная ошибка квантовой регрессии вне пакета с использованием обучающихся в tau(k)Mdl.Trees(.trees(1:j))
Для 'Mode','ensemble', err является 1около-numel( числовой вектор. tau)err( является k) кумулятивная ошибка квантовой регрессии вне пакета с использованием обучающихся в tau(k)Mdl.Trees(.trees)
Для 'Mode','individual', err является numel(около-trees)numel( числовая матрица. tau)err( является j,k) ошибка регрессии квантиля вне пакета с использованием учащегося в tau(k)Mdl.Trees(.trees(j))
Загрузить carsmall набор данных. Рассмотрим модель, которая предсказывает экономию топлива автомобиля, учитывая его рабочий объем двигателя, вес и количество цилиндров. Рассмотреть Cylinders категориальная переменная.
load carsmall
Cylinders = categorical(Cylinders);
X = table(Displacement,Weight,Cylinders,MPG);Обучение ансамбля пакетных регрессионных деревьев с использованием всего набора данных. Укажите 100 слабых учеников и сохраните индексы вне пакета.
rng(1); % For reproducibility Mdl = TreeBagger(100,X,'MPG','Method','regression','OOBPrediction','on');
Mdl является TreeBagger ансамбль.
Выполнить квантильную регрессию, и вне пакета оценить MAD всего ансамбля, используя предсказанные условные медианы.
oobErr = oobQuantileError(Mdl)
oobErr = 1.5349
oobErr - несмещенная оценка ошибки регрессии квантиля для всего ансамбля.
Загрузить carsmall набор данных. Рассмотрим модель, которая предсказывает экономию топлива автомобиля, учитывая его рабочий объем двигателя, вес и количество цилиндров.
load carsmall
X = table(Displacement,Weight,Cylinders,MPG);Обучение ансамбля пакетных регрессионных деревьев с использованием всего набора данных. Укажите 250 слабых учеников и сохраните индексы вне пакета.
rng('default'); % For reproducibility Mdl = TreeBagger(250,X,'MPG','Method','regression',... 'OOBPrediction','on');
Оценка совокупного показателя; из мешка; 0,25, 0,5 и 0,75 ошибок квантовой регрессии.
err = oobQuantileError(Mdl,'Quantile',[0.25 0.5 0.75],'Mode','cumulative');
err является матрицей 250 на 3 кумулятивных ошибок регрессии квантиля вне пакета. Столбцы соответствуют вероятностям квантилей, а строки - деревьям в ансамбле. Ошибки являются кумулятивными, поэтому они включают агрегированные прогнозы предыдущих деревьев.
Постройте график кумулятивных ошибок, ошибок квантилей на том же графике.
figure; plot(err); legend('0.25 quantile error','0.5 quantile error','0.75 quantile error'); ylabel('Out-of-bag quantile error'); xlabel('Tree index'); title('Cumulative, Out-of-Bag, Quantile Regression Error')

Все кривые ошибок квантиля, по-видимому, выравниваются после обучения около 50 деревьев. Таким образом, тренировка 50 деревьев оказывается достаточной для достижения минимальной ошибки квантования для трех вероятностей квантования.
В пакетированном ансамбле наблюдения не в мешках, когда они оставлены вне учебного образца для конкретного учащегося. Наблюдения проводятся в мешках, когда они используются для обучения конкретного учащегося.
При фасовке учащихся в мешки практик берет выборку начальной загрузки (то есть случайную выборку с заменой) размера n для каждого учащегося, а затем обучает учеников, используя их соответствующие выборки начальной загрузки. Извлечение n из n наблюдений с заменой пропускает в среднем около 37% наблюдений для каждого учащегося.
Ошибка ансамбля вне мешка, ошибка ансамбля, оцененная только с помощью наблюдений вне мешка, является непредвзятой оценкой истинной ошибки ансамбля.
Ошибка квантовой регрессии модели с данными наблюдаемого предиктора и откликами является средневзвешенным абсолютным отклонением (MAD). Если модель недооценивает отклик, то весовые коэффициенты отклонения представляют собой δ, вероятность квантиля. Если модель перепрогнозирует, то весовые коэффициенты отклонения равны 1 - start.
Это означает, что ошибка регрессии в квантиле является
∑j=1nwj.
yj - истинный ответ j, - τ квантиль, который предсказывает модель, и wj - вес наблюдения j.
Оценщик ошибок ансамбля вне пакета является несмещенным для истинной ошибки ансамбля. Таким образом, чтобы настроить параметры случайного леса, оцените ошибку ансамбля вне пакета вместо реализации перекрестной проверки.
[1] Брейман, Л. «Случайные леса». Машинное обучение 45, стр. 5-32, 2001.
[2] Мейнсхаузен, Н. «Квантильные регрессионные леса». Журнал исследований машинного обучения, том 7, 2006, стр. 983-999.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.