tf.raw_ops.BoostedTreesCalculateBestFeatureSplitV2
Вычисляет приросты для каждого признака и возвращает наилучшую возможную информацию о разбиении для каждого узла. Однако, если разбиение не найдено, информация о разбиении для этого узла не возвращается.
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
)
Информация о разбиении включает наилучший порог (идентификатор корзины), приросты и вклады левого/правого узлов для каждого узла и каждого признака.
Не все узлы можно разбить по каждому признаку. Поэтому список возможных узлов может различаться для разных признаков. По этой причине мы возвращаем node_ids_list для каждого признака, содержащий список узлов, которые можно разбить с помощью этого признака.
Таким образом, выходные данные содержат наилучшее разбиение для каждого признака и каждого узла. Позже их необходимо объединить, чтобы получить наилучшее разбиение для каждого узла (среди всех возможных признаков).
Формы выходных данных совместимы: первое измерение всех тензоров одинаково и равно количеству возможных узлов разбиения для каждого признака.
| Аргументы | |
|---|---|
node_id_range | Tensor типа int32. Тензор ранга 1 (форма=[2]), задающий диапазон [first, last) идентификаторов узлов для обработки в пределах stats_summary_list. Узлы перебираются между двумя узлами, указанными в тензоре, аналогично for node_id in range(node_id_range[0], node_id_range[1]) (обратите внимание, что последний индекс node_id_range[1] не включается). |
stats_summaries_list | Список как минимум из 1 объекта Tensor типа float32. Список тензоров ранга 4 (#shape=[max_splits, feature_dims, bucket, stats_dims]) со сводной статистикой накоплений (градиент/гессиан) для каждого узла, измерения и корзины каждого признака. Первое измерение тензора соответствует максимальному количеству разбиений, поэтому используются не все его элементы, а только индексы, указанные в node_ids. |
split_types | Tensor типа string. Тензор ранга 1, указывающий, должно ли это Op выполнять разбиение по неравенству или по равенству для каждого признака. |
candidate_feature_ids | Tensor типа int32. Тензор ранга 1 с идентификаторами каждого признака. Это фактический идентификатор признака. |
l1 | Tensor типа float32. Коэффициент регуляризации l1 для весов листьев, рассчитываемый для каждого экземпляра. |
l2 | Tensor типа float32. Коэффициент регуляризации l2 для весов листьев, рассчитываемый для каждого экземпляра. |
tree_complexity | Tensor типа float32. Поправка к приросту, рассчитываемая для каждого листа. |
min_node_weight | Tensor типа float32. Минимальное среднее значение гессианов в узле, необходимое для того, чтобы узел можно было рассматривать для разбиения. |
logits_dimension | int со значением >= 1. Размерность логита, то есть количество классов. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Кортеж из объектов Tensor (node_ids, gains, feature_ids, feature_dimensions, thresholds, left_node_contribs, right_node_contribs, split_with_default_directions). | |
node_ids | Tensor типа int32. |
gains | Tensor типа float32. |
feature_ids | Tensor типа int32. |
feature_dimensions | Tensor типа int32. |
thresholds | Tensor типа int32. |
left_node_contribs | Tensor типа float32. |
right_node_contribs | Tensor типа float32. |
split_with_default_directions | Tensor типа string. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/BoostedTreesCalculateBestFeatureSplitV2