После обрезки деревьев решений с помощью python

Я пытаюсь опубликовать сокращение своего дерева решений в соответствии с некоторым условием, которое является более сложным, чем встроенные критерии сокращения размера выборки и сложности затрат, например. требующий минимального размера выборки, который зависит от глубины узла. Кто-нибудь знает, как удалить эти узлы, если они не удовлетворяют моему условию?

До сих пор я нашел это решение Обрезка деревьев решений, где я могу установить my_tree.children_left[index] = TREE_LEAF, my_tree.children_right[index] = TREE_LEAF, то есть установить значение -1, что означает разрыв соединения между родительским узлом и дочерним узлом. пока это работает хорошо, но было разорвано только «соединение». весь узел все еще там.

дерево, которое нужно удалить

цель: опубликовать обрезанное дерево

на картинке пропали некоторые узлы. но в наборах данных они все еще есть. когда я например распечатать значение обрезанного дерева Распечатать значение обрезанного дерева. Там по-прежнему 11 значений вместо 6. Я хочу знать, как их удалить.


person WU Qi    schedule 26.09.2020    source источник