Класс: 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
аргументы.
Поддерживаемый fitctree аргументы | Поддерживаемый fitrtree аргументы |
---|---|
AlgorithmForCategorical | MaxNumSplits |
MaxNumCategories | MergeLeaves |
MaxNumSplits | PredictorSelection |
MergeLeaves | Prune |
PredictorSelection | PruneCriterion |
Prune | QuadraticErrorTolerance |
PruneCriterion | SplitCriterion |
SplitCriterion | Surrogate |
Surrogate | Weights |
'Weights' |
Избегайте больших предполагаемых ошибочных отклонений из сумки путем установки более сбалансированной матрицы стоимости misclassification или менее скошенного вектора априорной вероятности.
Trees
свойство B
хранит массив ячеек B.NumTrees
CompactClassificationTree
или CompactRegressionTree
объекты модели. Для текстового или графического дисплея древовидного 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