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 | 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_indices | Tensor типа int32. Массив ранга 2 типа int64 с плотной формой N, 4 для суммарной статистики (градиент/гессиан) на узел на ведро для каждого признака. Второе измерение содержит номер узла, измерение признака, номер ведра и измерение статистики. Измерение статистики равно сумме измерений логарифма и гессиана, измерение гессиана может быть равно измерению логарифма, если используется диагональная гессиан, или измерению логарифма в квадрате, если используется полная гессиан. |
stats_summary_values | Tensor типа float32. Массив ранга 1 типа float с плотной формой N, который предоставляет значения для каждого элемента в summary_indices. |
stats_summary_shape | Tensor типа int32. Массив ранга 1 типа float с плотной формой [4], который определяет плотный формат разреженного тензора, который равен [количество узлов дерева, количество измерений признаков, количество ведер, измерение статистики]. |
l1 | Tensor типа float32. Коэффициент регуляризации L1 для весов листа, основанный на экземпляре. |
l2 | Tensor типа float32. Коэффициент регуляризации L2 для весов листа, основанный на экземпляре. |
tree_complexity | Tensor типа float32. Корректировка прироста, основанная на листе. |
min_node_weight | Tensor типа float32. Минимальное среднее значение гессианов в узле, необходимое для того, чтобы узел был рассмотрен для разделения. |
logits_dimension | 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 | Tensor типа int32. |
gains | Tensor типа float32. |
feature_dimensions | Tensor типа int32. |
thresholds | Tensor типа int32. |
left_node_contribs | Tensor типа float32. |
right_node_contribs | Tensor типа float32. |
split_with_default_directions | 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/api_docs/python/tf/raw_ops/BoostedTreesSparseCalculateBestFeatureSplit