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 | A Tensor типа int32. Тензор ранга 1 (форма=[2]), указывающий диапазон [начало, конец) идентификаторов узлов для обработки в 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 (#форма=[max_splits, feature_dims, bucket, stats_dims]) для сводки накопленных статистических данных (градиент/гессиан) по узлу, по размерности, по корзинам для каждого признака. Первая размерность тензора — максимальное количество разбиений, и поэтому не все элементы будут использоваться, но будут использоваться только индексы, указанные в node_ids. |
split_types | A Tensor типа string. Тензор ранга 1, указывающий, должен ли этот оператор выполнять неравенство или равенство разделения по признаку. |
candidate_feature_ids | A Tensor типа int32. Тензор ранга 1 с идентификаторами для каждого признака. Это фактический идентификатор признака. |
l1 | A Tensor типа float32. Коэффициент регуляризации l1 для весов листьев, основанный на экземпляре. |
l2 | A Tensor типа float32. Коэффициент регуляризации l2 для весов листьев, основанный на экземпляре. |
tree_complexity | A Tensor типа float32. Корректировка прироста, основанная на листе. |
min_node_weight | A Tensor типа float32. Минимальное среднее значение гессианов в узле, необходимое для того, чтобы узел считался подходящим для разделения. |
logits_dimension | A int величиной >= 1. Размерность логита, т.е. число классов. |
name | Название операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Кортеж объектов Tensor (node_ids, gains, feature_ids, feature_dimensions, thresholds, left_node_contribs, right_node_contribs, split_with_default_directions). | |
node_ids | A Tensor типа int32. |
gains | A Tensor типа float32. |
feature_ids | A Tensor типа int32. |
feature_dimensions | A Tensor типа int32. |
thresholds | A Tensor типа int32. |
left_node_contribs | A Tensor типа float32. |
right_node_contribs | A Tensor типа float32. |
split_with_default_directions | A Tensor типа string. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/BoostedTreesCalculateBestFeatureSplitV2