tf.raw_ops.BoostedTreesCalculateBestGainsPerFeature
Вычисляет приросты для каждого признака и возвращает лучшую возможную информацию о разбиении для признака.
tf.raw_ops.BoostedTreesCalculateBestGainsPerFeature(
node_id_range,
stats_summary_list,
l1,
l2,
tree_complexity,
min_node_weight,
max_splits,
name=None
)
Информация о разбиении — это лучший порог (идентификатор ведра), приросты и вклады в левое/правое узлы на узел для каждого признака.
Возможна ситуация, когда не все узлы могут быть разделены по каждому признаку. Поэтому список возможных узлов может отличаться в зависимости от признака. Таким образом, мы возвращаем node_ids_list для каждого признака, содержащий список узлов, которые этот признак может использовать для разделения.
Таким образом, вывод — это лучшее разбиение по признакам и по узлу, так что его необходимо комбинировать позже, чтобы получить лучшее разбиение для каждого узла (среди всех возможных признаков).
Длина списков вывода одинаковая, num_features. Форматы вывода совместимы таким образом, что первое измерение всех тензоров всех списков одинаковое и равно количеству возможных узлов разделения для каждого признака.
| Аргументы | |
|---|---|
node_id_range | A 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_summary_list | Список из не менее 1 Tensor объектов типа float32. Список тензоров ранга 3 (#форма=[max_splits, bucket, 2]) для суммарных статистических данных (градиент/гессиан) на узел по ведрам для каждого признака. Первое измерение тензора — это максимальное количество разбиений, и поэтому не все элементы будут использоваться, но будут использоваться только индексы, указанные в node_ids. |
l1 | A Tensor типа float32. Коэффициент регуляризации l1 для весов листа, основанный на каждом экземпляре. |
l2 | A Tensor типа float32. Коэффициент регуляризации l2 для весов листа, основанный на каждом экземпляре. |
tree_complexity | A Tensor типа float32. Корректировка прироста, основанная на каждом листе. |
min_node_weight | A Tensor типа float32. Минимальное среднее значение гессианов в узле, необходимое для того, чтобы узел считался кандидатом на разделение. |
max_splits | Число int, >= 1. Количество узлов, которые могут быть разделены в целом дереве. Используется как измерение выходных тензоров. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Кортеж из Tensor объектов (node_ids_list, gains_list, thresholds_list, left_node_contribs_list, right_node_contribs_list). | |
node_ids_list | Список с длиной, равной stats_summary_list, Tensor объектов типа int32. |
gains_list | Список с длиной, равной stats_summary_list, Tensor объектов типа float32. |
thresholds_list | Список с длиной, равной stats_summary_list, Tensor объектов типа int32. |
left_node_contribs_list | Список с длиной, равной stats_summary_list, Tensor объектов типа float32. |
right_node_contribs_list | Список с длиной, равной stats_summary_list, Tensor объектов типа float32. |
© 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/versions/r2.9/api_docs/python/tf/raw_ops/BoostedTreesCalculateBestGainsPerFeature