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 | BoostedTreesCalculateBestFeatureSplit.Options | Attributi facoltativi per BoostedTreesCalculateBestFeatureSplit |
Costanti
Corda | OP_NAME | Il nome di questa operazione, come noto al motore principale di TensorFlow |
Metodi pubblici
static BoostedTreesCalculateBestFeatureSplit | create ( Scope scope, Operando < TInt32 > nodeIdRange, Operando < TFloat32 > statsSummary, 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 BoostedTreesCalculateBestFeatureSplit. |
Uscita < TInt32 > | caratteristicaDimensioni () Un tensore di grado 1 che indica la migliore dimensione della feature per ciascuna feature da dividere per determinati nodi se la feature è multidimensionale. |
Uscita < TFloat32 > | guadagni () Un tensore di grado 1 che indica i migliori guadagni per ciascuna caratteristica da dividere per determinati nodi. |
Uscita < TFloat32 > | leftNodeContribs () Tensori di rango 2 che indicano il contributo dei nodi di sinistra quando si diramano dai nodi principali (dato dall'elemento tensore nell'output node_ids_list) alla direzione di sinistra in base alla soglia specificata per ciascuna caratteristica. |
Uscita < TInt32 > | ID nodo () Tensori di rango 1 che indicano possibili ID di nodi suddivisi per ciascuna funzionalità. |
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. |
statico BoostedTreesCalculateBestFeatureSplit.Options | splitType (Stringa splitType) |
Uscita < TString > | splitWithDefaultDirections () Un tensore di rango 1 che indica la direzione da seguire se mancano i dati. |
Uscita < TInt32 > | soglie () Tensori di rango 1 che indicano l'ID del bucket con cui confrontare (come soglia) per 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 BoostedTreesCalculateBestFeatureSplit create ( Scope scope, Operando < TInt32 > nodeIdRange, Operando < TFloat32 > statsSummary, Operando < TFloat32 > l1, Operando < TFloat32 > l2, Operando < TFloat32 > treeComplexity, Operando < TFloat32 > minNodeWeight, Long logitsDimension, Options.. . opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione BoostedTreesCalculateBestFeatureSplit.
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). |
statsSummary | Un tensore di grado 4 (#shape=[max_splits, feature_dims, bucket, stats_dims]) per il riepilogo delle statistiche accumulate (gradiente/iuta) per nodo, per dimensione, per bucket per ciascuna funzionalità. La prima dimensione del tensore è il numero massimo di suddivisioni, e quindi non verranno utilizzati tutti i suoi elementi, ma verranno utilizzati solo gli indici specificati da node_ids. |
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 BoostedTreesCalculateBestFeatureSplit
public Output < TInt32 > featureDimensions ()
Un tensore di grado 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.
Uscita pubblica < TFloat32 > guadagni ()
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 < TFloat32 > leftNodeContribs ()
Tensori di rango 2 che indicano il contributo dei nodi di sinistra quando si diramano dai nodi principali (dato dall'elemento tensore nell'output node_ids_list) alla direzione di sinistra in base alla soglia specificata per ciascuna caratteristica. Questo valore verrà utilizzato per creare il valore del nodo sinistro aggiungendolo al valore del nodo genitore. La dimensione della seconda dimensione è 1 per i logit monodimensionali, ma sarebbe maggiore per i problemi multiclasse. Vedi sopra per dettagli come forme e dimensioni.
output pubblico < TInt32 > nodeId ()
Tensori di rango 1 che indicano possibili ID di nodi suddivisi per ciascuna funzionalità. La lunghezza dell'elenco è num_features, ma ogni tensore ha dimensioni diverse poiché ciascuna caratteristica fornisce diversi nodi possibili. Vedi sopra per dettagli come forme e dimensioni.
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 BoostedTreesCalculateBestFeatureSplit.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 seguire se mancano i dati. Vedi sopra per dettagli come forme e dimensioni. La disuguaglianza con la sinistra predefinita restituisce 0, la disuguaglianza con la destra predefinita restituisce 1, l'uguaglianza con la destra predefinita restituisce 2.