tf.raw_ops.BoostedTreesSparseCalculateBestFeatureSplit
Вычисляет выигрыши для каждого признака и возвращает лучшую возможную информацию о разбиении для признака.
tf.raw_ops.BoostedTreesSparseCalculateBestFeatureSplit(
node_id_range, stats_summary_indices, stats_summary_values, stats_summary_shape,
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_indices | A Tensor типа int32. Тензор ранга 2 типа int64 с плотной формой N, 4 для обобщенной сводки накопленных статистических данных (градиент/гессиан) на узел на корзину для каждого признака. Второе измерение содержит идентификатор узла, размерность признака, идентификатор корзины и размер статистических данных. Размер статистических данных — это сумма размерности логарифмов и размерности гессиана, размерность гессиана может быть либо размерностью логарифмов, если используется диагональный гессиан, либо размерностью логарифмов^2, если используется полный гессиан. |
stats_summary_values | A Tensor типа float32. Тензор ранга 1 типа float с плотной формой N, который предоставляет значения для каждого элемента в summary_indices. |
stats_summary_shape | A Tensor типа int32. Тензор ранга 1 типа float с плотной формой [4], который задает плотную форму разреженного тензора, которая равна [число узлов дерева, размерности признаков, число корзин, размер статистических данных]. |
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". По умолчанию "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. |
© 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/BoostedTreesSparseCalculateBestFeatureSplit