BoostedTreesCalculateBestFeatureSplitV2

clase final pública BoostedTreesCalculateBestFeatureSplitV2

Calcula las ganancias para cada función y devuelve la mejor información dividida posible para cada nodo. Sin embargo, si no se encuentra ninguna división, no se devuelve información de división para ese nodo.

La información dividida es el mejor umbral (ID de depósito), las ganancias y las contribuciones de los nodos izquierdo/derecho por nodo para cada función.

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

De esta manera, la salida es la mejor división por características y por nodo, por lo que debe combinarse más tarde 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 entidad.

Métodos públicos

estático BoostedTreesCalculateBestFeatureSplitV2
create ( Scope scope, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummariesList, Operand <String> splitTypes, Operand <Integer> CandidateFeatureIds, Operando <Float> l1, Operando <Float> l2, Operando <Float> treeComplexity, Operando <Flotante> minNodeWeight, Long logitsDimension)
Método de fábrica para crear una clase que envuelve una nueva operación BoostedTreesCalculateBestFeatureSplitV2.
Salida <Entero>
característicaDimensiones ()
Tensores de rango 1 que indican la mejor dimensión de característica para que cada característica se divida para ciertos nodos si la característica es multidimensional.
Salida <Entero>
identificadores de funciones ()
Tensores de rango 1 que indican la mejor identificación de característica para cada nodo.
Salida <Flotante>
ganancias ()
Un tensor de rango 1 que indica las mejores ganancias para cada función para dividir para ciertos nodos.
Salida <Flotante>
contribuciones del nodo izquierdo ()
Un tensor de rango 2 que indica la contribución de los nodos izquierdos cuando se ramifica desde los nodos principales (dado por el elemento tensor en la salida node_ids_list) a la dirección izquierda por el umbral dado para cada entidad.
Salida <Entero>
ID de nodo ()
Tensores de rango 1 que indican posibles ID de nodos divididos para cada función.
Salida <Flotante>
nododerechoContribs ()
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.
Salida <Cadena>
dividir con direcciones predeterminadas ()
Un tensor de rango 1 que indica en qué dirección ir si faltan datos.
Salida <Entero>
umbrales ()
Un tensor de rango 1 que indica la identificación del depósito para comparar (como un umbral) para dividir en cada nodo.

Métodos Heredados

Métodos públicos

public static BoostedTreesCalculateBestFeatureSplitV2 create ( Scope scope, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummariesList, Operand <String> splitTypes, Operand <Integer> CandidateFeatureIds, Operand <Float> l1, Operand <Float> l2, Operand <Float > treeComplexity, Operand <Float> minNodeWeight, Long logitsDimension)

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

Parámetros
alcance alcance actual
nodeIdRange Un tensor de rango 1 (forma = [2]) para especificar el rango [primero, último] de ID de nodo para procesar dentro de `stats_summary_list`. Los nodos se iteran entre los dos nodos especificados por el tensor, como `for 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).
EstadísticasResúmenesLista Una lista del tensor de rango 4 (#shape=[max_splits, feature_dims, bucket, stats_dims]) para el resumen de estadísticas acumuladas (gradiente/arpillera) por nodo, por dimensión, por cubos para cada función. La primera dimensión del tensor es el número máximo de divisiones y, por lo tanto, no se utilizarán todos los elementos del mismo, sino que solo se utilizarán los índices especificados por node_ids.
Tipos divididos Un tensor de rango 1 que indica si esta operación debe realizar una división de desigualdad o una división de igualdad por entidad.
ID de función de candidato Tensor de rango 1 con identificadores para cada función. Esta es la identificación real de la función.
l1 l1 factor de regularización sobre pesos de hoja, por instancia.
l2 l2 factor de regularización sobre el peso de las hojas, por instancia.
árbolComplejidad ajuste de la ganancia, por hoja.
minNodeWeight promedio mínimo de arpilleras en un nodo antes de que se requiera que el nodo se considere para la división.
dimensión logits La dimensión de logit, es decir, número de clases.
Devoluciones
  • una nueva instancia de BoostedTreesCalculateBestFeatureSplitV2

public Output <Integer> featureDimensions ()

Tensores de rango 1 que indican la mejor dimensión de característica para que cada característica se divida para ciertos nodos si la característica es multidimensional. Vea arriba para detalles como formas y tamaños.

Salida pública <Entero> ID de característica ()

Tensores de rango 1 que indican la mejor identificación de característica para cada nodo. Vea arriba para detalles como formas y tamaños.

Salida pública <Flotante> ganancias ()

Un tensor de rango 1 que indica las mejores ganancias para cada función para dividir para ciertos nodos. Vea arriba para detalles como formas y tamaños.

Public Output <Float> leftNodeContribs ()

Un tensor de rango 2 que indica la contribución de los nodos izquierdos cuando se ramifica desde los nodos principales (dado por el elemento tensor en la salida node_ids_list) a la dirección izquierda por el umbral dado para cada entidad. Este valor se usará para hacer que el valor del nodo izquierdo se agregue al valor del nodo principal. El tamaño de la segunda dimensión es 1 para logits unidimensionales, pero sería mayor para problemas de varias clases. Vea arriba para detalles como formas y tamaños.

Salida pública <Entero> nodeIds ()

Tensores de rango 1 que indican posibles ID de nodos divididos para cada función. La longitud de la lista es num_features, pero cada tensor tiene un tamaño diferente ya que cada característica proporciona diferentes nodos posibles. Vea arriba para detalles como formas y tamaños.

Salida pública <Flotante> 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.

Salida pública <String> splitWithDefaultDirections ()

Un tensor de rango 1 que indica en qué dirección ir si faltan datos. Vea arriba para detalles como formas y tamaños. La desigualdad con la izquierda predeterminada devuelve 0, la desigualdad con la derecha predeterminada devuelve 1, la igualdad con la derecha predeterminada devuelve 2.

Salida pública <Entero> umbrales ()

Un tensor de rango 1 que indica la identificación del depósito para comparar (como un umbral) para dividir en cada nodo. Vea arriba para detalles como formas y tamaños.