{ }
Calculates gains for each feature and returns the best possible split information for each node. However, if no split is found, then no split information is returned for that node.
tf.raw_ops.BoostedTreesCalculateBestFeatureSplitV2(
node_id_range,
stats_summaries_list,
split_types,
candidate_feature_ids,
l1,
l2,
tree_complexity,
min_node_weight,
logits_dimension,
name=None
)
The split information is the best threshold (bucket id), gains and left/right node contributions per node for each feature.
It is possible that not all nodes can be split on each feature. Hence, the list of possible nodes can differ between the features. Therefore, we return node_ids_list
for each feature, containing the list of nodes that this feature can be used to split.
In this manner, the output is the best split per features and per node, so that it needs to be combined later to produce the best split for each node (among all possible features).
The output shapes are compatible in a way that the first dimension of all tensors are the same and equal to the number of possible split nodes for each feature.