BoostedTreesCalculateBestGainsPerFeature

classe finale pubblica BoostedTreesCalculateBestGainsPerFeature

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à).

La lunghezza degli elenchi di output ha tutti la stessa lunghezza, "num_features". Le forme di output sono compatibili in modo tale che la prima dimensione di tutti i tensori di tutte le liste sia la stessa e uguale al numero di possibili nodi divisi per ciascuna caratteristica.

Metodi pubblici

statico BoostedTreesCalculateBestGainsPerFeature
create ( Scope scope, Operando <Integer> nodeIdRange, Iterable< Operando <Float>> statsSummaryList, Operando <Float> l1, Operando <Float> l2, Operando <Float> treeComplexity, Operando <Float> minNodeWeight, Long maxSplits)
Metodo factory per creare una classe che racchiude una nuova operazione BoostedTreesCalculateBestGainsPerFeature.
Elenco< Uscita <Float>>
guadagniLista ()
Un elenco di output di tensori di rango 1 che indicano i migliori guadagni per ciascuna funzionalità da dividere per determinati nodi.
Elenco< Uscita <Float>>
leftNodeContribsList ()
Un elenco di 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 sinistra in base alla soglia specificata per ciascuna caratteristica.
Elenco< Output <Intero>>
listaIdnodo ()
Un elenco di output di tensori di rango 1 che indicano i possibili ID dei nodi suddivisi per ciascuna funzionalità.
Elenco< Uscita <Float>>
rightNodeContribsList ()
Un elenco di tensori di rango 2, con la stessa forma/condizioni di left_node_contribs_list, ma solo che il valore è per il nodo destro.
Elenco< Output <Intero>>
lista soglie ()
Un elenco di output di tensori di rango 1 che indica l'ID del bucket con cui confrontare (come soglia) per la suddivisione in ciascun nodo.

Metodi ereditati

Metodi pubblici

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

Metodo factory per creare una classe che racchiude una nuova operazione BoostedTreesCalculateBestGainsPerFeature.

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).
statsSummaryList Un elenco di tensori di grado 3 (#shape=[max_splits, bucket, 2]) per il riepilogo delle statistiche accumulate (gradiente/iuta) per nodo 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, in base all'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.
maxSplits il numero di nodi che possono essere suddivisi nell'intero albero. Utilizzato come dimensione dei tensori di uscita.
ritorna
  • una nuova istanza di BoostedTreesCalculateBestGainsPerFeature

Lista pubblica< Uscita <Float>> Lista guadagni ()

Un elenco di output di tensori di rango 1 che indicano i migliori guadagni per ciascuna funzionalità da dividere per determinati nodi. Vedi sopra per dettagli come forme e dimensioni.

public List< Output <Float>> leftNodeContribsList ()

Un elenco di 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 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.

public List< Output <Integer>> nodeIdsList ()

Un elenco di output di tensori di rango 1 che indicano i possibili ID dei 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.

public List< Output <Float>> rightNodeContribsList ()

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

elenco pubblico< output <intero>> elencosoglie ()

Un elenco di output di tensori di rango 1 che indica l'ID del bucket con cui confrontare (come soglia) per la suddivisione in ciascun nodo. Vedi sopra per dettagli come forme e dimensioni.