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


NaiveBayesMulticlassTrainer Класс

Определение

Для IEstimator<TTransformer> обучения многоклассовой модели Байеса, поддерживающей значения двоичных признаков.

public sealed class NaiveBayesMulticlassTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.NaiveBayesMulticlassModelParameters>,Microsoft.ML.Trainers.NaiveBayesMulticlassModelParameters>
type NaiveBayesMulticlassTrainer = class
    inherit TrainerEstimatorBase<MulticlassPredictionTransformer<NaiveBayesMulticlassModelParameters>, NaiveBayesMulticlassModelParameters>
Public NotInheritable Class NaiveBayesMulticlassTrainer
Inherits TrainerEstimatorBase(Of MulticlassPredictionTransformer(Of NaiveBayesMulticlassModelParameters), NaiveBayesMulticlassModelParameters)
Наследование

Комментарии

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

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

Входные данные столбца меток должны быть ключевым типом , а столбец признаков должен быть вектором известного Singleразмера.

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

Имя выходного столбца Тип столбца Описание
Score Вектор Single Оценки всех классов. Более высокое значение означает большую вероятность попадания в связанный класс. Если i-й элемент имеет самое большое значение, индекс прогнозируемой метки будет равен i. Обратите внимание, что индекс i отсчитывается от нуля.
PredictedLabel Тип key Индекс прогнозируемой метки. Если его значение равно i, фактическая метка будет i-й категорией во входном типе метки с ключевым значением.

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

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

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

Наивный Байес — это вероятностный классификатор, который можно использовать для многоклассовых проблем. Используя теорему Байеса, условную вероятность для выборки, принадлежащей классу, можно вычислить на основе количества выборок для каждой группы сочетаний признаков. Однако наивный классификатор Байеса является возможным только в том случае, если количество признаков и значения, которые могут принимать каждая функция, является относительно небольшим. Она предполагает независимость между наличием признаков в классе, даже если они могут зависеть друг от друга. Этот многоклассовый обучающий метод принимает "двоичные" значения признаков типа float: значения признаков, превышающие ноль, обрабатываются как true значения признаков, которые меньше или равны 0, обрабатываются как false.

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

Поля

FeatureColumn

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

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

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

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

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

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

Свойства

Info

Вспомогательная информация о тренере с точки зрения его возможностей и требований.

Методы

Fit(IDataView)

Тренирует и возвращает .ITransformer

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

Для IEstimator<TTransformer> обучения многоклассовой модели Байеса, поддерживающей значения двоичных признаков.

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

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

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

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

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

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

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

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