分層採樣演算法是一種資料抽樣方法,通過指定的分組列將資料集劃分為多個層或組,並在每個組內獨立地進行隨機抽樣。此方法確保每個組在樣本中都有適當的代表性,從而提高樣本的整體代表性,特別適用於處理資料不平衡問題。通過這種方式,分層採樣有助於提升模型訓練的準確性和穩定性。
配置組件
方式一:可視化方式
在Designer工作流程頁面添加分層採樣組件,並在介面右側配置相關參數:
參數類型 | 參數 | 描述 |
欄位設定 | 分組列 | 選擇分組欄欄位,分層按照此列劃分。 |
參數設定 | 採樣個數 | 取值為正整數。 |
採樣比例 | 取值為浮點數,範圍(0,1)。 | |
隨機種子值 | 系統自動產生,預設值為1234567。 | |
執行調優 | 計算核心數 | 取值為正整數,預設系統自動分配。 |
每個核記憶體大小 | 取值為正整數,範圍(1, 65536),預設系統自動分配。 |
方式二:PAI命令方式
使用PAI命令配置分層採樣組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見情境4:在SQL指令碼組件中執行PAI命令。
PAI -name StratifiedSample
-project algo_public
-DinputTableName="test_input"
-DoutputTableName="test_output"
-DstrataColName="label"
-DsampleSize="A:200,B:300,C:500"
-DrandomSeed=1007
-Dlifecycle=30;
參數 | 是否必選 | 預設值 | 參數描述 |
inputTableName | 是 | 無 | 輸入表的名稱。 |
inputTablePartitions | 否 | 所有分區 | 輸入表中,參與訓練的分區。支援以下格式:
說明 指定多個分區時,分區之間使用英文逗號(,)分隔,例如name1=value1,value2。 |
outputTableName | 是 | 無 | 輸出結果表。 |
strataColName | 是 | 無 | 層次列,即按照此列作為key分層。 |
sampleSize | 否 | 無 | 採樣個數,取值:
說明
|
sampleRatio | 否 | 無 | 採樣比例,取值:
|
randomSeed | 否 | 123456 | 隨機數種子,取值範圍為正整數。 |
lifecycle | 否 | 無 | 輸出表的生命週期,取值範圍為[1,3650]。 |
coreNum | 否 | 系統自動分配 | 計算的核心數目,取值範圍為正整數。 |
memSizePerCore | 否 | 系統自動分配 | 每個核心的記憶體(單位是MB),取值範圍為(1, 65536)。 |