特征離散算法組件是將連續特征按照一定的規則進行離散化。
功能介紹
離散模塊的功能如下:
支持稠密數值類特征離散。
支持等頻離散和等距離離散等無監督離散。
說明無監督離散的特征離散默認為等距離離散。
支持基于Gini增益離散和基于熵增益離散等有監督離散。
說明標簽類特征離散必須是枚舉類型STRING或BIGINT類型。
有監督離散是根據熵增益不斷遍歷尋找切分斷點,運行時間可能比較久。切分得到的分區數不受指定的maxBins參數限制。
參數配置
您可以使用以下任意一種方式,配置特征離散組件參數。
方式一:可視化方式
在Designer工作流頁面配置組件參數。
頁簽 | 參數 | 描述 |
字段設置 | 離散的特征 | 選擇需要離散的特征。 |
標簽列 | 如果您設置了該字段,則可以通過可視化方式查看特征到目標變量的x-y分布直方圖。 | |
參數設置 | 離散方法 | 離散方法。取值如下:
|
離散區間個數 | 離散區間的個數。取值為大于1的正整數。 | |
執行調優 | 計算核心數 | 計算的核心數目,取值為正整數。 |
每個核心內存 | 每個CPU分配的內存大小。 |
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數。您可以使用SQL腳本組件進行PAI命令調用,詳情請參見SQL腳本。
PAI -name fe_discrete_runner_1 -project algo_public
-DdiscreteMethod=SameFrequecy
-Dlifecycle=28
-DmaxBins=5
-DinputTable=pai_dense_10_1
-DdiscreteCols=nr_employed
-DoutputTable=pai_temp_2262_20382_1
-DmodelTable=pai_temp_2262_20382_2;
參數名稱 | 是否必選 | 參數描述 | 默認值 |
inputTable | 是 | 輸入表的表名稱。 | 無 |
inputTablePartitions | 否 | 輸入表中指定參與訓練的分區,格式為 如果是多級分區,格式為 如果指定多個分區,則需要使用,隔開。 | 輸入表的所有分區。 |
outputTable | 是 | 離散后的結果表。 | 無 |
discreteCols | 是 | 選擇需要離散的特征。如果選擇的是稀疏特征,則系統會自動篩選。 | “” |
labelCol | 否 | 標簽字段。如果您設置了該字段,則可以通過可視化方式查看特征到目標變量的x-y分布直方圖。 | 無 |
discreteMethod | 否 | 離散方法。取值如下:
| Isometric Discretization |
maxBins | 否 | 離散區間個數。取值為大于1的正整數。 | 100 |
lifecycle | 否 | 結果表生命周期。取值為正整數。 | 7 |
coreNum | 否 | 節點個數。與memSizePerCore參數配對使用,取值為正整數。 | 系統自動分配。 |
memSizePerCore | 否 | 單個節點內存大小,單位為兆。取值為正整數。 | 系統自動分配。 |
示例
輸入數據
使用 SQL生成輸入數據。
create table if not exists pai_dense_10_1 as select nr_employed from bank_data limit 10;
參數配置
輸入數據為pai_dense_10_1。離散特征選擇nr_employed,離散方法選擇等距離散,離散區間個數配置為5。
運行結果
nr_employed
4.0
3.0
1.0
3.0
2.0
4.0
3.0
3.0
2.0
3.0