NaiveBayesMulticlassTrainer 类

定义

用于 IEstimator<TTransformer> 训练支持二进制特征值的多类 Naive Bayes 模型。

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 个类别。

训练器特征

机器学习任务 多类分类
规范化是否需要?
是否需要缓存?
除 Microsoft.ML 外所需的 NuGet
可导出到 ONNX

训练算法详细信息

Naive Bayes 是一种概率分类器,可用于多类问题。 使用 Bayes 的定理,可以根据每个特征组合组的示例计数计算属于类的样本的条件概率。 但是,仅当特征数和每个特征可以采用的值相对较少时,Naive Bayes 分类器才可行。 它假定类中存在特征之间的独立性,即使它们可能相互依赖。 此多类训练器接受类型浮点的“二进制”特征值:将大于零的特征值视为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> 训练支持二进制特征值的多类 Naive Bayes 模型。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)

扩展方法

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

将“缓存检查点”追加到估算器链。 这将确保针对缓存的数据训练下游估算器。 在执行多个数据传递的训练器之前,拥有缓存检查点会很有帮助。

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

给定估算器后,返回将调用委托的 Fit(IDataView) 包装对象。 估算器通常必须返回有关拟合情况的信息,这就是为什么 Fit(IDataView) 该方法返回特定类型化对象的原因,而不仅仅是常规 ITransformer对象。 但是,同时, IEstimator<TTransformer> 通常形成为包含许多对象的管道,因此,我们可能需要通过 EstimatorChain<TLastTransformer> 估算器链生成一系列估算器,以便我们要获取转换器的估算器被埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加调用一次将调用的委托。

适用于

另请参阅