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размера.
Этот тренер выводит следующие столбцы:
| Имя выходного столбца | Тип столбца | Description |
|---|---|---|
Score |
Вектор Single | Оценки всех классов. Более высокое значение означает более высокую вероятность падения в связанный класс. Если элемент i-th имеет наибольшее значение, прогнозируемый индекс метки будет i. Обратите внимание, что я — отсчитываемый от нуля индекс. |
PredictedLabel |
тип ключа | Индекс прогнозируемой метки. Если значение имеет значение i, фактическая метка будет категорией i-th в типе входной метки с ключевым значением. |
Характеристики тренера
| Задача машинного обучения | Многоклассовая классификация |
| Требуется ли нормализация? | Зависит от базового двоичного классификатора |
| Требуется ли кэширование? | Yes |
| Обязательный NuGet в дополнение к Microsoft.ML | Нет |
| Экспортируемый в ONNX | No |
Сведения об алгоритме обучения
В этой стратегии алгоритм двоичной классификации обучается для каждой пары классов. Пары неупорядочены, но созданы с заменой: поэтому, если было три класса, 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> того, где оценка, для которой мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова. |