Calcula las ganancias para cada función y devuelve la mejor información de división posible para la función.
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 característica.
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.
Clases anidadas
clase | BoostedTreesSparseCalculateBestFeatureSplit.Options | Atributos opcionales para BoostedTreesSparseCalculateBestFeatureSplit |
Métodos públicos
estático BoostedTreesSparseCalculateBestFeatureSplit | create ( Scope scope, Operand <Integer> nodeIdRange, Operand <Integer> statsSummaryIndices, Operand <Float> statsSummaryValues, Operand <Integer> statsSummaryShape, Operand <Float> l1, Operand <Float> l2, Operand <Float> treeComplexity, Operand <Float > minNodeWeight, Long logitsDimension, Opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación BoostedTreesSparseCalculateBestFeatureSplit. |
Salida <Entero> | característicaDimensiones () Un tensor de rango 1 que indica la mejor dimensión de característica para que cada característica se divida para cada nodo. |
Salida <Flotante> | ganancias () Un tensor de rango 1 que indica las mejores ganancias para dividir cada nodo. |
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 hacia la izquierda por el umbral dado para cada característica. |
Salida <Entero> | ID de nodo () Un tensor de rango 1 que indica los posibles identificadores de nodos que se pueden dividir. |
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. |
estático BoostedTreesSparseCalculateBestFeatureSplit.Options | splitType (Cadena splitType) |
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 BoostedTreesSparseCalculateBestFeatureSplit create ( Scope scope, Operand <Integer> nodeIdRange, Operand <Integer> statsSummaryIndices, Operand <Float> statsSummaryValues, Operand <Integer> statsSummaryShape, Operando <Float> l1, Operando <Float> l2, Operando <Float> treeComplexity, Operando <Flotante> minNodeWeight, Long logitsDimension, Opciones... opciones)
Método de fábrica para crear una clase que envuelve 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 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ísticasResumenÍndices | Un tensor int64 de rango 2 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 cubo para cada entidad. La segunda dimensión contiene la identificación del nodo, la dimensión de la función, la identificación del depósito y la dimensión de las estadísticas. stats dim es la suma de la dimensión logits y la dimensión hessian, la dimensión hessian puede ser dimensión logits si se usa hessian diagonal, o dimensión logits ^ 2 si se usa hessian completo. |
EstadísticasResumenValores | 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. |
estadísticasResumenForma | Un tensor flotante de rango 1 de forma densa [4], que especifica la forma densa del tensor disperso, que es [núm. de nodos de árbol, dimensiones de características, núm. de cubos, dim de estadísticas]. |
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. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de BoostedTreesSparseCalculateBestFeatureSplit
public Output <Integer> featureDimensions ()
Un tensor de rango 1 que indica la mejor dimensión de característica para que cada característica se divida para cada nodo.
Salida pública <Flotante> ganancias ()
Un tensor de rango 1 que indica las mejores ganancias para dividir cada nodo.
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 hacia la izquierda por el umbral dado para cada característica. 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 la dimensión logits.
Salida pública <Entero> nodeIds ()
Un tensor de rango 1 que indica los posibles identificadores de nodos que se pueden dividir.
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.
public static BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)
Parámetros
dividido | Una cadena que indica si esta operación debe realizar una división de desigualdad o una división de igualdad. |
---|
Salida pública <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.
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.