特征尺度變換
特征尺度變換算法組件支持對稠密或稀疏的數(shù)值類特征進行常見的尺度變換。
功能介紹
特征尺度變換的功能如下:
支持常見的log2、log10、ln、abs及sqrt等尺度變化函數(shù)。
支持稠密及稀疏數(shù)據(jù)格式。
組件配置
您可以使用以下任意一種方式,配置特征尺度變換組件參數(shù)。
方式一:可視化方式
在Designer工作流頁面配置組件參數(shù)。
頁簽 | 參數(shù) | 描述 |
字段設置 | 尺度變換特征 | 需要縮放的特征。 |
選擇標簽列 | 如果您設置了該字段,則可以通過可視化方式查看特征到目標變量的x-y分布直方圖。 | |
是否K:V,K:V稀疏特征 | 訓練數(shù)據(jù)是否為稀疏格式。當數(shù)據(jù)以稀疏格式存儲時,通常所有數(shù)據(jù)存儲在一個字段里,而不是每個數(shù)據(jù)單獨存儲在一個字段里。 | |
保留原變換的特征 | 新特征加前綴scale_。 | |
參數(shù)設置 | 尺度變化函數(shù) | 特征尺度變換組件支持如下尺度變化函數(shù):
|
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數(shù)。您可以使用SQL腳本組件進行PAI命令調(diào)用,詳情請參見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;
參數(shù)名稱 | 是否必選 | 參數(shù)描述 | 默認值 |
inputTable | 是 | 輸入表的表名稱。 | 無 |
inputTablePartitions | 否 | 輸入表中指定參與訓練的分區(qū),格式為 如果是多級分區(qū),格式為 如果指定多個分區(qū),則需要使用,隔開。 | 輸入表的所有分區(qū)。 |
outputTable | 是 | 縮放尺度后的結(jié)果表。 | 無 |
scaleCols | 是 | 勾選需要縮放的特征。 系統(tǒng)會自動篩選稀疏特征。您只能勾選數(shù)值類特征。 | 無 |
labelCol | 否 | 標簽字段。 如果您設置了該字段,則可以通過可視化方式查看特征到目標變量的x-y分布直方圖。 | 無 |
categoryCols | 否 | 將勾選的字段作為枚舉特征處理,并且不支持縮放。 | “” |
scaleMethod | 否 | 縮放方法,取值如下:
| log2 |
scaleTopN | 否 | 當未勾選scaleCols參數(shù)時,系統(tǒng)自動挑選TopN個需要縮放的特征。 | 10 |
isSparse | 否 | 是否為k:v的稀疏特征。 | 稠密數(shù)據(jù) |
itemSpliter | 否 | 稀疏特征item的分隔符。 | , |
kvSpliter | 否 | 稀疏特征item的分隔符。 | : |
lifecycle | 否 | 結(jié)果表的生命周期。 | 7 |
coreNum | 否 | 節(jié)點個數(shù)。取值范圍為[1, 9999]的正整數(shù)。與memSizePerCore參數(shù)配對使用。 | 系統(tǒng)自動分配。 |
memSizePerCore | 否 | 單個節(jié)點的內(nèi)存大小,單位為兆。取值范圍為[2048, 64 * 1024]的正整數(shù)。 | 系統(tǒng)自動分配。 |
示例
輸入數(shù)據(jù)
使用如下SQL生成輸入數(shù)據(jù)。
create table if not exists pai_dense_10_1 as select nr_employed from bank_data limit 10;
參數(shù)配置
勾選nr_employed作為尺度變化特征,并且僅支持數(shù)值類特征。尺度變化函數(shù)選擇log2,如下圖所示。
運行結(jié)果
nr_employed
12.352071021075528
12.34313018339218
12.285286613666395
12.316026916036957
12.309533196497519
12.352071021075528
12.316026916036957
12.316026916036957
12.309533196497519
12.316026916036957