全部产品
Search
文档中心

人工智能平台 PAI:分层采样

更新时间:Nov 26, 2024

分层采样算法是一种数据抽样方法,通过指定的分组列将数据集划分为多个层或组,并在每个组内独立地进行随机抽样。此方法确保每个组在样本中都有适当的代表性,从而提高样本的整体代表性,特别适用于处理数据不平衡问题。通过这种方式,分层采样有助于提升模型训练的准确性和稳定性。

配置组件

方式一:可视化方式

在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

所有分区

输入表中,参与训练的分区。支持以下格式:

  • Partition_name=value

  • name1=value1/name2=value2:多级格式

说明

指定多个分区时,分区之间使用英文逗号(,)分隔,例如name1=value1,value2。

outputTableName

输出结果表。

strataColName

层次列,即按照此列作为key分层。

sampleSize

采样个数,取值:

  • 正整数:表示每个层的采样个数。

  • 字符串:格式为strata0:n0,strata1:n1,表示每个层分别配置的采样个数。

说明
  • 当sampleSize与sampleRatio都为空时,系统会报错。

  • 当sampleSize与sampleRatio都不为空时,以sampleSize为准。

sampleRatio

采样比例,取值:

  • 数字:范围(0,1),表示每个stratum的采样比例。

  • 字符串:格式为strata0:r0,strata1:r1,表示每个层分别配置采样比例。

randomSeed

123456

随机数种子,取值范围为正整数。

lifecycle

输出表的生命周期,取值范围为[1,3650]

coreNum

系统自动分配

计算的核心数目,取值范围为正整数。

memSizePerCore

系统自动分配

每个核心的内存(单位是MB),取值范围为(1, 65536)