Класс: TreeBagger
Создайте мешок деревьев решений
Отдельные деревья решений имеют тенденцию сверхсоответствовать. Агрегированный начальной загрузкой (bagged) деревья решений комбинируют результаты многих деревьев решений, который уменьшает эффекты сверхподбора кривой и улучшает обобщение. TreeBagger
выращивает деревья решений в ансамбле, использующем выборки начальной загрузки данных. Кроме того, TreeBagger
выбирает случайное подмножество предикторов, чтобы использовать в каждом разделении решения в качестве в случайном лесном алгоритме [1].
По умолчанию, деревья классификации мешков TreeBagger
. К деревьям регрессии сумки вместо этого, задайте 'Method','regression'
.
Для проблем регрессии TreeBagger
поддерживает среднее значение и регрессию квантиля (то есть, лес регрессии квантиля [5]).
Mdl = TreeBagger(NumTrees,Tbl,ResponseVarName)
Mdl = TreeBagger(NumTrees,Tbl,formula)
Mdl = TreeBagger(NumTrees,Tbl,Y)
B = TreeBagger(NumTrees,X,Y)
B = TreeBagger(NumTrees,X,Y,Name,Value)
возвращается ансамбль Mdl
= TreeBagger(NumTrees
,Tbl
,ResponseVarName
)NumTrees
висел как мешок, деревья классификации обучили использование выборочных данных в таблице Tbl
. ResponseVarName
является именем переменной отклика в Tbl
.
возвращает ансамбль сложенных в мешок деревьев классификации, обученных с помощью выборочных данных в таблице Mdl
= TreeBagger(NumTrees
,Tbl
,formula
)Tbl
. formula
является объяснительной моделью ответа, и подмножество переменных прогноза в Tbl
раньше соответствовало Mdl
. Задайте Formula
с помощью обозначения Уилкинсона. Для получения дополнительной информации смотрите Обозначение Уилкинсона.
возвращает ансамбль деревьев классификации с помощью переменных прогноза в таблице Mdl
= TreeBagger(NumTrees
,Tbl
,Y
)Tbl
и меток класса в векторном Y
.
Y
является массивом данных об ответе. Элементы Y
соответствуют строкам Tbl
. Для классификации Y
является набором истинных меток класса. Метки могут быть любой группирующей переменной, то есть, числовым или логическим вектором, символьной матрицей, массивом строк, массивом ячеек из символьных векторов или категориальным вектором. TreeBagger
преобразовывает метки в массив ячеек из символьных векторов. Для регрессии Y
является числовым вектором. Чтобы вырастить деревья регрессии, необходимо задать пару "имя-значение" 'Method','regression'
.
создает ансамбль B
= TreeBagger(NumTrees
,X
,Y
)B
деревьев решений NumTrees
для предсказания ответа Y
как функция предикторов в числовой матрице данных тренировки, X
. Каждая строка в X
представляет наблюдение, и каждый столбец представляет предиктор или функцию.
B = TreeBagger(NumTrees,X,Y,Name,Value)
задает дополнительные пары "имя-значение" параметра:
'InBagFraction' | Часть входных данных к выборке с заменой от входных данных для роста каждого нового дерева. Значение по умолчанию равняется 1. |
'Cost' | Квадратная матрица Также
Значением по умолчанию является Если |
'SampleWithReplacement' | 'on' к выборке с заменой или 'off' к выборке без замены. Если вы выбираете без замены, необходимо установить 'InBagFraction' на значение меньше чем один. Значением по умолчанию является 'on' . |
'OOBPrediction' | 'on' , чтобы сохранить информацию о том, что наблюдения вне сумки для каждого дерева. Эта информация может использоваться oobPrediction , чтобы вычислить предсказанные вероятности класса для каждого дерева в ансамбле. Значением по умолчанию является 'off' . |
'OOBPredictorImportance' | 'on' , чтобы сохранить оценки из сумки важности функции в ансамбле. Значением по умолчанию является 'off' . Определение 'on' также устанавливает значение 'OOBPrediction' к 'on' . Если анализ важности предиктора является вашей целью, то также задают 'PredictorSelection','curvature' или 'PredictorSelection','interaction-curvature' . Для получения дополнительной информации смотрите fitctree или fitrtree . |
'Method' | Или 'classification' или 'regression' . Регрессия требует числового Y . |
'NumPredictorsToSample' | Количество переменных, чтобы выбрать наугад для каждого разделения решения. Значением по умолчанию является квадратный корень из количества переменных для классификации и одной трети количества переменных для регрессии. Допустимыми значениями является 'all' или положительное целое число. Установка этого аргумента к любому допустимому значению, но 'all' вызывает Breiman's случайный лесной алгоритм [1]. |
'NumPrint' | Количество учебных циклов (выращенные деревья), после которого TreeBagger отображает диагностическое сообщение, показывающее учебный прогресс. Значением по умолчанию не являются никакие диагностические сообщения. |
'MinLeafSize' | Минимальное количество наблюдений на древовидный лист. Значение по умолчанию 1 для классификации и 5 для регрессии. |
'Options' |
Структура, которая задает опции, которые управляют вычислением при росте ансамбля деревьев решений. Одна опция запрашивает, чтобы вычисление деревьев решений на нескольких загрузилось, реплицирует, использует несколько процессоров, если Parallel Computing Toolbox™ доступен. Две опции указывают, что потоки случайных чисел, чтобы использовать в выборе начальной загрузки реплицируют. Можно создать этот аргумент с вызовом
|
'Prior' | Априорные вероятности для каждого класса. Задайте как один из:
Если вы устанавливаете значения и для Если |
'PredictorNames' | Имена переменной прогноза, заданные как пара, разделенная запятой, состоящая из
|
'CategoricalPredictors' | Категориальный список предикторов, заданный как пара, разделенная запятой, состоящая из
|
'ChunkSize' | Разделите на блоки размер, заданный как пара, разделенная запятой, состоящая из ПримечаниеЭта опция только применяется при использовании |
В дополнение к дополнительным аргументам выше, TreeBagger
принимает эти дополнительные аргументы fitctree
и fitrtree
.
Избегайте больших предполагаемых ошибочных отклонений из сумки путем установки более сбалансированной матрицы стоимости misclassification или менее скошенного вектора априорной вероятности.
Свойство Trees
B
хранит массив ячеек B.NumTrees
объекты модели CompactRegressionTree
или CompactClassificationTree
. Для текстового или графического дисплея древовидного t
в массиве ячеек войти
view(B.Trees{t})
Стандартный CART имеет тенденцию выбирать предикторы разделения, содержащие много отличных значений, например, непрерывные переменные, по тем, которые содержат немного отличных значений, например, категориальные переменные [4]. Рассмотрите определение искривления или теста взаимодействия, если какое-либо следующее верно:
Если существуют предикторы, которые имеют относительно меньше отличных значений, чем другие предикторы, например, если набор данных предиктора неоднороден.
Если анализ важности предиктора является вашей целью. TreeBagger
хранит оценки важности предиктора в свойстве OOBPermutedPredictorDeltaError
Mdl
.
Для получения дополнительной информации о выборе предиктора смотрите PredictorSelection
для деревьев классификации или PredictorSelection
для деревьев регрессии.
TreeBagger
генерирует выборки в сумке путем сверхдискретизации классов с большими затратами misclassification и субдискретизации классов с маленькими затратами misclassification. Следовательно, выборки из сумки имеют меньше наблюдений от классов с большими затратами misclassification и больше наблюдений от классов с маленькими затратами misclassification. Если вы обучаете ансамбль классификации, использующий небольшой набор данных и очень скошенную матрицу стоимости, то количество наблюдений из сумки в классе может быть очень низким. Поэтому предполагаемая ошибка из сумки может иметь большое отклонение и может быть трудной интерпретировать. То же явление может произойти для классов с большими априорными вероятностями.
Для получения дополнительной информации при выборе предикторов разделения и алгоритмов расщепления узлов при росте деревьев решений, см. Алгоритмы для деревьев классификации и Алгоритмы для деревьев регрессии.
Statistics and Machine Learning Toolbox™ предлагает три объекта для укладывания в мешки и случайного леса:
ClassificationBaggedEnsemble
создается fitcensemble
для классификации
RegressionBaggedEnsemble
создается fitrensemble
для регрессии
TreeBagger
, созданный TreeBagger
для классификации и регрессии
Для получения дополнительной информации о различиях между TreeBagger
и уволенными ансамблями (ClassificationBaggedEnsemble
и RegressionBaggedEnsemble
), смотрите Сравнение TreeBagger и Уволенных Ансамблей.
[1] Бреимен, L. Случайные Леса. Машинное обучение 45, стр 5–32, 2001.
[2] Бреимен, L., Дж. Фридман, Р. Олшен и К. Стоун. Классификация и деревья регрессии. Бока-Ратон, FL: нажатие CRC, 1984.
[3] Loh, W.Y. “Деревья регрессии с Несмещенным Обнаружением Выбора переменной и Взаимодействия”. Statistica Sinica, Издание 12, 2002, стр 361–386.
[4] Loh, В.И. и И.С. Ши. “Разделите Методы выбора для Деревьев Классификации”. Statistica Sinica, Издание 7, 1997, стр 815–840.
[5] Meinshausen, N. “Леса Регрессии квантиля”. Журнал Исследования Машинного обучения, Издания 7, 2006, стр 983–999.
TreeBagger
| compact
| error
| fitctree
| fitrtree
| oobError
| oobPredict
| predict
| statset
| view
| view