2016-04-06 5 views
1

При построении дерева решений на каждом узле мы выбираем лучшую функцию, а затем лучшую позицию разделения для этой функции. Однако, когда все значения для наилучшей функции равны 0 для образцов в текущем узле/наборе, что мне делать? Все образцы сохраняются сгруппированными в одну сторону (ветвь < = 0), и происходит бесконечный цикл. Например:Построение дерева решений

#left: 1500, #right: 0 

затем,

#left: 1500, #right: 0 

и так далее ...

Просто для справки, я отслеживаю следующий псевдокод.

GrowTree(S) 
if (y_i = C for all i in S and some class C) then { 
return new leaf(C)        
} else { 
choose best splitting feature j and splitting point beta (*) 
I choose the one that gives me the max entropy drop 
S_l = {i : X_ij < beta}       
S_r = {i : X_ij >= beta} 
return new node(j, beta, GrowTree(S_l), GrowTree(S_r)) 

}

+0

Можете ли вы показать нам свой код для построения дерева? – Reti43

+0

Отредактировал мой вопрос. – Jobs

+0

«Однако, когда все значения для наилучшей функции равны 0 для образцов». кажется, что все образцы, достигающие этого узла, имеют один и тот же класс (можете ли вы проверить?). если это так, узел бесполезен и не должен быть создан. –

ответ

2

Это просто невозможно. Вы должны выбрать порог, который приводит к самому большому числу уверенности модели. Использование порога, который помещает каждый отдельный экземпляр в одну ветвь, дает вам 0 увеличение уверенности в моделях, таким образом, это не лучший раскол. Это должно происходить тогда и только тогда, когда в этой функции примесь/энтропия уже равна 0, но тогда это критерий остановки для создания листьев в дереве решений.

+0

Я занимаюсь обнаружением спама с использованием вышеупомянутого дерева решений. Единственные функции, которые я имею в настоящее время, - это несколько слов. Можете ли вы объяснить, как «сумка слов» может использоваться как функция? Включить/добавить функцию, которая является вероятностью или чем-то еще? – Jobs

+0

Задайте вопрос: – lejlot

+0

Только что сделал: http://stackoverflow.com/questions/36469548/bag-of-words-feature-for-spam-detection-decision-tree – Jobs

Смежные вопросы