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)
- Наследование
-
TrainerEstimatorBase<MulticlassPredictionTransformer<NaiveBayesMulticlassModelParameters>,NaiveBayesMulticlassModelParameters>NaiveBayesMulticlassTrainer
Комментарии
Чтобы создать этот тренер, используйте NaiveBayes.
Входные и выходные столбцы
Входные данные столбца меток должны быть ключевым типом , а столбец признаков должен быть вектором известного Singleразмера.
Этот алгоритм обучения выводит следующие столбцы:
Имя выходного столбца | Тип столбца | Описание |
---|---|---|
Score |
Вектор Single | Оценки всех классов. Более высокое значение означает большую вероятность попадания в связанный класс. Если i-й элемент имеет самое большое значение, индекс прогнозируемой метки будет равен i. Обратите внимание, что индекс i отсчитывается от нуля. |
PredictedLabel |
Тип key | Индекс прогнозируемой метки. Если его значение равно i, фактическая метка будет i-й категорией во входном типе метки с ключевым значением. |
Характеристики тренера
Задача машинного обучения | Многоклассовая классификация |
Требуется ли нормализация? | Да |
Требуется ли кэширование? | Нет |
Требуется NuGet в дополнение к Microsoft.ML | Нет |
Экспортируемый в ONNX | Да |
Сведения об алгоритме обучения
Наивный Байес — это вероятностный классификатор, который можно использовать для многоклассовых проблем.
Используя теорему Байеса, условную вероятность для выборки, принадлежащей классу, можно вычислить на основе количества выборок для каждой группы сочетаний признаков.
Однако наивный классификатор Байеса является возможным только в том случае, если количество признаков и значения, которые могут принимать каждая функция, является относительно небольшим.
Она предполагает независимость между наличием признаков в классе, даже если они могут зависеть друг от друга.
Этот многоклассовый обучающий метод принимает "двоичные" значения признаков типа float: значения признаков, превышающие ноль, обрабатываются как true
значения признаков, которые меньше или равны 0, обрабатываются как false
.
Ссылки на примеры использования см. в разделе "См. также".
Поля
FeatureColumn |
Столбец признаков, который ожидает тренер. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Столбец метки, который ожидает тренер. Может иметь значение |
WeightColumn |
Столбец веса, который ожидает тренер. Может быть |
Свойства
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> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия. |