Поделиться через


RegressionTreeBase Класс

Определение

Базовый класс контейнера для предоставления Microsoft.ML.Trainers.FastTree.InternalRegressionTreeпользователям атрибутов и Microsoft.ML.Trainers.FastTree.InternalQuantileRegressionTreeатрибутов. Этот класс не должен быть изменяемым, поэтому он содержит много элементов только для чтения.

public abstract class RegressionTreeBase
type RegressionTreeBase = class
Public MustInherit Class RegressionTreeBase
Наследование
RegressionTreeBase
Производный

Свойства

CategoricalSplitFlags

Определите типы функции разбиения. Если CategoricalSplitFlags[i] имеет значение true, i-th node использует функцию разделения категорий. В противном случае используется традиционное числовое разделение.

LeafValues

LeafValues[i] — это выученное значение на i-м листе.

LeftChild

LeftChild[i] — это дочерний индекс узла i-го узла, используемый, когда (1) числовая функция, индексированная NumericalSplitFeatureIndexes[i] меньше или равна порогу NumericalSplitThresholds[i], или (2) категориальные признаки, индексированные по возвращаемой GetCategoricalCategoricalSplitFeatureRangeAt(Int32)значению nodeIndex=i, не являются подсетью GetCategoricalSplitFeaturesAt(Int32) с nodeIndex=i. Обратите внимание, что случай (1) происходит только в том случае, если CategoricalSplitFlags[i] имеет значение false и в противном случае (2) возникает. Ненулевое возвращаемое значение означает узел (т. е. не конечный); Например, 2 означает 3-й узел в базовой Microsoft.ML.Trainers.FastTree.RegressionTreeBase._treeбазе. Отрицательное возвращаемое значение означает конечный элемент; Например, -1 обозначает ~лист (-1)-й лист в базовой Microsoft.ML.Trainers.FastTree.RegressionTreeBase._treeбазе. Обратите внимание, что ~ это побитовый оператор дополнения в C#; дополнительные сведения см. в разделе https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/bitwise-complement-operator.

NumberOfLeaves

Количество листьев в дереве. Обратите внимание, что NumberOfLeaves не учитывается неконечные узлы.

NumberOfNodes

Количество узлов в дереве. Это не включает никаких листьев. Например, дерево с node0-node1, node0-leaf3>>, node1-leaf1>, node1-leaf2>NumberOfNodes и NumberOfLeaves должно быть 2 и 3 соответственно.

NumericalSplitFeatureIndexes

NumericalSplitFeatureIndexes[i] — это индекс признаков, используемый функцией разбиения узла i-го узла. Это значение допустимо только в том случае, если CategoricalSplitFlags[i] имеет значение false.

NumericalSplitThresholds

NumericalSplitThresholds[i] — это пороговое значение компонента, индексированного NumericalSplitFeatureIndexes[i], где i — индекс i-го узла (например, i — 1 для 2-го узла в Microsoft.ML.Trainers.FastTree.RegressionTreeBase._tree).

RightChild

RightChild[i] — это дочерний индекс i-го узла, используемый, когда два условия (1) и (2), описанные в LeftChildдокументе, не соответствуют действительности. Его возвращаемое значение соответствует формату, используемому в LeftChild.

SplitGains

Выгоды, полученные путем разделения данных на узлах. Его значение i-го вычисляется из разбиения на i-м узле.

Методы

GetCategoricalCategoricalSplitFeatureRangeAt(Int32)

Возвращает диапазон категориальных пороговых значений, используемый на узле, индексированного nodeIndex. Категориальное разделение узла, индексированного nodeIndex, может одновременно рассматривать несколько последовательных функций ввода; их диапазон задается в параметре GetCategoricalCategoricalSplitFeatureRangeAt(Int32). Возвращаемое значение всегда является массивом из 2 элементов; его 1-й элемент является начальным индексом, а его 2-й элемент является конечным индексом сегмента признаков. Возвращаемое значение допустимо только в том случае, если CategoricalSplitFlagsзначение [nodeIndex] имеет значение true.

GetCategoricalSplitFeaturesAt(Int32)

Возвращает категориальные пороговые значения, используемые в узле, индексированных nodeIndex. Если считается, что функция ввода не соответствует любому из возвращаемых GetCategoricalSplitFeaturesAt(Int32)значений, мы называем это событием меньше порогового значения, поэтому LeftChild[nodeIndex] является дочерним узлом, который должен идти дальше. Возвращаемое значение допустимо только в том случае, если CategoricalSplitFlagsзначение [nodeIndex] имеет значение true.

Применяется к