通過分箱組件可以進行特徵離散化,即將連續的資料進行分段,使其變為多個離散化區間。分箱組件支援等頻分箱、等寬分箱及自動分箱。
配置組件
您可以使用以下任意一種方式,配置分箱組件參數。
方式一:可視化方式
在Designer工作流程頁面配置組件參數。
頁簽 | 參數 | 描述 |
欄位設定 | 特徵列 | 支援STRING、BIGINT及DOUBLE類型。 |
標籤列 | 僅支援二分類。 | |
正例值 | 僅當標籤列存在時才生效。 | |
選擇分箱的參數來源 | 參數來源支援“參數設定”中的參數和手動分箱或自訂Json。 | |
是否保留沒有在“特徵列”中選擇的欄位 | 使用自訂分箱時,如果該參數選擇是,則未在特徵列中選擇的欄位會原樣保留,否則會刪除未選擇的欄位。 | |
上傳分箱和約束Json | 當選擇分箱的參數來源取值為手動分箱或自訂Json時,該參數生效。 | |
參數設定 | 分箱個數 | 配置為10,表示將連續特徵離散化至10個區間中。 |
自訂欄分箱個數 | 可以指定單個或多個欄位的分箱數,會覆寫總的分箱個數。如果自訂的列不在欄位選擇中,則多出的列也會進行計算。例如,欄位選擇為col0和col1, 自訂分箱為col0:3,col2:5,當分箱個數為10時,那麼按照col0:3,col1:10,col2:5進行計算。 取值格式為:欄位名1:分箱個數, 欄位名2:分箱個數。 | |
自訂離散值個數閾值 | 格式為col0:3。 | |
區間選擇 | 支援左開右閉或左閉右開區間。 | |
分箱方式 | 支援等頻、等寬及自動分箱。 | |
離散值個數閾值 | 如果小於該值,則分到“其它”分箱。 | |
執行調優 | 核心數 | 預設系統自動分配。 |
每個核分配的記憶體數 | 預設系統自動分配。 |
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼。
PAI -name binning
-project algo_public
-DinputTableName=input
-DoutputTableName=output
參數 | 描述 | 是否必選 | 預設值 |
inputTableName | 輸入表的名稱。 | 是 | 無 |
outputTableName | 輸出表的名稱。 | 是 | 無 |
selectedColNames | 輸入表選擇分箱的列。 | 否 | 除Label外的其他列,如果無Label,則選擇全部。 |
labelColName | Label所在的列。 | 否 | 無 |
validTableName | 表示binningMethod為auto時輸入的驗證表名。在auto模式下,該參數為必選。 | 否 | 空 |
validTablePartitions | 驗證表選擇的分區。 | 否 | 全表 |
inputTablePartitions | 輸入表選擇的分區。 | 否 | 全表 |
inputBinTableName | 輸入的分箱表。 | 否 | 無 |
selectedBinColNames | 分箱表選擇的列。 | 否 | 空 |
positiveLabel | 輸出正樣本的分類。 | 否 | 1 |
nDivide | 分箱的個數,取值為正整數。 | 否 | 10 |
colsNDivide | 自訂欄的分箱個數,例如col0:3,col2:5。如果colsNDivide中選中的列不在selectedColNames中,則多出的列也會進行計算。例如,selectedColNames為col0,col1,colsNDivide為col0:3,col2:5,nDivide為10時,則按照col0:3,col1:10,col2:5進行計算。 | 否 | 空 |
isLeftOpen | 選擇區間為左開右閉或左閉右開,取值包括為:
| 否 | true |
stringThreshold | 離散值為其他分箱的閾值。 | 否 | 無 |
colsStringThreshold | 自訂欄的閾值,同colsNDivide。 | 否 | 空 |
binningMethod | 分箱類型,取值包括:
| 否 | quantile |
lifecycle | 輸出表的生命週期,取值為正整數。 | 否 | 無 |
coreNum | 核心數,取值為正整數。 | 否 | 系統自動計算 |
memSizePerCore | 記憶體數,取值為正整數。 | 否 | 系統自動計算 |
分箱約束功能需要與評分卡訓練組件配合使用。在評分卡訓練過程中通過分箱進行特徵工程,將特徵離散化產生Dummy變數,並對訓練過程中的每個Dummy變數的權重增加一定約束。各個約束項的含義如下:
順序升序約束:該特徵的各個Dummy變數按照Index從小到大添加權重上升的約束,即Index越大,權重越大。
順序降序約束:該特徵的各個Dummy變數按照Index從小到大添加權重下降的約束,即Index越大,權重越小。
相等權重值:該特徵兩個Dummy變數的權重值相等的約束。
權重值為0:該特徵某個Dummy變數的權重值為0的約束。
等於固定權重值:該特徵某個Dummy變數的權重值等於固定浮點數值的約束。
WOE值順序約束:該特徵各個Dummy變數按照WOE值從小到大添加權重上升的約束,即WOE值越大,權重值越大。
結果示範
使用分箱組件的工作流程運行結束後,按右鍵畫布中的分箱組件,在捷徑功能表,單擊我要分箱。
在變數列表頁面,您可以查看每個變數的分箱數、類型、IV等資訊,具體如下圖所示。
單擊變數的名稱(以f1為例),可以開啟f1-分箱詳情頁面,該頁面詳情如下圖所示。
您可以在該頁面對分箱進行合并、拆分,也可以對分箱增加約束。
說明約束僅對後續的評分卡訓練模組有效,如果僅使用分箱,不使用評分卡訓練,則可以忽略約束項。