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 |
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 |
Tensor типа float32. Коэффициент регуляризации l1 для весов листа, на основе экземпляра. |
l2 |
Tensor типа float32. Коэффициент регуляризации l2 для весов листа, на основе экземпляра. |
tree_complexity |
Tensor типа float32. Корректировка выигрыша на основе листа. |
min_node_weight |
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. |
© 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.4/api_docs/python/tf/raw_ops/BoostedTreesCalculateBestGainsPerFeature