資料轉換
資料轉換用來:
- 準備資料以進行模型定型
- 以 TensorFlow 或 ONNX 格式套用匯入的模型
- 在資料傳遞過模型之後進行後續處理
本指南中的轉換會傳回能實作 IEstimator 介面的類別。 資料轉換可以鏈結在一起。 每個轉換都會預期和產生特定類型及格式的資料,其已詳述於連結的參考文件中。
某些資料轉換需要定型資料以計算其參數。 例如:NormalizeMeanVariance 轉換器會在 Fit()
作業期間計算定型資料的平均數和變異數,並將那些參數用於 Transform()
作業。
其他資料轉換並不需要定型資料。 例如:ConvertToGrayscale 轉換可以在無須於 Fit()
作業期間查看任何定型資料的情況下執行 Transform()
作業。
資料行對應及群組
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
Concatenate | 將一或多個輸入資料行串連成新的輸出資料行 | Yes |
CopyColumns | 複製並重新命名一或多個輸入資料行 | Yes |
DropColumns | 卸除一或多個輸入資料行 | Yes |
SelectColumns | 選取一或多個資料行以將其自輸入資料中排除 | Yes |
標準化和調整
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
NormalizeMeanVariance | 減去 (定型資料的) 平均數並除以 (定型資料的) 變異數 | Yes |
NormalizeLogMeanVariance | 依定型資料的對數進行標準化 | Yes |
NormalizeLpNorm | 依據輸入向量的 lp-norm 來對它進行調整,其中 p 為 1、2 或無限。 預設為 l2 (歐幾里得距離) 範數 | Yes |
NormalizeGlobalContrast | 透過減去資料列資料的平均數並除以標準差或 (資料列資料的) l2 範數,並乘以可設定的比例因素 (預設為 2),來調整資料列中的每個值 | Yes |
NormalizeBinning | 將輸入值指派至 bin 目錄並除以 bin 的數目,以產生介於 0 與 1 的浮點值。 系統會以能將定型資料平均分散到所有 bin 上的方式計算 bin 界線 | Yes |
NormalizeSupervisedBinning | 根據 bin 與標籤資料行的關聯性將輸入值指派至該 bin | Yes |
NormalizeMinMax | 依定型資料中最小及最大值之間的差異來調整輸入 | Yes |
NormalizeRobustScaling | 使用可靠的極端值統計資料來調整每個值,這些極端值會將資料集中在 0 附近,並根據分位數範圍調整資料。 | Yes |
資料類型之間的轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
ConvertType | 將某個輸入資料行的類型轉換成新的類型 | Yes |
MapValue | 根據所提供的對應字典將值對應至索引鍵 (類別) | No |
MapValueToKey | 透過從輸入資料建立對應來將值對應至索引鍵 (類別) | Yes |
MapKeyToValue | 將索引鍵轉換為其原始值 | Yes |
MapKeyToVector | 將索引鍵轉換為原始值的向量 | Yes |
MapKeyToBinaryVector | 將索引鍵轉換為原始值的二進位向量 | No |
Hash | 對輸入資料行中的值進行雜湊處理 | Yes |
文字轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
FeaturizeText | 將文字資料行轉換為標準化 ngram 和 char-gram 計數的浮動陣列 | No |
TokenizeIntoWords | 將一或多個文字資料行分割為個別字詞 | Yes |
TokenizeIntoCharactersAsKeys | 將一或多個文字資料行分割為於一組主題上的個別字元浮點數 | Yes |
NormalizeText | 變更大小寫,移除變音符號、標點符號及數字 | Yes |
ProduceNgrams | 將文字資料行轉換為一袋 ngram 計數 (連續字詞的序列) | Yes |
ProduceWordBags | 將文字資料行轉換為一袋 ngram 向量計數 | Yes |
ProduceHashedNgrams | 將文字資料行轉換為雜湊 ngram 計數的向量 | No |
ProduceHashedWordBags | 將文字資料行轉換為一袋雜湊 ngram 計數 | Yes |
RemoveDefaultStopWords | 從輸入資料行針對指定語言移除預設停用字詞 | Yes |
RemoveStopWords | 從輸入資料行移除指定停用字詞 | Yes |
LatentDirichletAllocation | 將文件 (以浮點數向量表示) 轉換為一組主題上的浮點數向量 | Yes |
ApplyWordEmbedding | 使用預先定型的模型將文字權杖的向量轉換成句子向量 | Yes |
影像轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
ConvertToGrayscale | 將影像轉換為灰階 | No |
ConvertToImage | 將像素的向量轉換為 ImageDataViewType | No |
ExtractPixels | 將來自輸入影像的像素轉換為數字向量 | No |
LoadImages | 從資料夾將影像載入記憶體 | No |
LoadRawImageBytes | 將原始位元組的影像載入新資料行中。 | No |
ResizeImages | 調整影像大小 | No |
DnnFeaturizeImage | 套用預先定型的深度神經網路 (DNN) 模型,將輸入影像轉換成特徵向量 | No |
類別資料轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
OneHotEncoding | 將一或多個文字資料行轉換為 one-hot \(英文\) 編碼向量 | Yes |
OneHotHashEncoding | 將一或多個文字資料行轉換為以雜湊為基礎的 one-hot 編碼向量 | No |
時間序列資料轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
DetectAnomalyBySrCnn | 使用光譜殘留 (SR) 演算法偵測輸入時間序列資料中的異常 | No |
DetectChangePointBySsa | 使用單一頻譜分析 (SSA) 偵測時間序列資料中的變更點 | No |
DetectIidChangePoint | 使用彈性核心密度估計和鞅分數,偵測獨立和相同分散式 (IID) 時間序列資料中的變更點 | No |
ForecastBySsa | 使用單一頻譜分析 (SSA) 預測時間序列資料 | No |
DetectSpikeBySsa | 使用單一頻譜分析 (SSA) 偵測時間序列資料中的尖峰 | No |
DetectIidSpike | 使用彈性核心密度估計和鞅分數,偵測獨立和相同分散式 (IID) 時間序列資料中的尖峰 | No |
DetectEntireAnomalyBySrCnn | 使用 SRCNN 演算法偵測整個輸入資料的異常。 | No |
DetectSeasonality | 使用傅立葉分析來偵測季節性。 | No |
LocalizeRootCause | 使用決策樹演算法,從時間序列輸入中找出根本原因。 | No |
LocalizeRootCauses | 從時間序列輸入中找出根本原因。 | No |
遺漏值
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
IndicateMissingValues | 建立新的布林值輸出資料行,其值在輸入資料行中的值遺失時為 true | Yes |
ReplaceMissingValues | 建立新的輸出資料行,其值在輸入資料行中的值遺失時會被設為預設值,否則則會為輸入值 | Yes |
特徵選取
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
SelectFeaturesBasedOnCount | 選取其非預設值大於某個閾值的特徵 | Yes |
SelectFeaturesBasedOnMutualInformation | 選取其標籤資料行中的資料最具相依性的特徵 | Yes |
功能轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
ApproximatedKernelMap | 將每個輸入向量對應至較低維度的功能空間,其中內部產品會近似核心函式,以便可以將功能當作線性演算法的輸入使用 | No |
ProjectToPrincipalComponents | 套用主體元件分析演算法,以減少輸入特徵向量的維度 |
可解釋性轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
CalculateFeatureContribution | 為特徵向量的每個元素計算貢獻分數 | No |
校正轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
Platt(String, String, String) | 使用羅吉斯回歸搭配使用定型資料估計的參數,將二元分類器原始分數轉換成類別機率 | Yes |
Platt(Double, Double, String) | 使用羅吉斯回歸搭配固定參數,將二元分類器原始分數轉換成類別機率 | Yes |
Naive | 藉由將分數指派給 Bin,並根據各 Bin 間的分佈計算機率,將二元分類器原始分數轉換成類別機率 | Yes |
Isotonic | 藉由將分數指派給 Bin 來將二元分類器原始分數轉換成類別機率,其中會使用定型資料來估計界限的位置和 Bin 的大小 | No |
深度學習轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
ApplyOnnxModel | 使用匯入的 ONNX 模型轉換輸入資料 | No |
LoadTensorFlowModel | 使用匯入的 TensorFlow 模型轉換輸入資料 | No |
自訂轉換
轉換 | 定義 | ONNX 可匯出 |
---|---|---|
FilterByCustomPredicate | 捨棄指定的述詞傳回 true 的資料列。 | No |
FilterByStatefulCustomPredicate | 捨棄指定的述詞傳回 true 的資料列,但允許指定的狀態。 | No |
CustomMapping | 搭配使用者定義的對應將現有資料行轉換為新的資料行 | No |
Expression | 套用運算式以將資料行轉換成新的 | No |