PairwiseCouplingTrainer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Для IEstimator<TTransformer> обучения парного связующего многоклассового классификатора, использующего указанный двоичный классификатор.
public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
- Наследование
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
Комментарии
Чтобы создать этот тренер, используйте PairwiseCoupling.
Входные и выходные столбцы
Входные данные столбца меток должны быть типом ключа , а столбец компонента должен быть вектором известного Singleразмера.
Этот алгоритм обучения выводит следующие столбцы:
Имя выходного столбца | Тип столбца | Описание |
---|---|---|
Score |
Вектор Single | Оценки всех классов. Более высокое значение означает большую вероятность попадания в связанный класс. Если i-й элемент имеет самое большое значение, индекс прогнозируемой метки будет равен i. Обратите внимание, что индекс i отсчитывается от нуля. |
PredictedLabel |
Тип key | Индекс прогнозируемой метки. Если его значение равно i, фактическая метка будет i-й категорией во входном типе метки с ключевым значением. |
Характеристики тренера
Задача машинного обучения | Многоклассовая классификация |
Требуется ли нормализация? | Зависит от базового двоичного классификатора |
Требуется ли кэширование? | Да |
Обязательный NuGet в дополнение к Microsoft.ML | Нет |
Экспортируемый в ONNX | нет |
Сведения о алгоритме обучения
В этой стратегии алгоритм двоичной классификации обучается для каждой пары классов. Пары неупорядочены, но созданы с заменой: поэтому, если бы было три класса, 0, 1, 2, мы будем обучать классификаторы для пар (0,0), (0,1), (0,2), (1,1), (1,2) и (2,2). Для каждого двоичного классификатора точка входных данных считается положительным примером, если он находится в любом из двух классов в паре, и отрицательный пример в противном случае. Во время прогнозирования вероятности для каждой пары классов считаются вероятностью того, что они находятся в любом классе пары с данными, а окончательные прогнозные вероятности из этого класса вычисляются с учетом вероятности, что пример находится в любой заданной паре.
Это позволяет использовать обучающие средства, которые, естественно, не имеют многоклассового варианта, например с помощью FastTreeBinaryTrainer решения многоклассовой проблемы. Кроме того, он может позволить ML.NET решить "простую" проблему даже в тех случаях, когда тренер имеет многоклассовый вариант, но его использование напрямую не является практическим из-за, как правило, ограничений памяти. Например, хотя многоклассовая логистическая регрессия является более принципным способом решения многоклассовой проблемы, она требует, чтобы тренер хранит гораздо более промежуточное состояние в виде журнала L-BFGS для всех классов одновременно, а не только один за один, как это было бы необходимо для модели классификации по парной связи.
Ознакомьтесь с разделом "См. также" ссылки на примеры использования.
Свойства
Info |
Для IEstimator<TTransformer> обучения парного связующего многоклассового классификатора, использующего указанный двоичный классификатор. (Унаследовано от MetaMulticlassTrainer<TTransformer,TModel>) |
Методы
Fit(IDataView) |
Соответствует данным преобразователя |
GetOutputSchema(SchemaShape) |
Возвращает выходные столбцы. (Унаследовано от MetaMulticlassTrainer<TTransformer,TModel>) |
Методы расширения
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Добавьте "контрольную точку кэширования" в цепочку оценщика. Это обеспечит обучение подчиненных оценщиков на основе кэшированных данных. Рекомендуется создать контрольную точку кэширования перед обучением, которые принимают несколько передач данных. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Учитывая оценщик, возвращает объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было в форме, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры со многими объектами, поэтому нам может потребоваться построить цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия. |