BoostedTreesSparseCalculateBestFeatureSplit

public final class BoostedTreesSparseCalculateBestFeatureSplit

Calcola i guadagni per ciascuna funzione e restituisce le migliori informazioni di suddivisione possibili per la funzione.

Le informazioni suddivise sono la migliore soglia (bucket id), guadagni e contributi del nodo sinistro / destro per nodo per ciascuna funzionalità.

È possibile che non tutti i nodi possano essere suddivisi su ciascuna funzione. Quindi, l'elenco dei possibili nodi può differire tra le caratteristiche. Pertanto, restituiamo `node_ids_list` per ogni caratteristica, contenente l'elenco dei nodi che questa caratteristica può essere utilizzata per suddividere.

In questo modo, l'output è la migliore divisione per funzionalità e per nodo, quindi deve essere combinato in seguito per produrre la migliore divisione per ogni nodo (tra tutte le caratteristiche possibili).

Le forme di output sono compatibili in modo che la prima dimensione di tutti i tensori sia la stessa e uguale al numero di possibili nodi di divisione per ciascuna funzione.

Classi annidate

classe BoostedTreesSparseCalculateBestFeatureSplit.Options Attributi facoltativi per BoostedTreesSparseCalculateBestFeatureSplit

Metodi pubblici

static BoostedTreesSparseCalculateBestFeatureSplit
creare ( Ambito di applicazione portata, operando <intero> nodeIdRange, operando <intero> statsSummaryIndices, operando <Float> statsSummaryValues, operando <Integer> statsSummaryShape, operando <Float> l1, operando <Float> l2, operando <Float> treeComplexity, operando <Float > minNodeWeight, Long logitsDimension, Opzioni ... opzioni)
Metodo Factory per creare una classe che racchiude una nuova operazione BoostedTreesSparseCalculateBestFeatureSplit.
Uscita <Integer>
featureDimensions ()
Un tensore di rango 1 che indica la dimensione migliore per ciascuna funzione da dividere per ogni nodo.
Uscita <Float>
guadagni ()
Un tensore di grado 1 che indica i migliori guadagni per dividere ciascun nodo.
Uscita <Float>
leftNodeContribs ()
Un tensore di rango 2 che indica il contributo dei nodi di sinistra quando si ramifica dai nodi padre alla direzione sinistra in base alla soglia data per ciascuna caratteristica.
Uscita <Integer>
nodeIds ()
Un tensore di rango 1 che indica i possibili ID nodo che possono essere suddivisi.
Uscita <Float>
rightNodeContribs ()
Un tensore di grado 2, con la stessa forma / condizioni di left_node_contribs_list, ma solo che il valore è per il nodo destro.
static BoostedTreesSparseCalculateBestFeatureSplit.Options
splitType (String splitType)
Output <String>
splitWithDefaultDirections ()
Un tensore di rango 1 che indica in quale direzione andare se i dati mancano.
Uscita <Integer>
soglie ()
Un tensore di rango 1 che indica l'ID del bucket da confrontare (come soglia) per la divisione in ciascun nodo.

Metodi ereditati

Metodi pubblici

public static BoostedTreesSparseCalculateBestFeatureSplit creare ( Ambito di applicazione, 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, Opzioni ... opzioni)

Metodo Factory per creare una classe che racchiude una nuova operazione BoostedTreesSparseCalculateBestFeatureSplit.

Parametri
scopo ambito attuale
nodeIdRange Un tensore di rango 1 (forma = [2]) per specificare l'intervallo [primo, ultimo) di ID nodo da elaborare all'interno di `stats_summary_list`. I nodi sono iterati tra i due nodi specificati dal tensore, come `per node_id in range (node_id_range [0], node_id_range [1])` (Notare che l'ultimo indice node_id_range [1] è esclusivo).
statsSummaryIndices Un tensore int64 di rango 2 di forma densa [N, 4] (N specifica il numero di valori diversi da zero) per il riepilogo delle statistiche accumulate (gradiente / hessiana) per nodo per bucket per ciascuna funzionalità. La seconda dimensione contiene l'ID del nodo, la dimensione dell'elemento, l'ID del bucket e le statistiche dim. stats dim è la somma della dimensione logit e della dimensione hessian, la dimensione hessian può essere dimensione logit se viene utilizzata hessian diagonale o dimensione logit ^ 2 se viene utilizzata hessian completa.
statsSummaryValues Un tensore a virgola mobile di rango 1 di forma densa [N] (N specifica il numero di valori diversi da zero), che fornisce i valori per ogni elemento in summary_indices.
statsSummaryShape Un tensore a virgola mobile di rango 1 di forma densa [4], che specifica la forma densa del tensore sparse, che è [num tree nodes, feature dimension, num bucket, stats dim].
l1 l1 fattore di regolarizzazione sui pesi delle foglie, per istanza.
l2 l2 fattore di regolarizzazione sui pesi delle foglie, per istanza.
treeComplexity regolazione del guadagno, per foglia.
minNodeWeight media minima di hessian in un nodo prima richiesta per il nodo da considerare per la divisione.
logitsDimension La dimensione del logit, cioè il numero di classi.
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di BoostedTreesSparseCalculateBestFeatureSplit

public Output <Integer> featureDimensions ()

Un tensore di rango 1 che indica la migliore dimensione della feature per ciascuna feature da dividere per ogni nodo.

guadagni di output pubblici <Float> ()

Un tensore di grado 1 che indica i migliori guadagni per dividere ciascun nodo.

output pubblico <Float> leftNodeContribs ()

Un tensore di rango 2 che indica il contributo dei nodi di sinistra quando si ramifica dai nodi padre alla direzione sinistra in base alla soglia data per ciascuna caratteristica. Questo valore verrà utilizzato per creare il valore del nodo sinistro aggiungendolo al valore del nodo padre. La dimensione della seconda dimensione è la dimensione del logit.

output pubblico <Integer> nodeIds ()

Un tensore di rango 1 che indica i possibili ID nodo che possono essere suddivisi.

output pubblico <Float> rightNodeContribs ()

Un tensore di grado 2, con la stessa forma / condizioni di left_node_contribs_list, ma solo che il valore è per il nodo destro.

public static BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)

Parametri
splitType Una stringa che indica se questo Op deve eseguire una divisione di disuguaglianza o una divisione di uguaglianza.

output pubblico <String> splitWithDefaultDirections ()

Un tensore di rango 1 che indica in quale direzione andare se i dati mancano. La disuguaglianza con il valore predefinito a sinistra restituisce 0, la disuguaglianza con il valore predefinito a destra restituisce 1, l'uguaglianza con il valore predefinito a destra restituisce 2.

public Output <Integer> soglie ()

Un tensore di rango 1 che indica l'ID del bucket da confrontare (come soglia) per la suddivisione in ciascun nodo.