FastTreeRankingTrainer Класс

Определение

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

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

Комментарии

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

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

Входные данные метки должны иметь тип key или Single. Значение метки определяет релевантность, где более высокие значения означают более высокую степень релевантности. Если метка имеет тип key, индексом ключа будет значение релевантности, где наименьший индекс является минимально релевантным. Если метка имеет тип Single, более высокие значения означают более высокую степень релевантности. Столбец признаков должен быть вектором известного Single размера, а столбец входной группы строк должен быть типом ключа .

Этот алгоритм обучения выводит следующие столбцы:

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

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

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

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

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)

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

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

Обучает как обучающие FastTreeRankingTrainer , так и проверочный данные, возвращает значение RankingPredictionTransformer<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> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

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

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