Дерево решений и случайный лес — различия между версиями
Sokolova (обсуждение | вклад) |
Sokolova (обсуждение | вклад) |
||
| Строка 26: | Строка 26: | ||
| − | == | + | == Алгоритм построения решающего дерева ID3 == |
| + | Идея алгоритма <tex>ID3</tex> (англ. ''Induction of Decision Tree'') заключается в последовательном дроблении выборки на две части до тех пор, пока в каждой части не окажутся объекты только одного класса. Проще всего записать этот алгоритм в виде рекурсивной процедуры <tex>TreeGrowing</tex>, которая строит дерево по заданной подвыборке <tex>U</tex> и возвращает его корневую вершину. | ||
| + | TODO: возможные StopCriterion, Major | ||
| + | |||
| + | '''V''' TreeGrowing(<tex>U</tex>): | ||
| + | '''if''' StopCriterion(<tex>U</tex>)'''then''' | ||
| + | '''return''' новый лист <tex>v</tex>, взяв <tex>y_v</tex> := Major(<tex>U</tex>) | ||
| + | выбрать признак, наиболее выгодный для ветвления дерева: | ||
| + | <tex>f_v = \mathrm{arg}\max_{f\in F} </tex> Gain(<tex>f</tex>, <tex>U</tex>) | ||
| + | '''if''' Gain(<tex>f_v</tex>, <tex>U</tex>) <tex> < G_0</tex> '''then''' | ||
| + | '''return''' новый лист <tex>v</tex> взяв <tex>y_v</tex> := Major(<tex>U</tex>) | ||
| + | создать новую внутреннюю вершину <tex>v</tex> с функцией <tex>f_v</tex> | ||
| + | '''for''' (<tex>k \in D_v</tex>): | ||
| + | <tex>U_k := \{x \in U: f_v(x) = k\}</tex> | ||
| + | <tex>S_v(k)</tex> := TreeGrowing(<tex>U_k</tex>) | ||
| + | '''return''' <tex>v</tex> | ||
| + | |||
| + | ===Мера неопределенности распределения=== | ||
| + | |||
| + | ===Критерий ветвления=== | ||
| + | |||
| + | ====Критейрий Джини==== | ||
| + | ====Энтропийный критерий==== | ||
| + | |||
| − | |||
== Разновидности решающих деревьев == | == Разновидности решающих деревьев == | ||
Версия 17:21, 20 января 2019
Содержание
Дерево решений
| Определение: |
Дерево решений (англ. decision tree, DT) — алгоритм классификации , задающийся деревом (связным ациклическим графом):
|
| Определение: |
Бинарное решающее дерево — частный случай дерева решений, для которого .
|
Y classify(x): while : ((x)) ; return
Алгоритм построения решающего дерева ID3
Идея алгоритма (англ. Induction of Decision Tree) заключается в последовательном дроблении выборки на две части до тех пор, пока в каждой части не окажутся объекты только одного класса. Проще всего записать этот алгоритм в виде рекурсивной процедуры , которая строит дерево по заданной подвыборке и возвращает его корневую вершину. TODO: возможные StopCriterion, Major
V TreeGrowing(): if StopCriterion()then return новый лист , взяв := Major() выбрать признак, наиболее выгодный для ветвления дерева: Gain(, ) if Gain(, ) then return новый лист взяв := Major() создать новую внутреннюю вершину с функцией for (): := TreeGrowing() return
Мера неопределенности распределения
Критерий ветвления
Критейрий Джини
Энтропийный критерий
Разновидности решающих деревьев
Тип задачи
Критерии ветвления
Критерии останова
Что находится во внутренних вершинах
Что находится в листьях
Передача информации между вершинами
- (alternating decision tree)
Рецукция решающих деревьев
Оценивание вероятностей
Полужадный синтез
Алгоритмы построения решающих деревьев
Обобщающая способность решающих деревьев
Композиции решающих деревьев
- Решающий лес
- Бустинг над решающими деревьями
История
Ссылки
- Classification and Regression Trees — лекции Cosma Shalizi, ноябрь 2009.