tf.raw_ops.BoostedTreesCalculateBestFeatureSplit
Вычисляет приросты для каждого признака и возвращает наилучшую возможную информацию о разбиении для признака.
tf.raw_ops.BoostedTreesCalculateBestFeatureSplit(
node_id_range,
stats_summary,
l1,
l2,
tree_complexity,
min_node_weight,
logits_dimension,
split_type='inequality',
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_summary | A Tensor типа float32. Тензор ранга 4 (#форма = [max_splits, feature_dims, bucket, stats_dims]) для суммарных данных статистики (градиент/гессиан) на узел, размерность, корзины для каждого признака. Первое измерение тензора — максимальное количество разбиений, и поэтому не все элементы будут использоваться, но будут использоваться только индексы, указанные node_ids. |
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. Размерность логита, т. е. число классов. |
split_type | Необязательный string из "inequality", "equality". По умолчанию "inequality". Строка, указывающая, должен ли этот оператор выполнять неравное разбиение или равное разбиение. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Кортеж Tensor объектов (node_ids, gains, feature_dimensions, thresholds, left_node_contribs, right_node_contribs, split_with_default_directions). | |
node_ids | A Tensor типа int32. |
gains | A Tensor типа float32. |
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. |
© 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/BoostedTreesCalculateBestFeatureSplit