BoostedTreesCalculateBestFeatureSplitV2

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

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

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

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

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

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

Константы

Нить OP_NAME Название этой операции, известное основному движку TensorFlow.

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

static BoostedTreesCalculateBestFeatureSplitV2
create ( Область действия, Operand < TInt32 > nodeIdRange, Iterable< Operand < TFloat32 >> statsSummariesList, Operand < TString > SplitTypes, Operand < TInt32 > CandidateFeatureIds, Operand < TFloat32 > l1, Operand < TFloat32 > l2, Operand < TFloat32 > TreeComplexity, Операнд <TFloat32> minNodeWeight, Long logitsDimension)
Фабричный метод для создания класса, обертывающего новую операцию BoostedTreesCalculateBestFeatureSplitV2.
Вывод < TInt32 >
функцияРазмеры ()
Тензоры ранга 1, указывающие наилучшее измерение объекта для каждого объекта, который можно разделить на определенные узлы, если объект является многомерным.
Вывод < TInt32 >
идентификаторы функций ()
Тензоры ранга 1, указывающие лучший идентификатор функции для каждого узла.
Вывод <TFloat32>
прибыль ()
Тензор ранга 1, указывающий наилучший выигрыш для каждого признака для разделения на определенные узлы.
Вывод <TFloat32>
левыйNodeContribs ()
Тензоры ранга 2, указывающие вклад левых узлов при разветвлении от родительских узлов (задаваемых элементом тензора в выходном node_ids_list) влево по заданному порогу для каждого объекта.
Вывод < TInt32 >
идентификаторы узлов ()
Тензоры ранга 1, указывающие возможные идентификаторы узлов разделения для каждого объекта.
Вывод <TFloat32>
rightNodeContribs ()
Тензоры ранга 2 с той же формой/условиями, что и left_node_contribs_list, но значением является только правый узел.
Вывод < TString >
сплитвисдефолтдиректионс ()
Тензоры ранга 1, указывающие, в каком направлении двигаться, если данные отсутствуют.
Вывод < TInt32 >
пороги ()
Тензоры ранга 1, указывающие идентификатор сегмента для сравнения (в качестве порога) для разделения в каждом узле.

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

Константы

общедоступная статическая финальная строка OP_NAME

Название этой операции, известное основному движку TensorFlow.

Постоянное значение: «BoostedTreesCalculateBestFeatureSplitV2».

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

public static BoostedTreesCalculateBestFeatureSplitV2 create ( Область действия, Operand < TInt32 > nodeIdRange, Iterable < Operand < TFloat32 >> statsSummariesList, Operand < TString > SplitTypes, Operand < TInt32 > CanadianFeatureIds, Operand < TFloat32 > l1, Operand < TFloat32 > l2, Operand < TFloat32 > TreeComplexity, Операнд < TFloat32 > minNodeWeight, Long logitsDimension)

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

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

публичный вывод <TInt32> FeatureDimensions ()

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

публичный вывод <TInt32> FeatureIds ()

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

публичный вывод <TFloat32> прирост ()

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

публичный вывод <TFloat32> leftNodeContribs ()

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

публичный вывод <TInt32> nodeIds ()

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

публичный вывод <TFloat32> rightNodeContribs ()

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

публичный вывод < TString > SplitWithDefaultDirections ()

Тензоры ранга 1, указывающие, в каком направлении двигаться, если данные отсутствуют. Подробную информацию о формах и размерах см. выше. Неравенство с левым по умолчанию возвращает 0, неравенство с правым по умолчанию возвращает 1, равенство с правым по умолчанию возвращает 2.

общедоступный вывод <TInt32> пороги ()

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