tree._feature для DecisionTreeClassifier и DecisionTreeRegressor возвращает значение -2 несколько раз в конце. Это потому, что они являются листовыми узлами? Могу ли я принять любое значение -2 в качестве конечных элементов узла?
Вообще-то да. Переменная объекта .tree_.feature возвращает -2, когда на этом узле нет разделения, что происходит тогда и только тогда, когда узел является листом (когда дерево было выращено без обрезки, ie. fit(..., ccp_alpha=0)).
.tree_.feature
-2
fit(..., ccp_alpha=0)
Хотя это не на 100% ясно в документации help(), ссылку на это можно найти в коде здесь: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx
help()
, где значение feature устанавливается в переменную stati c TREE_UNDEFINED = -2.
feature
TREE_UNDEFINED = -2