拆分
Designer提供了拆分組件,用于對數(shù)據(jù)進(jìn)行隨機(jī)拆分以生成訓(xùn)練和測試集,支持按比例拆分和按閾值拆分兩種拆分方式。
組件配置
您可以使用以下任意一種方式配置拆分組件參數(shù),拆分后按照配置生成2個數(shù)據(jù)表。
方式一:可視化方式
進(jìn)入Designer工作流頁面,在左側(cè)組件列表中搜索拆分組件,將其拖入畫布,連接好上游節(jié)點后,單擊拆分組件配置組件參數(shù)。
如果兩種拆分方式均配置了參數(shù),則按閾值拆分方式優(yōu)先級高于按比例拆分。
頁簽 | 參數(shù) | 描述 | |
參數(shù)設(shè)置 | 拆分方式:按比例拆分 | 切分比例 | 輸出表1占原數(shù)據(jù)的比例,取值范圍(0,1)。 |
隨機(jī)數(shù)種子 | 隨機(jī)種子數(shù)可以固定隨機(jī)生成器的狀態(tài),使得在相同種子下的多次運行能夠得到相同的劃分結(jié)果。不配置時系統(tǒng)默認(rèn)生成。 | ||
ID列(ID列相同的不會被拆分) | 選中高級選項時可配置。 僅支持選擇單列,ID列相同的行數(shù)據(jù)不會被拆分,會被全量隨機(jī)分配到輸出表1或輸出表2中。 | ||
拆分方式:按閾值拆分 | 閾值列 | 對該列數(shù)據(jù)按閾值拆分,不支持String列。 | |
閾值 | 對閾值列按照閾值進(jìn)行全量拆分,輸出表1中閾值列值均小于閾值,輸出表2中的均大于或等于閾值。 | ||
執(zhí)行調(diào)優(yōu) | 計算核心數(shù) | 系統(tǒng)根據(jù)輸入數(shù)據(jù)量,自動分配訓(xùn)練的實例數(shù)量。默認(rèn)自動選擇。 | |
每個核內(nèi)存數(shù) | 系統(tǒng)根據(jù)輸入數(shù)據(jù)量,自動分配內(nèi)存。單位為MB。默認(rèn)自動選擇。 |
方式二:PAI命令方式
您可以使用SQL腳本組件,取消選中是否由系統(tǒng)添加Create Table語句,輸入如下腳本,通過PAI命令方式配置該組件參數(shù)。詳情請參見SQL腳本。
PAI -name split -project algo_public
-DinputTableName=wbpc
-Doutput1TableName=wpbc_split1
-Doutput2TableName=wpbc_split2
-Dfraction=0.25;
不支持同時設(shè)置按比例拆分方式和按閾值拆分方式參數(shù)。
參數(shù)類別 | 參數(shù)名稱 | 是否必填 | 參數(shù)描述 | 默認(rèn)值 |
通用參數(shù) | inputTableName | 是 | 輸入表的表名。 | 無 |
inputTablePartitions | 否 | 輸入表中,參與訓(xùn)練的分區(qū)。支持以下格式:
說明 如果指定多個分區(qū),則使用英文逗號(,)分隔。 | 所有分區(qū) | |
output1TableName | 是 | 輸出表1。 | 無 | |
output1TablePartition | 否 | 輸出表1分區(qū)名。 | 輸出表1為非分區(qū)表 | |
output2TableName | 是 | 輸出表2。 | 無 | |
output2TablePartition | 否 | 輸出表2分區(qū)名。 | 輸出表2為非分區(qū)表 | |
lifecycle | 否 | 輸出表的生命周期,取值范圍為[1,3650]。 | 無 | |
coreNum | 否 | 計算核心數(shù),屬于執(zhí)行調(diào)優(yōu)參數(shù)。系統(tǒng)根據(jù)輸入數(shù)據(jù)量自動分配訓(xùn)練的實例數(shù)量。 | 默認(rèn)自動選擇 | |
memSizePerCore | 否 | 每個核內(nèi)存數(shù)(單位MB),屬于執(zhí)行調(diào)優(yōu)參數(shù)。系統(tǒng)根據(jù)輸入數(shù)據(jù)量自動分配內(nèi)存,取值范圍為(1, 65536)。 | 默認(rèn)自動選擇 | |
按比例拆分方式參數(shù) | fraction | 是 | 切分至輸出表1的數(shù)據(jù)比例,取值范圍為(0,1)。 | 無 |
randomSeed | 否 | 隨機(jī)數(shù)種子,取值范圍為正整數(shù)。 | 系統(tǒng)默認(rèn)生成 | |
idColName | 否 | ID列。僅支持選擇單列,ID列相同的行數(shù)據(jù)不會被拆分,會被全量隨機(jī)分配到輸出表1或輸出表2中。 | 無 | |
按閾值拆分方式參數(shù) | thresholdColName | 是 | 閾值列。對該列數(shù)據(jù)按閾值拆分,不支持String列。 | 無 |
threshold | 是 | 閾值。對閾值列按照閾值進(jìn)行全量拆分,輸出表1中閾值列值均小于閾值,輸出表2中的均大于或等于閾值。 | 無 |