BoostedTreesCalculateBestFeatureSplit

public final class BoostedTreesCalculateBestFeatureSplit

Calcola i guadagni per ciascuna funzione e restituisce le migliori informazioni di divisione 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 funzionalità 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 BoostedTreesCalculateBestFeatureSplit.Options Attributi facoltativi per BoostedTreesCalculateBestFeatureSplit

Metodi pubblici

staticBoostedTreesCalculateBestFeatureSplit
create ( Scope scope, Operand <Integer> nodeIdRange, Operand <Float> statsSummary, Operand <Float> l1, Operand <Float> l2, Operand <Float> treeComplexity, Operand <Float> minNodeWeight, Long logitsDimension, Options ... options)
Metodo Factory per creare una classe che racchiude una nuova operazione BoostedTreesCalculateBestFeatureSplit.
Output <Integer>
featureDimensions ()
Un tensore di rango 1 che indica la migliore dimensione della feature per ciascuna feature da dividere per determinati nodi se la feature è multidimensionale.
Uscita <Float>
guadagni ()
Un tensore di grado 1 che indica i migliori guadagni per ciascuna caratteristica da dividere per determinati nodi.
Uscita <Float>
leftNodeContribs ()
Un tensore di rango 2 che indica il contributo dei nodi di sinistra quando si ramifica dai nodi padre (dato dall'elemento tensore nell'output node_ids_list) alla direzione sinistra dalla soglia data per ogni caratteristica.
Output <Integer>
nodeIds ()
Un tensore di livello 1 che indica i possibili ID dei nodi divisi per ciascuna funzione.
Uscita <Float>
rightNodeContribs ()
Un tensore di rango 2, con la stessa forma / condizioni di left_node_contribs_list, ma solo che il valore è per il nodo destro.
static BoostedTreesCalculateBestFeatureSplit.Options
splitType (String splitType)
Output <String>
splitWithDefaultDirections ()
Un tensore di rango 1 che indica la direzione in cui andare se i dati mancano.
Output <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 staticBoostedTreesCalculateBestFeatureSplit creare ( Ambito di applicazione, Operando <intero> nodeIdRange, operando <> Float statsSummary, 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 BoostedTreesCalculateBestFeatureSplit.

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 vengono 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).
statsSummary Un tensore di rango 4 (# shape = [max_splits, feature_dims, bucket, stats_dims]) per il riepilogo delle statistiche accumulate (gradiente / hessian) per nodo, per dimensione, per bucket per ogni funzionalità. La prima dimensione del tensore è il numero massimo di divisioni, quindi non verranno utilizzati tutti gli elementi di esso, ma verranno utilizzati solo gli indici specificati da node_ids.
l1 Fattore di regolarizzazione l1 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 BoostedTreesCalculateBestFeatureSplit

public Output <Integer> featureDimensions ()

Un tensore di rango 1 che indica la migliore dimensione della feature per ciascuna feature da dividere per determinati nodi se la feature è multidimensionale. Vedi sopra per dettagli come forme e dimensioni.

guadagni di output pubblici <Float> ()

Un tensore di grado 1 che indica i migliori guadagni per ciascuna caratteristica da dividere per determinati nodi. Vedi sopra per dettagli come forme e dimensioni.

output pubblico <Float> leftNodeContribs ()

Un tensore di rango 2 che indica il contributo dei nodi di sinistra quando si ramifica dai nodi padre (dato dall'elemento tensore nell'output node_ids_list) alla direzione sinistra dalla soglia data per ogni caratteristica. Questo valore verrà utilizzato per creare il valore del nodo sinistro aggiungendolo al valore del nodo padre. La dimensione della seconda dimensione è 1 per logit monodimensionali, ma sarebbe maggiore per problemi multi-classe. Vedi sopra per dettagli come forme e dimensioni.

output pubblico <Integer> nodeIds ()

Un tensore di livello 1 che indica i possibili ID dei nodi divisi per ciascuna funzione. La lunghezza dell'elenco è num_features, ma ogni tensore ha dimensioni diverse poiché ogni caratteristica fornisce diversi nodi possibili. Vedi sopra per dettagli come forme e dimensioni.

output pubblico <Float> rightNodeContribs ()

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

public static BoostedTreesCalculateBestFeatureSplit.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 la direzione in cui andare se i dati mancano. Vedi sopra per dettagli come forme e dimensioni. 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 divisione in ciascun nodo. Vedi sopra per dettagli come forme e dimensioni.