数据转换
数据转换用于:
- 准备用于模型训练的数据
- 采用 TensorFlow 或 ONNX 格式应用导入的模型
- 通过模型传递数据后对其进行后处理
本指南中的数据转换返回实现 IEstimator 接口的类。 数据转换可以链接在一起。 每个数据转换都需要获取并生成特定类型和格式的数据,链接的参考文档中规定了具体类型和格式。
一些数据转换需要通过定型数据来计算参数。 例如,NormalizeMeanVariance 转换器计算 Fit()
操作期间定型数据的平均值和方差,并在 Transform()
操作中使用这些参数。
另一些数据转换不需要定型数据。 例如,ConvertToGrayscale 转换可以执行 Transform()
操作,而无需在 Fit()
操作期间看到任何定型数据。
列映射和分组
转换 | 定义 | ONNX 可导出 |
---|---|---|
Concatenate | 将一个或多个输入列连接到新输出列中 | 是 |
CopyColumns | 复制和重命名一个或多个输入列 | 是 |
DropColumns | 删除一个或多个输入列 | 是 |
SelectColumns | 选择一个或多个不包含输入数据的列 | 是 |
规范化和缩放
转换 | 定义 | ONNX 可导出 |
---|---|---|
NormalizeMeanVariance | 减去(定型数据的)平均值,再除以(定型数据的)方差 | 是 |
NormalizeLogMeanVariance | 根据定型数据的对数进行规范化 | 是 |
NormalizeLpNorm | 按 lp 范数缩放输入向量,其中 p 为 1、2 或无穷大。 默认为 l2(欧几里得距离)范数 | 是 |
NormalizeGlobalContrast | 缩放行中的每个值,具体方法是减去行数据的平均值,除以(行数据的)标准差或 l2 范数,再乘以可配置的比例因子(默认值为 2) | 是 |
NormalizeBinning | 将输入值分配到箱索引,并除以箱数量,以生成介于 0 和 1 之间的浮点值。 计算箱边界是为了在各个箱中均匀分布定型数据 | 是 |
NormalizeSupervisedBinning | 根据与标签列的相关性,将输入值分配到箱 | 是 |
NormalizeMinMax | 按定型数据最小值和最大值的差值缩放输入 | 是 |
NormalizeRobustScaling | 使用可靠的离群值统计信息缩放每个值,这些离群值将数据集中在 0 附近,并根据分位数范围缩放数据。 | 是 |
数据类型转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
ConvertType | 将输入列的类型转换为新类型 | 是 |
MapValue | 根据提供的映射字典将值映射到键(类别) | 否 |
MapValueToKey | 通过从输入数据创建映射,将值映射到键(类别) | 是 |
MapKeyToValue | 将键转换回原始值 | 是 |
MapKeyToVector | 将键转换回原始值的向量 | 是 |
MapKeyToBinaryVector | 将键转换回原始值的二元向量 | 否 |
Hash | 哈希处理输入列中的值 | 是 |
文本转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
FeaturizeText | 将文本列转换为规范化 ngram 和 char-gram 计数的浮点数组 | 否 |
TokenizeIntoWords | 将一个或多个文本列拆分为各个字词 | 是 |
TokenizeIntoCharactersAsKeys | 将一个或多个文本列拆分为关于一组主题的各个字符浮点数 | 是 |
NormalizeText | 更改大小写、删除标注字符、标点符号和数字 | 是 |
ProduceNgrams | 将文本列转换为一组 ngram 计数(连续单词的序列) | 是 |
ProduceWordBags | 将文本列转换为一组 ngram 向量计数 | 是 |
ProduceHashedNgrams | 将文本列转换为已哈希处理的 ngram 计数向量 | 否 |
ProduceHashedWordBags | 将文本列转换为一组已哈希处理的 ngram 计数 | 是 |
RemoveDefaultStopWords | 从输入列中删除指定语言的默认停用词 | 是 |
RemoveStopWords | 从输入列中删除指定的停用词 | 是 |
LatentDirichletAllocation | 将文档(表示为浮点数向量)转换为关于一组主题的浮点数向量 | 是 |
ApplyWordEmbedding | 使用预定型模型将文本令牌向量转换为句向量 | 是 |
图像转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
ConvertToGrayscale | 将图像转换为灰度图像 | 否 |
ConvertToImage | 将像素向量转换为 ImageDataViewType | 否 |
ExtractPixels | 将输入图像中的像素转换为数字向量 | 否 |
LoadImages | 将图像从文件夹加载到内存中 | 否 |
LoadRawImageBytes | 将原始字节的图像加载到新列中。 | 否 |
ResizeImages | 调整图像大小 | 否 |
DnnFeaturizeImage | 应用预训练的深度神经网络 (DNN) 模型将输入图像转换为特征向量 | 否 |
分类数据转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
OneHotEncoding | 将一个或多个文本列转换为单热编码向量 | 是 |
OneHotHashEncoding | 将一个或多个文本列转换为基于哈希的单热编码向量 | 否 |
时序数据转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
DetectAnomalyBySrCnn | 使用 Spectral Residual (SR) 算法检测输入时序数据中的异常 | 否 |
DetectChangePointBySsa | 使用奇异谱分析 (SSA) 检测时序数据中的更改点 | 否 |
DetectIidChangePoint | 使用自适应内核密度估计和鞅评分检测独立同分布 (IID) 的时序数据中的更改点 | 否 |
ForecastBySsa | 使用奇异谱分析 (SSA) 预测时序数据 | 否 |
DetectSpikeBySsa | 使用奇异谱分析 (SSA) 检测时序数据中的峰值 | 否 |
DetectIidSpike | 使用自适应内核密度估计和鞅评分检测独立同分布 (IID) 的时序数据中的峰值 | 否 |
DetectEntireAnomalyBySrCnn | 使用 SRCNN 算法检测整个输入数据的异常。 | 否 |
DetectSeasonality | 使用傅立叶分析检测季节性。 | 否 |
LocalizeRootCause | 使用决策树算法从时序输入中找出根本原因。 | 否 |
LocalizeRootCauses | 从时序输入中中找出根本原因。 | 否 |
缺少值
转换 | 定义 | ONNX 可导出 |
---|---|---|
IndicateMissingValues | 新建布尔输出列:如果输入列中缺少值,输出列的值为 true | 是 |
ReplaceMissingValues | 新建输出列:如果输入列中缺少值,输出列的值设置为默认值,否则设置为输入值 | 是 |
功能选择
转换 | 定义 | ONNX 可导出 |
---|---|---|
SelectFeaturesBasedOnCount | 选择非默认值大于阈值的功能 | 是 |
SelectFeaturesBasedOnMutualInformation | 选择标签列中的数据最依赖的功能 | 是 |
功能转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
ApproximatedKernelMap | 将每个输入向量映射到较低维度的特征空间,在该特征空间中,内积近似于内核函数,这样就可以将特征用作线性算法的输入 | 否 |
ProjectToPrincipalComponents | 通过应用主成分分析算法来降低输入特征向量的维度 |
解释能力转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
CalculateFeatureContribution | 计算特征向量的每个元素的贡献分数 | 否 |
校准转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
Platt(String, String, String) | 使用带有使用训练数据的参数估计的逻辑回归将二元分类器原始分数转换为类概率 | 是 |
Platt(Double, Double, String) | 使用带有固定参数的逻辑回归将二元分类器原始分数转换为类概率 | 是 |
Naive | 通过将分数分配到箱并根据箱之间的分布计算概率将二元分类器原始分数转换为类概率 | 是 |
Isotonic | 通过将分数分配到箱将二元分类器原始分数转换为类概率(使用训练数据估计边界位置和箱的大小) | 否 |
深度学习转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
ApplyOnnxModel | 使用导入的 ONNX 模型转换输入数据 | 否 |
LoadTensorFlowModel | 使用导入的 TensorFlow 模型转换输入数据 | 否 |
自定义转换
转换 | 定义 | ONNX 可导出 |
---|---|---|
FilterByCustomPredicate | 删除指定谓词返回 true 的行。 | 否 |
FilterByStatefulCustomPredicate | 删除指定谓词返回 true 但允许指定状态的行。 | 否 |
CustomMapping | 使用用户定义映射将现有列转换为新列 | 否 |
Expression | 应用表达式将列转换为新列 | 否 |