全部產品
Search
文件中心

Platform For AI:資料轉換模組

更新時間:Jul 13, 2024

通過資料轉換模組可以對資料進行歸一化、離散化、Index化或WOE轉換。

配置組件

您可以使用以下任意一種方式,配置資料轉換模組組件參數。

方式一:可視化方式

Designer工作流程頁面配置組件參數。

頁簽

參數

描述

欄位設定

輸入表選擇的特徵列

輸入的特徵列,預設選擇全表。

不進行轉換的資料列

選中的列會原樣輸出,可以在此指定Label。

資料轉換的類型

支援的轉換類型包括歸一化離散化轉換為WOE值Index

預設WOE值

僅當資料轉換的類型取值為轉換為WOE值時,該參數生效。

如果配置了該參數,當樣本值落入無WOE值的分箱時,使用該值進行替換。如果未配置該參數,則當樣本值落入無WOE值的分箱時,演算法報錯。

執行調優

核心數

使用的CPU Core數量,預設系統自動分配。

每個核記憶體數

每個CPU Core所使用的記憶體大小,預設系統自動分配。

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼

PAI -name data_transform
-project algo_public
-DinputFeatureTableName=feature_table
-DinputBinTableName=bin_table
-DoutputTableName=output_table
-DmetaColNames=label
-DfeatureColNames=feaname1,feaname2

參數

描述

是否必選

預設值

inputFeatureTableName

輸入特徵資料表。

inputBinTableName

輸入分箱結果表。

inputFeatureTablePartitions

輸入特徵表選擇的分區。

全表

outputTableName

輸出表。

featureColNames

輸入表選擇的特徵列。

所有列

metaColNames

不進行轉換的資料列,選中的列會原樣輸出。可以在此列中指定Label及sample_id等。

transformType

資料轉換的類型,取值包括:

  • normalize:歸一化。

  • dummy:離散化。

  • woe:轉換為WOE值。

dummy

itemDelimiter

特徵分隔字元,僅在進行離散化時有效。

英文逗號(,)

kvDelimiter

KV分隔字元,僅在進行離散化時有效。

英文冒號(:)

lifecycle

輸出表的生命週期。

coreNum

使用的CPU Core數量。

系統自動計算

memSizePerCore

每個CPU Core所使用的記憶體大小,單位為MB。

系統自動計算

歸一化是指根據輸入的分箱資訊,將變數值轉換為0~1之間,缺失值填充為0。具體的演算法如下。

if feature_raw_value == null or feature_raw_value == 0 then
    feature_norm_value = 0.0
else
    bin_index = FindBin(bin_table, feature_raw_value)
    bin_width = round(1.0 / bin_count * 1000) / 1000.0
    feature_norm_value = 1.0 - (bin_count - bin_index - 1) * bin_width

通過資料轉換模組進行不同類型的資料轉換,其輸出格式不同:

  • 歸一化和WOE轉換的輸出為普通表。

  • 離散化將資料轉換成Dummy變數時,輸出為KV格式的表,產生的變數格式為${feaname}]\_bin\_${bin_id}。以sns變數為例,產生的變數如下:

    • 如果sns落入第二個桶中,則產生的變數為[sns]_bin_2

    • 如果sns為空白,則落入空桶,產生的變數為[sns]_bin_null

    • 如果sns不為空白,且未落入任何一個已經定義的桶中,則落入else桶,產生的變數為[sns]_bin_else