特征尺度變換算法組件支持對稠密或稀疏的數值類特征進行常見的尺度變換。
功能介紹
特征尺度變換的功能如下:
支持常見的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