BoostedTreesSparseCalculateBestFeatureSplit

BoostedTreesSparseCalculateBestFeatureSplit public final class

Calcula las ganancias para cada función y devuelve la mejor información dividida posible para la función.

La información dividida es el mejor umbral (ID de depósito), ganancias y contribuciones de nodo izquierdo / derecho por nodo para cada característica.

Es posible que no todos los nodos se puedan dividir en cada función. Por lo tanto, la lista de posibles nodos puede diferir entre las características. Por lo tanto, devolvemos `node_ids_list` para cada característica, que contiene la lista de nodos que esta característica puede usarse para dividir.

De esta manera, la salida es la mejor división por características y por nodo, por lo que debe combinarse más adelante para producir la mejor división para cada nodo (entre todas las características posibles).

Las formas de salida son compatibles de manera que la primera dimensión de todos los tensores es la misma e igual al número de posibles nodos divididos para cada característica.

Clases anidadas

clase BoostedTreesSparseCalculateBestFeatureSplit.Options Los atributos opcionales para BoostedTreesSparseCalculateBestFeatureSplit

Métodos públicos

estática BoostedTreesSparseCalculateBestFeatureSplit
crear ( Alcance alcance, operando <entero> nodeIdRange, operando <entero> statsSummaryIndices, operando <flotador> statsSummaryValues, operando <Integer> statsSummaryShape, operando <Float> L1, operando <Float> L2, operando <Float> treeComplexity, operando <Float > minNodeWeight, Long logitsDimension, opciones ... opciones)
Método de fábrica para crear una clase que envuelva una nueva operación BoostedTreesSparseCalculateBestFeatureSplit.
Salida <Integer>
featureDimensions ()
Un tensor de rango 1 que indica la mejor dimensión de característica para cada característica a dividir para cada nodo.
Salida <Float>
ganancias ()
Un tensor de rango 1 que indica las mejores ganancias para dividir cada nodo.
Salida <Float>
leftNodeContribs ()
Un tensor de rango 2 que indica la contribución de los nodos izquierdos cuando se ramifican desde los nodos principales hacia la dirección izquierda por el umbral dado para cada característica.
Salida <Integer>
nodeIds ()
Un tensor de rango 1 que indica posibles ID de nodo que se pueden dividir.
Salida <Float>
rightNodeContribs ()
Un tensor de rango 2, con la misma forma / condiciones que left_node_contribs_list, pero solo que el valor es para el nodo derecho.
estáticas BoostedTreesSparseCalculateBestFeatureSplit.Options
splitType (String splitType)
Salida <String>
splitWithDefaultDirections ()
Un tensor de rango 1 que indica en qué dirección ir si faltan datos.
Salida <Integer>
umbrales ()
Un tensor de rango 1 que indica el ID del depósito con el que comparar (como umbral) para dividir en cada nodo.

Métodos heredados

Métodos públicos

public static BoostedTreesSparseCalculateBestFeatureSplit crear ( Alcance alcance, operando <Integer> nodeIdRange, operando <Integer> statsSummaryIndices, operando <Float> statsSummaryValues, operando <Integer> statsSummaryShape, operando <Float> L1, operando <Float> L2, operando <Float> treeComplexity, operando <Float> minNodeWeight, Long logitsDimension, opciones ... opciones)

Método de fábrica para crear una clase que envuelva una nueva operación BoostedTreesSparseCalculateBestFeatureSplit.

Parámetros
alcance alcance actual
nodeIdRange Un tensor de rango 1 (forma = [2]) para especificar el rango [primero, último) de ID de nodo a procesar dentro de `stats_summary_list`. Los nodos se iteran entre los dos nodos especificados por el tensor, como `para node_id in range (node_id_range [0], node_id_range [1])` (Tenga en cuenta que el último índice node_id_range [1] es exclusivo).
statsSummaryIndices Un tensor de rango 2 int64 de forma densa [N, 4] (N especifica el número de valores distintos de cero) para el resumen de estadísticas acumuladas (gradiente / arpillera) por nodo por depósito para cada característica. La segunda dimensión contiene la identificación del nodo, la dimensión de la característica, la identificación del depósito y las estadísticas atenuadas. stats dim es la suma de la dimensión logits y la dimensión de la arpillera, la dimensión de la arpillera puede ser la dimensión logits si se usa la arpillera diagonal, o la dimensión logits ^ 2 si se usa la arpillera completa.
statsSummaryValues Un tensor flotante de rango 1 de forma densa [N] (N especifica el número de valores distintos de cero), que proporciona los valores para cada elemento en summary_indices.
statsSummaryShape Un tensor flotante de rango 1 de forma densa [4], que especifica la forma densa del tensor disperso, que es [núm nodos de árbol, dimensiones de características, núm cubos, estadísticas tenues].
l1 l1 factor de regularización en pesos de hojas, por instancia.
l2 l2 factor de regularización de los pesos de las hojas, por instancia.
treeComplejidad ajuste a la ganancia, por hoja.
minNodeWeight promedio mínimo de arpilleras en un nodo antes requerido para que el nodo sea considerado para la división.
logitsDimension La dimensión de logit, es decir, número de clases.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de BoostedTreesSparseCalculateBestFeatureSplit

pública de salida <Integer> featureDimensions ()

Un tensor de rango 1 que indica la mejor dimensión de característica para cada característica a dividir para cada nodo.

pública Salida <> Float ganancias ()

Un tensor de rango 1 que indica las mejores ganancias para dividir cada nodo.

pública Salida <> Float leftNodeContribs ()

Un tensor de rango 2 que indica la contribución de los nodos izquierdos cuando se ramifican desde los nodos principales hacia la dirección izquierda por el umbral dado para cada característica. Este valor se usará para hacer el valor del nodo izquierdo agregando al valor del nodo principal. El tamaño de la segunda dimensión es la dimensión de logits.

pública de salida <Integer> nodeIds ()

Un tensor de rango 1 que indica posibles ID de nodo que se pueden dividir.

pública Salida <> Float rightNodeContribs ()

Un tensor de rango 2, con la misma forma / condiciones que left_node_contribs_list, pero solo que el valor es para el nodo derecho.

public static BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)

Parámetros
dividido Una cadena que indica si esta operación debe realizar una división por desigualdad o una división por igualdad.

pública de salida <String> splitWithDefaultDirections ()

Un tensor de rango 1 que indica en qué dirección ir si faltan datos. La desigualdad con la izquierda predeterminada devuelve 0, la desigualdad con la derecha predeterminada devuelve 1, la igualdad con la derecha predeterminada devuelve 2.

pública de salida <Integer> umbrales ()

Un tensor de rango 1 que indica el ID del depósito con el que comparar (como umbral) para dividir en cada nodo.