В чем смысл значения увеличенного дерева? - PullRequest
0 голосов
/ 11 октября 2019

Я построил дерево и в конце деревьев (на листьях) показаны некоторые значения. Что они означают?

# model parameters
colsample_bytree = 0.4
objective = 'binary:logistic'
learning_rate = 0.05
eval_metric = 'auc'
max_depth = 8
min_child_weight = 4
n_estimators = 5000
seed = 7

# create and train model
bst = xgb.train(param, 
                dtrain, 
                num_boost_round = best_iteration)

dot = xgb.to_graphviz(bst, rankdir='LR')
dot.render("trees1")

Я думал, что это прогнозируемый балл проба, но диапазон значений листьев до 0,01. Принимая во внимание, что диапазон «прогнозируемой оценки вероятности» до 1. Может быть, это означает, что «прогнозируемая оценка вероятности» делится на 10 (например, значение листа = 0,01 означает, что прогнозируемое значение вероятности = 0,1)?

И почему некоторые листья имеют отрицательные значения (например, -0,01)? Спасибо.

Part of the tree

1 Ответ

1 голос
/ 11 октября 2019

Значение листа - это ваш "eval_metric", локальный для вашего сплита :). Для вас это AUC.

Вот все атрибуты дерева:

n_nodes = estimator.tree_.node_count
children_left = estimator.tree_.children_left
children_right = estimator.tree_.children_right
feature = estimator.tree_.feature
threshold = estimator.tree_.threshold

Из документа: https://scikit -learn.org / stable / auto_examples / tree /plot_unveil_tree_structure.html # sphx-glr-auto-examples-tree-plot-unveil-tree-structure-py

Не могу найти его в документе, но "tree_.impurity" тоже существует.

...