Изменения

Перейти к: навигация, поиск

Дерево решений и случайный лес

126 байт убрано, 00:05, 23 января 2019
Рекурсивный алгоритм построения бинарного дерева решений ID3
1:'''function''' ID3(<tex>U</tex>):
<font color=green>// если все объекты из множества <tex>U</tex> принадлежат одному классу <tex>y \in Y</tex> </font> 2: '''if''' <tex>for all</tex> <tex>u \in U</tex>: <tex>y_u = y</tex>, <tex>y \in Y</tex>
'''then'''
<font color=green>// создать листовую вершину <tex>v</tex> c меткой класса <tex>y_v</tex> </font>
3: v = createLeafVertex(y_v) 54: '''return''' v 6: <font color=green>// найти предикат с максимальной информативностью :</font> <tex>\beta= \mathrm{arg}\max_{\beta\in B} </tex> Gain(<tex>\beta</tex>, <tex>U</tex>) 7: <font color=green>// разбить выборку на две части <tex>U = U_0 \cup U_1</tex> по предикату <tex>\beta</tex>:</font> 5: <tex>U_0 := \{x \in U: f_v\beta(x) = 0\}</tex> 6: <tex>U_1 := \{x \in U: f_v\beta(x) = 1\}</tex> 87: '''if''' <tex>U_0 = \emptyset</tex> или || <tex>U_1 = \emptyset</tex> '''then''' 9: создать новый лист <texfont color=green>v</tex> 10: <tex>y_v</tex> = класс, в котором находится большинство объектов из <tex>U</tex> </font> 118: y_v = majorClass(<tex>U</tex>) 9: v = createLeafVertex(y_v) '''else''' 1210: создать новую внутреннюю вершину <tex>v</tex>= createVertex() 1311: <tex>\beta_v = \beta</tex> 1412: <tex>S_0</tex> = ID3(<tex>U_0</tex>) 1513: <tex>S_1</tex> = ID3(<tex>U_1</tex>) 1614: '''return''' <tex>v</tex>
===Информативность ветвления===
635
правок

Навигация