OneHotHashEncodingEstimator 类

定义

将分类值的一个或多个输入列转换为基于哈希的单热编码矢量的任意数量的输出列。

public sealed class OneHotHashEncodingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.OneHotHashEncodingTransformer>
type OneHotHashEncodingEstimator = class
    interface IEstimator<OneHotHashEncodingTransformer>
Public NotInheritable Class OneHotHashEncodingEstimator
Implements IEstimator(Of OneHotHashEncodingTransformer)
继承
OneHotHashEncodingEstimator
实现

注解

估算器特征

此估算器是否需要查看数据来训练其参数?
输入列数据类型 数字、布尔值、 文本 类型的标量或矢量。
输出列数据类型 的标量或矢量,或类型的向量Single
可导出到 ONNX

生成的结果 OneHotEncodingTransformer 将一个或多个输入列转换为一热编码矢量的任意数量的输出列,其中索引是通过对值进行哈希和将哈希用作索引来完成的。

OneHotEncodingEstimator 通常用于将分类数据转换为可以提供给机器学习算法的形式。

此转换的输出由 OneHotEncodingEstimator.OutputKind

  • Indicator 生成 指示器向量。 此向量中的每个槽对应于字典中的一个类别,因此其长度为生成的字典的大小。 如果在字典中找不到值,则输出为零向量。

  • Bag 生成一个向量,以便每个槽存储输入向量中相应值的出现次数。 此向量中的每个槽对应于字典中的值,因此其长度是生成的字典的大小。 IndicatorBag 从输入列中的各个槽生成的位向量是如何聚合的:对于指示器,它们是串联的,对于包,它们会被添加。 当源列为标量时,“指示器”和“包”选项相同。

  • KeyKeyDataViewType 列中生成键。 如果输入列是向量,则输出包含向量 类型,其中向量的每个槽对应于输入向量的相应槽。 如果在生成的字典中找不到某个类别,则会为其分配值零。

  • Binary 生成二进制编码向量,以表示输入列中存在的字典中找到的值。 如果在字典中找不到输入列中的值,则输出为零向量。

OneHotEncodingTransformer 可应用于一个或多个列,在这种情况下,它会生成并对其应用的每个列使用单独的字典。

有关使用示例的链接,请查看“另请参阅”部分。

方法

Fit(IDataView)

火车并返回一个 OneHotHashEncodingTransformer

GetOutputSchema(SchemaShape)

返回 SchemaShape 由转换器生成的架构。 用于管道中的架构传播和验证。

扩展方法

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

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

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

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

适用于

另请参阅