RegressionTreeBase Klasse

Definition

Eine Containerbasisklasse zum Verfügbarmachen Microsoft.ML.Trainers.FastTree.InternalRegressionTreevon 's und Microsoft.ML.Trainers.FastTree.InternalQuantileRegressionTree's Attributen für Benutzer. Diese Klasse sollte nicht änderbar sein, sodass sie viele schreibgeschützte Member enthält.

public abstract class RegressionTreeBase
type RegressionTreeBase = class
Public MustInherit Class RegressionTreeBase
Vererbung
RegressionTreeBase
Abgeleitet

Eigenschaften

Name Beschreibung
CategoricalSplitFlags

Bestimmen Sie die Typen der Aufteilungsfunktion. Wenn CategoricalSplitFlags[i] wahr ist, verwendet der i-th-Knoten die Kategorisierungsfunktion. Andernfalls wird herkömmliche numerische Aufteilung verwendet.

LeafValues

LeafValues[i] ist der gelernte Wert auf dem i-th-Blatt.

LeftChild

LeftChild[i] ist der untergeordnete Index des i-th-Knotens, der verwendet wird, wenn (1) das von [i] indizierte NumericalSplitFeatureIndexesnumerische Feature kleiner oder gleich dem Schwellenwert NumericalSplitThresholds[i] ist oder (2) die kategorisierten Features, die durch GetCategoricalCategoricalSplitFeatureRangeAt(Int32)den zurückgegebenen Wert mit nodeIndex=i indiziert werden, keine Teilmenge von GetCategoricalSplitFeaturesAt(Int32) "nodeIndex=i" ist. Beachten Sie, dass der Fall (1) nur auftritt, wenn CategoricalSplitFlags[i] falsch ist und andernfalls (2) auftritt. Ein nicht negativer zurückgegebener Wert bedeutet einen Knoten (d. h. kein Blatt); Beispielsweise bedeutet 2 den 3. Knoten im zugrunde liegenden Microsoft.ML.Trainers.FastTree.RegressionTreeBase._tree. Ein negativer zurückgegebener Wert bedeutet ein Blatt; beispielsweise steht -1 für das ~(-1)-th-Blatt im zugrunde liegenden Microsoft.ML.Trainers.FastTree.RegressionTreeBase._tree. Beachten Sie, dass ~ es sich um den bitweisen Ergänzungsoperator in C# handelt. Weitere Informationen finden Sie unter https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/bitwise-complement-operator.

NumberOfLeaves

Die Anzahl der Blätter im Baum. Beachten Sie, dass NumberOfLeaves nicht blattfreie Knoten berücksichtigt werden.

NumberOfNodes

Anzahl der Knoten in der Struktur. Dies schließt keine Blätter ein. Eine Struktur mit Knoten0-Knoten1>, Knoten0-Blatt3>, Knoten1-Blatt1,Knoten1-Blatt2 >>NumberOfNodesund NumberOfLeaves sollte 2 bzw. 3 sein.

NumericalSplitFeatureIndexes

NumericalSplitFeatureIndexes[i] ist der Featureindex, der die Splittingfunktion des i-th-Knotens verwendet. Dieser Wert ist nur gültig, wenn CategoricalSplitFlags[i] falsch ist.

NumericalSplitThresholds

NumericalSplitThresholds[i] ist der Schwellenwert für das Feature, das von NumericalSplitFeatureIndexes[i] indiziert ist, wobei i der Index des i-th-Knotens ist (z. B. 1 für den 2. Knoten in Microsoft.ML.Trainers.FastTree.RegressionTreeBase._tree).

RightChild

RightChild[i] ist der untergeordnete Index des i-th-Knotens, der verwendet wird, wenn die beiden Bedingungen (1) und (2) im Dokument beschrieben LeftChildsind nicht wahr. Der Rückgabewert folgt dem in LeftChild.

SplitGains

Die Gewinne, die durch das Aufteilen von Daten auf Knoten erzielt werden. Der i-th-Wert wird von der Teilung am i-th-Knoten berechnet.

Methoden

Name Beschreibung
GetCategoricalCategoricalSplitFeatureRangeAt(Int32)

Gibt den Bereich kategorisierter Schwellenwerte zurück, der bei Knoten indiziert von nodeIndex verwendet wird. Eine kategorisierte Teilung bei Knoten, die von nodeIndex indiziert wird, kann mehrere aufeinander folgende Eingabefeatures gleichzeitig in Betracht ziehen; ihr Bereich wird durch GetCategoricalCategoricalSplitFeatureRangeAt(Int32)angegeben. Der zurückgegebene Wert ist immer ein 2-Element-Array. Das 1. Element ist der Startindex und das 2. Element ist der endende Index eines Featuresegments. Der zurückgegebene Wert ist nur gültig, wenn CategoricalSplitFlags[nodeIndex] wahr ist.

GetCategoricalSplitFeaturesAt(Int32)

Gibt kategorisierte Schwellenwerte zurück, die bei Knoten indiziert von nodeIndex verwendet werden. Wenn das berücksichtigte Eingabefeature keine Werte abgleicht, die von GetCategoricalSplitFeaturesAt(Int32)diesem zurückgegeben werden, wird es als "kleiner als-schwellenwert"-Ereignis bezeichnet, und daher LeftChildist [nodeIndex] der untergeordnete Knoten, der als Nächstes eingegeben werden soll. Der zurückgegebene Wert ist nur gültig, wenn CategoricalSplitFlags[nodeIndex] wahr ist.

Gilt für: