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 для суммарной статистики накопленных данных (градиент/гессиан) на узел на корзину для каждого признака. Второе измерение содержит идентификатор узла, измерение признака, номер корзины и измерение статистики. Измерение статистики равно сумме измерения логарифмов и измерения гессиана, измерение гессиана может быть равно измерению логарифмов, если используется диагональная гессиан, или измерению логарифмов в квадрате, если используется полная гессиан. |
stats_summary_values |
A Tensor типа float32. Численный тензор ранга 1 с плотной формой N, который предоставляет значения для каждого элемента в summary_indices. |
stats_summary_shape |
A Tensor типа int32. Численный тензор ранга 1 с плотной формой [4], который определяет плотный формат разреженного тензора, который составляет [количество узлов дерева, измерения признаков, количество корзин, измерение статистики]. |
l1 |
A Tensor типа float32. Коэффициент регуляризации l1 весов листа, на основе каждого экземпляра. |
l2 |
A Tensor типа float32. Коэффициент регуляризации l2 весов листа, на основе каждого экземпляра. |
tree_complexity |
A Tensor типа float32. Корректировка выигрыша, на основе каждого листа. |
min_node_weight |
A Tensor типа float32. Минимальное среднее значение гессианов в узле, необходимое для того, чтобы узел считался подходящим для разбиения. |
logits_dimension |
Целое число, которое является >= 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.3/api_docs/python/tf/raw_ops/BoostedTreesSparseCalculateBestFeatureSplit