BoostedTreesSparseCalculateBestFeatureSplit

classe finale publique BoostedTreesSparseCalculateBestFeatureSplit

Calcule les gains pour chaque fonctionnalité et renvoie les meilleures informations de répartition possibles pour la fonctionnalité.

Les informations de répartition correspondent au meilleur seuil (ID de compartiment), aux gains et aux contributions des nœuds gauche/droite par nœud pour chaque fonctionnalité.

Il est possible que tous les nœuds ne puissent pas être divisés sur chaque entité. Par conséquent, la liste des nœuds possibles peut différer selon les fonctionnalités. Par conséquent, nous renvoyons `node_ids_list` pour chaque fonctionnalité, contenant la liste des nœuds que cette fonctionnalité peut être utilisée pour diviser.

De cette manière, le résultat est la meilleure répartition par fonctionnalités et par nœud, de sorte qu'il doit être combiné ultérieurement pour produire la meilleure répartition pour chaque nœud (parmi toutes les fonctionnalités possibles).

Les formes de sortie sont compatibles de manière à ce que la première dimension de tous les tenseurs soit la même et égale au nombre de nœuds divisés possibles pour chaque caractéristique.

Classes imbriquées

classe BoostedTreesSparseCalculateBestFeatureSplit.Options Attributs facultatifs pour BoostedTreesSparseCalculateBestFeatureSplit

Méthodes publiques

statique BoostedTreesSparseCalculateBestFeatureSplit
create ( Scope scope, Operand <Integer> nodeIdRange, Operand <Integer> statsSummaryIndices, Operand <Float> statsSummaryValues, Operand <Integer> statsSummaryShape, Operand <Float> l1, Operand <Float> l2, Operand <Float> treeComplexity, Operand <Float > options minNodeWeight, Long logitsDimension, Options... )
Méthode d'usine pour créer une classe encapsulant une nouvelle opération BoostedTreesSparseCalculateBestFeatureSplit.
Sortie <Entier>
fonctionnalitéDimensions ()
Un tenseur de rang 1 indiquant la meilleure dimension de fonctionnalité pour chaque fonctionnalité à diviser pour chaque nœud.
Sortie <Flottant>
gains ()
Un tenseur de rang 1 indiquant les meilleurs gains pour diviser chaque nœud.
Sortie <Flottant>
leftNodeContribs ()
Un tenseur de rang 2 indiquant la contribution des nœuds gauches lors du branchement des nœuds parents vers la gauche selon le seuil donné pour chaque fonctionnalité.
Sortie <Entier>
ID de nœud ()
Un tenseur de rang 1 indiquant les identifiants de nœuds possibles qui peuvent être divisés.
Sortie <Flottant>
rightNodeContribs ()
Un tenseur de rang 2, avec les mêmes forme/conditions que left_node_contribs_list, mais juste que la valeur est pour le nœud droit.
statique BoostedTreesSparseCalculateBestFeatureSplit.Options
splitType (chaîne splitType)
Sortie <Chaîne>
splitAvecDefaultDirections ()
Un tenseur de rang 1 indiquant la direction à suivre si des données sont manquantes.
Sortie <Entier>
seuils ()
Un tenseur de rang 1 indiquant l'identifiant du bucket avec lequel comparer (comme seuil) pour la division dans chaque nœud.

Méthodes héritées

Méthodes publiques

public static BoostedTreesSparseCalculateBestFeatureSplit créer ( Scope scope, Operand <Integer> nodeIdRange, Operand <Integer> statsSummaryIndices, Operand <Float> statsSummaryValues, Operand <Integer> statsSummaryShape, Operand <Float> l1, Operand <Float> l2, Operand <Float> treeComplexity, Opérande <Float> minNodeWeight, Long logitsDimension, Options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération BoostedTreesSparseCalculateBestFeatureSplit.

Paramètres
portée portée actuelle
nodeIdRange Un tenseur de rang 1 (shape=[2]) pour spécifier la plage [premier, dernier) des identifiants de nœuds à traiter dans `stats_summary_list`. Les nœuds sont itérés entre les deux nœuds spécifiés par le tenseur, comme « pour node_id in range(node_id_range[0], node_id_range[1]) » (notez que le dernier index node_id_range[1] est exclusif).
statsRésuméIndices Un tenseur int64 de rang 2 de forme dense [N, 4] (N spécifie le nombre de valeurs non nulles) pour le résumé des statistiques accumulées (gradient/hessian) par nœud et par compartiment pour chaque fonctionnalité. La deuxième dimension contient l'identifiant du nœud, la dimension de la fonctionnalité, l'identifiant du compartiment et la dimension des statistiques. stats dim est la somme de la dimension logits et de la dimension de la toile de jute, la dimension de la toile de jute peut être soit la dimension de la toile de jute si la toile de jute diagonale est utilisée, soit la dimension logits ^ 2 si la toile de jute complète est utilisée.
statsRésuméValeurs Un tenseur flottant de rang 1 de forme dense [N] (N spécifie le nombre de valeurs non nulles), qui fournit les valeurs de chaque élément dans summary_indices.
statsRésuméForme Un tenseur flottant de rang 1 de forme dense [4], qui spécifie la forme dense du tenseur clairsemé, qui est [nombre de nœuds d'arborescence, dimensions des caractéristiques, nombre de compartiments, statistiques dim].
l1 l1 facteur de régularisation sur le poids des feuilles, par instance.
l2 Facteur de régularisation l2 sur le poids des feuilles, basé sur chaque instance.
arbreComplexité ajustement du gain, par vantail.
minNodeWeight moyenne minimale de hessiens dans un nœud avant d'être requise pour que le nœud soit pris en compte pour le fractionnement.
logitsDimension La dimension du logit, c'est-à-dire le nombre de classes.
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de BoostedTreesSparseCalculateBestFeatureSplit

sortie publique <Integer> featureDimensions ()

Un tenseur de rang 1 indiquant la meilleure dimension de fonctionnalité pour chaque fonctionnalité à diviser pour chaque nœud.

gain de sortie public <Float> ()

Un tenseur de rang 1 indiquant les meilleurs gains pour diviser chaque nœud.

Sortie publique <Float> leftNodeContribs ()

Un tenseur de rang 2 indiquant la contribution des nœuds gauches lors du branchement des nœuds parents vers la gauche selon le seuil donné pour chaque fonctionnalité. Cette valeur sera utilisée pour créer la valeur du nœud gauche en l'ajoutant à la valeur du nœud parent. La taille de la deuxième dimension est la dimension logits.

sortie publique <Integer> nodeIds ()

Un tenseur de rang 1 indiquant les identifiants de nœuds possibles qui peuvent être divisés.

sortie publique <Float> rightNodeContribs ()

Un tenseur de rang 2, avec les mêmes forme/conditions que left_node_contribs_list, mais juste que la valeur est pour le nœud droit.

public statique BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)

Paramètres
Type divisé Une chaîne indiquant si cette opération doit effectuer une division d'inégalité ou une division d'égalité.

sortie publique <String> splitWithDefaultDirections ()

Un tenseur de rang 1 indiquant la direction à suivre si des données sont manquantes. L'inégalité avec la gauche par défaut renvoie 0, l'inégalité avec la droite par défaut renvoie 1, l'égalité avec la droite par défaut renvoie 2.

public Sortie <Integer> seuils ()

Un tenseur de rang 1 indiquant l'identifiant du bucket avec lequel comparer (comme seuil) pour la division dans chaque nœud.