BoostedTreesCalculateBestGainsPerFeature

classe final pública BoostedTreesCalculateBestGainsPerFeature

Calcula ganhos para cada recurso e retorna as melhores informações de divisão possíveis para o recurso.

A informação de divisão é o melhor limite (bucket id), ganhos e contribuições de nó esquerdo/direito por nó para cada recurso.

É possível que nem todos os nós possam ser divididos em cada recurso. Portanto, a lista de nós possíveis pode diferir entre os recursos. Portanto, retornamos `node_ids_list` para cada recurso, contendo a lista de nós que esse recurso pode ser usado para dividir.

Dessa forma, a saída é a melhor divisão por recursos e por nó, de modo que precisa ser combinada posteriormente para produzir a melhor divisão para cada nó (entre todos os recursos possíveis).

O tamanho das listas de saída são todos do mesmo tamanho, `num_features`. As formas de saída são compatíveis de forma que a primeira dimensão de todos os tensores de todas as listas seja a mesma e igual ao número de nós de divisão possíveis para cada recurso.

Métodos públicos

static BoostedTreesCalculeBestGainsPerFeature
create ( Escopo do escopo, Operando <Integer> nodeIdRange, Iterable< Operando <Float>> statsSummaryList, Operando <Float> l1, Operando <Float> l2, Operando <Float> treeComplexity, Operando <Float> minNodeWeight, Long maxSplits)
Método de fábrica para criar uma classe que envolve uma nova operação BoostedTreesCalculateBestGainsPerFeature.
Lista< Saída <Float>>
lista de ganhos ()
Uma lista de saída de tensores de Rank 1 indicando os melhores ganhos para cada recurso a ser dividido para determinados nós.
Lista< Saída <Float>>
leftNodeContribsList ()
Uma lista de tensores de Rank 2 indicando a contribuição dos nós esquerdos ao ramificar dos nós pais (dados pelo elemento tensor na saída node_ids_list) para a direção esquerda pelo limite fornecido para cada recurso.
Lista< Saída <Inteiro>>
nodeIdsList ()
Uma lista de saída de tensores Rank 1 indicando possíveis IDs de nós divididos para cada recurso.
Lista< Saída <Float>>
rightNodeContribsList ()
Uma lista de tensores Rank 2, com a mesma forma/condições que left_node_contribs_list, mas apenas que o valor é para o nó direito.
Lista< Saída <Inteiro>>
lista de limites ()
Uma lista de saída de tensores Rank 1 indicando o ID do bucket para comparar (como um limite) para divisão em cada nó.

Métodos Herdados

Métodos públicos

public static BoostedTreesCalculateBestGainsPerFeature create ( Escopo do escopo, Operando <Integer> nodeIdRange, Iterable< Operando <Float>> statsSummaryList, Operando <Float> l1, Operando <Float> l2, Operando <Float> treeComplexity, Operando <Float> minNodeWeight, Long maxSplits)

Método de fábrica para criar uma classe que envolve uma nova operação BoostedTreesCalculateBestGainsPerFeature.

Parâmetros
alcance escopo atual
nodeIdRange Um tensor Rank 1 (shape=[2]) para especificar o intervalo [primeiro, último) de ids de nó para processar dentro de `stats_summary_list`. Os nós são iterados entre os dois nós especificados pelo tensor, como `for node_id in range(node_id_range[0], node_id_range[1])` (Observe que o último índice node_id_range[1] é exclusivo).
statsResumoLista Uma lista de tensores Rank 3 (#shape=[max_splits, bucket, 2]) para resumo de estatísticas acumuladas (gradiente/hessian) por nó por buckets para cada recurso. A primeira dimensão do tensor é o número máximo de divisões e, portanto, nem todos os elementos dele serão usados, mas apenas os índices especificados por node_ids serão usados.
l1 l1 fator de regularização em pesos de folha, por instância.
l2 l2 fator de regularização em pesos de folha, por instância.
treeComplexidade ajuste ao ganho, por folha.
minNodeWeight média mínima de hessianos em um nó antes de ser necessário para que o nó seja considerado para divisão.
maxSplits o número de nós que podem ser divididos em toda a árvore. Usado como uma dimensão de tensores de saída.
Devoluções
  • uma nova instância de BoostedTreesCalculateBestGainsPerFeature

public List< Saída <Float>> ganhosList ()

Uma lista de saída de tensores de Rank 1 indicando os melhores ganhos para cada recurso a ser dividido para determinados nós. Veja acima para detalhes como formas e tamanhos.

public List< Saída <Float>> leftNodeContribsList ()

Uma lista de tensores de Rank 2 indicando a contribuição dos nós esquerdos ao ramificar dos nós pais (dados pelo elemento tensor na saída node_ids_list) para a direção esquerda pelo limite fornecido para cada recurso. Esse valor será usado para criar o valor do nó esquerdo adicionando ao valor do nó pai. O tamanho da segunda dimensão é 1 para logits unidimensionais, mas seria maior para problemas multiclasse. Veja acima para detalhes como formas e tamanhos.

public List< Output <Integer>> nodeIdsList ()

Uma lista de saída de tensores Rank 1 indicando possíveis IDs de nós divididos para cada recurso. O comprimento da lista é num_features, mas cada tensor tem um tamanho diferente, pois cada recurso fornece diferentes nós possíveis. Veja acima para detalhes como formas e tamanhos.

public List< Output <Float>> rightNodeContribsList ()

Uma lista de tensores Rank 2, com a mesma forma/condições que left_node_contribs_list, mas apenas que o valor é para o nó direito.

public List< Output <Integer>> thresholdsList ()

Uma lista de saída de tensores Rank 1 indicando o ID do bucket para comparar (como um limite) para divisão em cada nó. Veja acima para detalhes como formas e tamanhos.