BoostedTreesCalculateBestGainsPerFeature

публичный финальный класс BoostedTreesCalculateBestGainsPerFeature

Вычисляет выигрыш для каждой функции и возвращает наилучшую возможную информацию о разбиении для этой функции.

Информация о разделении представляет собой лучший порог (идентификатор сегмента), приросты и вклады левого/правого узла на узел для каждого объекта.

Возможно, не все узлы можно разделить по каждому признаку. Следовательно, список возможных узлов может различаться в зависимости от объекта. Поэтому мы возвращаем node_ids_list для каждого объекта, содержащий список узлов, для разделения которых можно использовать этот объект.

Таким образом, выходные данные представляют собой наилучшее разделение по объектам и узлам, поэтому их необходимо объединить позже, чтобы получить наилучшее разделение для каждого узла (среди всех возможных функций).

Все выходные списки имеют одинаковую длину `num_features`. Выходные формы совместимы таким образом, что первое измерение всех тензоров всех списков одинаково и равно количеству возможных узлов разделения для каждого объекта.

Публичные методы

static BoostedTreesCalculateBestGainsPerFeature
create (Область видимости , Операнд <Integer> nodeIdRange, Iterable< Операнд <Float>> statsSummaryList, Операнд <Float> l1, Операнд <Float> l2, Операнд <Float>treeComplexity, Операнд <Float> minNodeWeight, Long maxSplits)
Фабричный метод для создания класса, обертывающего новую операцию BoostedTreesCalculateBestGainsPerFeature.
Список< Вывод <Float>>
Список выигрышей ()
Выходной список тензоров ранга 1, указывающий наилучший выигрыш для каждого признака для разделения на определенные узлы.
Список< Вывод <Float>>
левыйNodeContribsList ()
Список тензоров ранга 2, указывающий вклад левых узлов при разветвлении от родительских узлов (задаваемых элементом тензора в выходном node_ids_list) влево по заданному порогу для каждого признака.
Список< Вывод <Целое>>
список_узлов ()
Выходной список тензоров ранга 1, указывающий возможные идентификаторы узлов разделения для каждого объекта.
Список< Вывод <Float>>
rightNodeContribsList ()
Список тензоров ранга 2 с той же формой/условиями, что и left_node_contribs_list, но значением является только правый узел.
Список< Вывод <Целое>>
список порогов ()
Выходной список тензоров ранга 1, указывающий идентификатор сегмента для сравнения (в качестве порога) для разделения в каждом узле.

Унаследованные методы

Публичные методы

public static BoostedTreesCalculateBestGainsPerFeature create ( Область действия, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummaryList, Operand <Float> l1, Operand <Float> l2, Operand <Float>treeComplexity, Operand <Float> minNodeWeight, Long maxSplits)

Фабричный метод для создания класса, обертывающего новую операцию BoostedTreesCalculateBestGainsPerFeature.

Параметры
объем текущий объем
узелидранже Тензор ранга 1 (shape=[2]) для указания диапазона [первый, последний) идентификаторов узлов для обработки в `stats_summary_list`. Узлы перебираются между двумя узлами, указанными тензором, как например `for node_id в диапазоне(node_id_range[0], node_id_range[1])` (обратите внимание, что последний индекс node_id_range[1] является исключительным).
статистикаСводкаСписок Список тензоров ранга 3 (#shape=[max_splits, Bucket, 2]) для суммарной сводной статистики (градиент/гессиан) для каждого узла по сегментам для каждого объекта. Первое измерение тензора — это максимальное количество разбиений, поэтому будут использоваться не все его элементы, а только индексы, указанные node_ids.
л1 Коэффициент регуляризации l1 для весов листьев, в зависимости от экземпляра.
л2 Коэффициент регуляризации l2 для весов листьев, в зависимости от экземпляра.
деревоСложность регулировка усиления на основе листа.
minNodeWeight минимальное среднее количество гессианов в узле, необходимое для того, чтобы узел можно было рассматривать для разделения.
maxSplits количество узлов, которые можно разделить во всем дереве. Используется как размерность выходных тензоров.
Возврат
  • новый экземпляр BoostedTreesCalculateBestGainsPerFeature

общедоступный список < Вывод <Float>> GainsList ()

Выходной список тензоров ранга 1, указывающий наилучший выигрыш для каждого признака для разделения на определенные узлы. Подробную информацию о формах и размерах см. выше.

общедоступный список < Вывод <Float>> leftNodeContribsList ()

Список тензоров ранга 2, указывающий вклад левых узлов при разветвлении от родительских узлов (задаваемых элементом тензора в выходном node_ids_list) влево по заданному порогу для каждого признака. Это значение будет использоваться для создания значения левого узла путем добавления к значению родительского узла. Размер второго измерения равен 1 для одномерных логитов, но будет больше для задач с несколькими классами. Подробную информацию о формах и размерах см. выше.

общедоступный список < Вывод <Integer>> nodeIdsList ()

Выходной список тензоров ранга 1, указывающий возможные идентификаторы узлов разделения для каждого объекта. Длина списка — num_features, но каждый тензор имеет разный размер, поскольку каждый объект предоставляет разные возможные узлы. Подробную информацию о формах и размерах см. выше.

общедоступный список < Вывод <Float>> rightNodeContribsList ()

Список тензоров ранга 2 с той же формой/условиями, что и left_node_contribs_list, но значением является только правый узел.

общедоступный список < Вывод <Целое>> пороговые значенияСписок ()

Выходной список тензоров ранга 1, указывающий идентификатор сегмента для сравнения (в качестве порога) для разделения в каждом узле. Подробную информацию о формах и размерах см. выше.