FastTreeRegressionTrainer Класс

Определение

Для IEstimator<TTransformer> обучения модели регрессии дерева принятия решений с помощью FastTree.

public sealed class FastTreeRegressionTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options,Microsoft.ML.Data.RegressionPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters>
type FastTreeRegressionTrainer = class
    inherit BoostingFastTreeTrainerBase<FastTreeRegressionTrainer.Options, RegressionPredictionTransformer<FastTreeRegressionModelParameters>, FastTreeRegressionModelParameters>
Public NotInheritable Class FastTreeRegressionTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRegressionTrainer.Options, RegressionPredictionTransformer(Of FastTreeRegressionModelParameters), FastTreeRegressionModelParameters)
Наследование

Комментарии

Чтобы создать этот тренер, используйте FastTree или FastTree(Options).

Входные и выходные столбцы

Данные столбца входной метки должны быть Single. Входные данные столбцов функций должны быть известными векторами Singleразмера.

Этот тренер выводит следующие столбцы:

Имя выходного столбца Тип столбца Description
Score Single Несвязанная оценка, прогнозируемая моделью.

Характеристики тренера

Задача машинного обучения Regression
Требуется ли нормализация? No
Требуется ли кэширование? No
Обязательный NuGet в дополнение к Microsoft.ML Microsoft.ML.FastTree
Экспортируемый в ONNX Yes

Сведения об алгоритме обучения

FastTree — это эффективная реализация алгоритма повышения градиента MART . Повышение градиента — это метод машинного обучения для проблем регрессии. Он создает каждое дерево регрессии в пошаговой манере, используя предопределенную функцию потери для измерения ошибки для каждого шага и исправляет его в следующем. Таким образом, эта модель прогнозирования на самом деле является ансамблем более слабых моделей прогнозирования. В проблемах регрессии повышение создает ряд таких деревьев в пошаговой манере, а затем выбирает оптимальное дерево с помощью произвольной функции потери.

MART узнает ансамбль деревьев регрессии, который является деревом принятия решений со скалярными значениями в его листьях. Дерево принятия решения (или регрессии) — это бинарная диаграмма потока, например блок-схема, где на каждом внутреннем узле один решает, какие из двух дочерних узлов будут продолжаться на основе одного из значений признаков из входных данных. На каждом конечном узле возвращается значение. В внутренних узлах решение основано на тесте x <= v, где x является значением функции во входном примере и v является одним из возможных значений этой функции. Функции, которые могут быть созданы деревом регрессии, являются всеми кусками константных функций.

Ансамбль деревьев производится вычислениями, на каждом шаге, дерево регрессии, которое приблизит градиент функции потери и добавляет его в предыдущее дерево с коэффициентами, которые свести к минимуму потерю нового дерева. Выходные данные ансамбля, созданного MART на данном экземпляре, — это сумма выходных данных дерева.

  • В случае проблемы двоичной классификации выходные данные преобразуются в вероятность с помощью некоторой формы калибровки.
  • В случае проблемы регрессии выходные данные — прогнозируемое значение функции.
  • В случае проблемы ранжирования экземпляры упорядочивается выходным значением ансамбля.

Дополнительные сведения см. в следующих разделах:

Ознакомьтесь с разделом "См. также" ссылки на примеры использования.

Поля

Имя Описание
FeatureColumn

Столбец признаков, который ожидает тренер.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
GroupIdColumn

Необязательный столбец groupID, который ожидает тренеры ранжирования.

(Унаследовано от TrainerEstimatorBaseWithGroupId<TTransformer,TModel>)
LabelColumn

Столбец метки, который ожидает тренер. Может быть null, что указывает, что метка не используется для обучения.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Столбец веса, который ожидает тренер. Может быть null, что означает, что вес не используется для обучения.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)

Свойства

Имя Описание
Info

Для IEstimator<TTransformer> обучения модели регрессии дерева принятия решений с помощью FastTree.

(Унаследовано от FastTreeTrainerBase<TOptions,TTransformer,TModel>)

Методы

Имя Описание
Fit(IDataView, IDataView)

Обучает как обучающие FastTreeRegressionTrainer , так и проверяющие данные, возвращает значение RegressionPredictionTransformer<TModel>.

Fit(IDataView)

Поезда и возвращается ITransformer.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Для IEstimator<TTransformer> обучения модели регрессии дерева принятия решений с помощью FastTree.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)

Методы расширения

Имя Описание
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Добавьте "контрольную точку кэширования" в цепочку оценщика. Это гарантирует, что нижестоящий оценщик будет обучен по кэшированным данным. Рекомендуется использовать контрольную точку кэширования перед обучением, которые принимают несколько передач данных.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

При оценке возвращает объект оболочки, который вызовет делегат после Fit(IDataView) вызова. Часто важно для оценки возвращать сведения о том, что было подходяще, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры с множеством объектов, поэтому нам может потребоваться построить цепочку оценщиков с помощью EstimatorChain<TLastTransformer> того, где оценка, для которой мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова.

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

См. также раздел