Calcola i guadagni per ciascuna funzionalità e restituisce le migliori informazioni di suddivisione possibili per la funzionalità.
Le informazioni suddivise rappresentano la soglia migliore (ID bucket), i guadagni e i contributi dei nodi sinistro/destro per nodo per ciascuna funzionalità.
È possibile che non tutti i nodi possano essere suddivisi su ciascuna funzionalità. Pertanto, l'elenco dei possibili nodi può differire a seconda delle funzionalità. Pertanto, restituiamo `node_ids_list` per ciascuna funzionalità, contenente l'elenco dei nodi che questa funzionalità può essere utilizzata per dividere.
In questo modo, l'output è la migliore suddivisione per funzionalità e per nodo, in modo che debba essere combinata successivamente per produrre la migliore suddivisione per ciascun nodo (tra tutte le possibili funzionalità).
Le forme di output sono compatibili in modo tale che la prima dimensione di tutti i tensori sia la stessa e uguale al numero di possibili nodi divisi per ciascuna caratteristica.
Classi nidificate
classe | BoostedTreesSparseCalculateBestFeatureSplit.Options | Attributi facoltativi per BoostedTreesSparseCalculateBestFeatureSplit |
Costanti
Corda | OP_NAME | Il nome di questa operazione, come noto al motore principale di TensorFlow |
Metodi pubblici
static BoostedTreesSparseCalculateBestFeatureSplit | create ( Scope scope, Operando < TInt32 > nodeIdRange, Operando < TInt32 > statsSummaryIndices, Operando < TFloat32 > statsSummaryValues, Operando < TInt32 > statsSummaryShape, Operando < TFloat32 > l1, Operando < TFloat32 > l2, Operando < TFloat32 > treeComplexity, Operando < TFloat32 > minNodeWeight, Long logitsDimension, Opzioni... opzioni) Metodo factory per creare una classe che racchiude una nuova operazione BoostedTreesSparseCalculateBestFeatureSplit. |
Uscita < TInt32 > | caratteristicaDimensioni () Un tensore di rango 1 che indica la migliore dimensione della feature per ciascuna feature da dividere per ciascun nodo. |
Uscita < TFloat32 > | guadagni () Un tensore di rango 1 che indica i migliori guadagni per dividere ciascun nodo. |
Uscita < TFloat32 > | leftNodeContribs () Un tensore di grado 2 che indica il contributo dei nodi di sinistra quando si ramifica dai nodi principali alla direzione di sinistra entro la soglia data per ciascuna caratteristica. |
Uscita < TInt32 > | ID nodo () Un tensore di rango 1 che indica i possibili ID dei nodi che possono essere suddivisi. |
Uscita < TFloat32 > | 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 BoostedTreesSparseCalculateBestFeatureSplit.Options | splitType (Stringa splitType) |
Uscita < TString > | splitWithDefaultDirections () Un tensore di rango 1 che indica la direzione da prendere se mancano i dati. |
Uscita < TInt32 > | soglie () Un tensore di rango 1 che indica l'ID del bucket con cui confrontare (come soglia) la suddivisione in ciascun nodo. |
Metodi ereditati
Costanti
Stringa finale statica pubblica OP_NAME
Il nome di questa operazione, come noto al motore principale di TensorFlow
Metodi pubblici
public static BoostedTreesSparseCalculateBestFeatureSplit create ( Scope scope, Operando < TInt32 > nodeIdRange, Operando < TInt32 > statsSummaryIndices, Operando < TFloat32 > statsSummaryValues, Operando < TInt32 > statsSummaryShape, Operando < TFloat32 > l1, Operando < TFloat32 > l2, Operando < TFloat32 > treeComplexity , Operando < TFloat32 > 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 grado 1 (shape=[2]) per specificare l'intervallo [primo, ultimo) degli ID nodo da elaborare all'interno di "stats_summary_list". I nodi vengono iterati tra i due nodi specificati dal tensore, come "for 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 grado 2 di forma densa [N, 4] (N specifica il numero di valori diversi da zero) per il riepilogo delle statistiche accumulate (gradiente/iuta) per nodo per bucket per ogni funzionalità. La seconda dimensione contiene l'ID del nodo, la dimensione della funzionalità, l'ID del bucket e la dimensione delle statistiche. stats dim è la somma della dimensione logits e della dimensione iuta, la dimensione iuta può essere la dimensione logits se viene utilizzata la iuta diagonale o la dimensione logits^2 se viene utilizzata la iuta intera. |
statsSummaryValues | Un tensore float di rango 1 di forma densa [N] (N specifica il numero di valori diversi da zero), che fornisce i valori per ciascun elemento in summary_indices. |
statsSummaryShape | Un tensore float di grado 1 di forma densa [4], che specifica la forma densa del tensore sparso, che è [num tree nodes, feature sizes, num buckets, stats dim]. |
l1 | l1 fattore di regolarizzazione sui pesi delle foglie, in base all'istanza. |
l2 | fattore di regolarizzazione l2 sui pesi delle foglie, basato per istanza. |
alberoComplessità | regolazione del guadagno, in base alla foglia. |
minNodeWeight | media minima di iuta in un nodo prima di essere richiesta affinché il nodo venga considerato 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 < TInt32 > featureDimensions ()
Un tensore di rango 1 che indica la migliore dimensione della feature per ciascuna feature da dividere per ciascun nodo.
Uscita pubblica < TFloat32 > guadagni ()
Un tensore di rango 1 che indica i migliori guadagni per dividere ciascun nodo.
Output pubblico < TFloat32 > leftNodeContribs ()
Un tensore di grado 2 che indica il contributo dei nodi di sinistra quando si ramifica dai nodi principali alla direzione di sinistra entro la soglia data per ciascuna caratteristica. Questo valore verrà utilizzato per creare il valore del nodo sinistro aggiungendolo al valore del nodo genitore. La seconda dimensione è la dimensione logit.
output pubblico < TInt32 > nodeId ()
Un tensore di rango 1 che indica i possibili ID dei nodi che possono essere suddivisi.
Output pubblico < TFloat32 > 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 BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)
Parametri
splitType | Una stringa che indica se questa operazione deve eseguire la suddivisione della disuguaglianza o la suddivisione dell'uguaglianza. |
---|
Output pubblico < TString > splitWithDefaultDirections ()
Un tensore di rango 1 che indica la direzione da prendere se mancano i dati. La disuguaglianza con la sinistra predefinita restituisce 0, la disuguaglianza con la destra predefinita restituisce 1, l'uguaglianza con la destra predefinita restituisce 2.