特徵尺度變換演算法組件支援對稠密或稀疏的數值類特徵進行常見的尺度變換。
功能介紹
特徵尺度變換的功能如下:
-
支援常見的log2、log10、ln、abs及sqrt等尺度變化函數。
-
支援稠密及稀疏資料格式。
組件配置
您可以使用以下任意一種方式,配置特徵尺度變換組件參數。
方式一:可視化方式
在Designer工作流程頁面配置組件參數。
|
頁簽 |
參數 |
描述 |
|
欄位設定 |
尺度變換特徵 |
需要縮放的特徵。 |
|
選擇標籤列 |
如果您設定了該欄位,則可以通過可視化方式查看特徵到目標變數的x-y分布長條圖。 |
|
|
是否K:V,K:V稀疏特徵 |
訓練資料是否為稀疏格式。當資料以稀疏格式儲存時,通常所有資料存放區在一個欄位裡,而不是每個資料單獨儲存在一個欄位裡。 |
|
|
保留原變換的特徵 |
新特徵加首碼scale_。 |
|
|
參數設定 |
尺度變化函數 |
特徵尺度變換組件支援如下尺度變化函數:
|
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼。
PAI -name fe_scale_runner -project algo_public
-Dlifecycle=28
-DscaleMethod=log2
-DscaleCols=nr_employed
-DinputTable=pai_dense_10_1
-DoutputTable=pai_temp_2262_20380_1;
|
參數名稱 |
是否必選 |
參數描述 |
預設值 |
|
inputTable |
是 |
輸入表的表名稱。 |
無 |
|
inputTablePartitions |
否 |
輸入表中指定參與訓練的分區,格式為 如果是多級分區,格式為 如果指定多個分區,則需要使用,隔開。 |
輸入表的所有分區。 |
|
outputTable |
是 |
縮放尺度後的結果表。 |
無 |
|
scaleCols |
是 |
勾選需要縮放的特徵。 系統會自動篩選稀疏特徵。您只能勾選數值類特徵。 |
無 |
|
labelCol |
否 |
標籤欄位。 如果您設定了該欄位,則可以通過可視化方式查看特徵到目標變數的x-y分布長條圖。 |
無 |
|
categoryCols |
否 |
將勾選的欄位作為枚舉特徵處理,並且不支援縮放。 |
“” |
|
scaleMethod |
否 |
縮放方法,取值如下:
|
log2 |
|
scaleTopN |
否 |
當未勾選scaleCols參數時,系統自動挑選TopN個需要縮放的特徵。 |
10 |
|
isSparse |
否 |
是否為k:v的稀疏特徵。 |
稠密資料 |
|
itemSpliter |
否 |
稀疏特徵item的分隔字元。 |
, |
|
kvSpliter |
否 |
稀疏特徵item的分隔字元。 |
: |
|
lifecycle |
否 |
結果表的生命週期。 |
7 |
|
coreNum |
否 |
節點個數。取值範圍為[1, 9999]的正整數。與memSizePerCore參數配對使用。 |
系統自動分配。 |
|
memSizePerCore |
否 |
單個節點的記憶體大小,單位為兆。取值範圍為[2048, 64 * 1024]的正整數。 |
系統自動分配。 |
樣本
-
輸入資料
使用如下SQL產生輸入資料。
create table if not exists pai_dense_10_1 as select nr_employed from bank_data limit 10; -
參數配置
勾選nr_employed作為尺度變化特徵,並且僅支援數值類特徵。尺度變化函數選擇log2。
-
運行結果
nr_employed
12.352071021075528
12.34313018339218
12.285286613666395
12.316026916036957
12.309533196497519
12.352071021075528
12.316026916036957
12.316026916036957
12.309533196497519
12.316026916036957