BoostedTreesCalculateBestFeatureSplit

clase final pública BoostedTreesCalculateBestFeatureSplit

Calcula las ganancias de 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), las ganancias y las contribuciones de los nodos izquierdo/derecho por nodo para cada característica.

Es posible que no todos los nodos puedan dividirse en cada entidad. Por lo tanto, la lista de posibles nodos puede diferir entre las funciones. 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 sea la misma e igual al número de posibles nodos divididos para cada característica.

Clases anidadas

clase BoostedTreesCalculateBestFeatureSplit.Options Atributos opcionales para BoostedTreesCalculateBestFeatureSplit

Constantes

Cadena OP_NOMBRE El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Métodos públicos

Estático BoostedTreesCalculateBestFeatureSplit
crear ( alcance alcance , Operando < TInt32 > nodeIdRange, Operando < TFloat32 > statsSummary, Operando < TFloat32 > l1, Operando < TFloat32 > l2, Operando < TFloat32 > treeComplexity, Operando < TFloat32 > minNodeWeight, Long logitsDimension, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación BoostedTreesCalculateBestFeatureSplit.
Salida < TInt32 >
característicaDimensiones ()
Tensores de rango 1 que indican la mejor dimensión de característica para que cada característica se divida en ciertos nodos si la característica es multidimensional.
Salida <TFloat32>
ganancias ()
Tensores de rango 1 que indican las mejores ganancias para que cada característica se divida en ciertos nodos.
Salida <TFloat32>
leftNodeContribuciones ()
Tensores de rango 2 que indican la contribución de los nodos izquierdos cuando se ramifican desde los nodos principales (dado por el elemento tensor en la salida node_ids_list) hacia la dirección izquierda según el umbral dado para cada característica.
Salida < TInt32 >
ID de nodo ()
Tensores de rango 1 que indican posibles identificadores de nodos divididos para cada característica.
Salida <TFloat32>
rightNodeContribuciones ()
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 BoostedTreesCalculateBestFeatureSplit.Options
splitType (tipo de división de cadena)
Salida <TString>
splitWithDefaultDirections ()
Tensores de rango 1 que indican en qué dirección ir si faltan datos.
Salida < TInt32 >
umbrales ()
Tensores de rango 1 que indican la identificación del depósito con el que comparar (como umbral) para la división en cada nodo.

Métodos heredados

Constantes

Cadena final estática pública OP_NAME

El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Valor constante: "BoostedTreesCalculateBestFeatureSplit"

Métodos públicos

público estático BoostedTreesCalculateBestFeatureSplit crear ( alcance alcance, Operando < TInt32 > nodeIdRange, Operando < TFloat32 > statsSummary, Operando < TFloat32 > l1, Operando < TFloat32 > l2, Operando < TFloat32 > treeComplexity, Operando < TFloat32 > minNodeWeight, Long logitsDimension, Opciones.. . opciones)

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

Parámetros
alcance alcance actual
rangoIdNodo 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 Un 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 depósitos para cada característica. La primera dimensión del tensor es el número máximo de divisiones y, por lo tanto, no se usarán todos sus elementos, sino que solo se usarán los índices especificados por node_ids.
l1 l1 factor de regularización sobre el peso de las hojas, por instancia.
l2 Factor de regularización l2 sobre el peso de las hojas, por instancia.
árbolComplejidad ajuste a la ganancia, por hoja.
minNodoPeso Promedio mínimo de arpillera 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 BoostedTreesCalculateBestFeatureSplit

Salida pública < TInt32 > featureDimensions ()

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

Salida pública <TFloat32> ganancias ()

Tensores de rango 1 que indican las mejores ganancias para que cada característica se divida en ciertos nodos. Consulte arriba para obtener detalles como formas y tamaños.

Salida pública <TFloat32> leftNodeContribs ()

Tensores de rango 2 que indican la contribución de los nodos izquierdos cuando se ramifican desde los nodos principales (dado por el elemento tensor en la salida node_ids_list) hacia la dirección izquierda según el umbral dado para cada característica. Este valor se utilizará para crear el valor del nodo izquierdo sumándolo 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. Consulte arriba para obtener detalles como formas y tamaños.

Salida pública < TInt32 > nodeIds ()

Tensores de rango 1 que indican posibles identificadores de nodos divididos para cada característica. 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. Consulte arriba para obtener detalles como formas y tamaños.

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

pública estática BoostedTreesCalculateBestFeatureSplit.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.

Salida pública <TString> splitWithDefaultDirections ()

Tensores de rango 1 que indican en qué dirección ir si faltan datos. Consulte arriba para obtener 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 < TInt32 > umbrales ()

Tensores de rango 1 que indican la identificación del depósito con el que comparar (como umbral) para la división en cada nodo. Consulte arriba para obtener detalles como formas y tamaños.