随机采样算法是一种从输入数据集中提取样本的技术,依据指定的比例或数量,随机选择样本以生成子集。每次采样过程都是独立的,确保每个样本被选中的概率相等且不受其他样本选择的影响。该方法常用于创建训练和测试数据集,以保证模型评估的无偏性和代表性,特别适用于大规模数据处理。
配置组件
方式一:可视化方式
在Designer工作流页面添加随机采样组件,并在界面右侧配置相关参数:
参数类型 | 参数 | 描述 |
参数设置 | 采样个数 | 取值为正整数。 |
采样比例 | 取值为浮点数,范围(0,1)。 | |
放回采样 | 在随机采样过程中,每次选择样本后,将其放回原数据集,使得该样本在后续的采样中仍然有可能被再次选择。 | |
随机数种子 | 默认系统自动生成。 | |
执行调优 | 核心数 | 取值为正整数,默认系统自动分配。 |
核内存分配 | 取值为正整数,单位为MB,范围(1, 65536),默认系统自动分配。 |
方式二:PAI命令方式
使用PAI命令配置随机采样组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见场景4:在SQL脚本组件中执行PAI命令。
PAI -name RandomSample
-project algo_public
-Dlifecycle="28"
-DoutputTableName="test2"
-Dreplace="false"
-DsampleSize="500"
-DinputPartitions="pt=20150501"
-DinputTableName="bank_data_partition";
参数名称 | 是否必选 | 默认值 | 参数描述 |
inputTableName | 是 | 无 | 输入表的名称。 |
inputTablePartitions | 否 | 无 | 输入表中,参与训练的分区。支持以下格式:
说明 指定多个分区时,分区之间使用英文逗号(,)分隔,例如name1=value1,value2。 |
outputTableName | 是 | 无 | 输出结果表。 |
sampleSize | 否 | 无 | 采样个数。 说明
|
sampleRatio | 否 | 无 | 采样比例,浮点数,范围(0,1)。 |
replace | 否 | false | 是否放回,BOOLEAN类型。 |
randomSeed | 否 | 系统自动分配 | 随机数种子,取值范围为正整数。 |
lifecycle | 否 | 无 | 输出表的生命周期,取值范围为[1,3650]。 |
coreNum | 否 | 系统自动分配 | 计算的核心数目,取值范围为正整数。 |
memSizePerCore | 否 | 系统自动分配 | 每个核心的内存(单位是MB),取值范围为(1, 65536)。 |