全部产品
Search
文档中心

人工智能平台 PAI:数据转换模块

更新时间:Feb 27, 2024

通过数据转换模块可以对数据进行归一化、离散化、Index化或WOE转换。

配置组件

您可以使用以下任意一种方式,配置数据转换模块组件参数。

方式一:可视化方式

Designer工作流页面配置组件参数。

页签

参数

描述

字段设置

输入表选择的特征列

输入的特征列,默认选择全表。

不进行转换的数据列

选中的列会原样输出,可以在此指定Label。

数据转换的类型

支持的转换类型包括归一化离散化转换为WOE值Index

默认WOE值

仅当数据转换的类型取值为转换为WOE值时,该参数生效。

如果配置了该参数,当样本值落入无WOE值的分箱时,使用该值进行替换。如果未配置该参数,则当样本值落入无WOE值的分箱时,算法报错。

执行调优

核心数

使用的CPU Core数量,默认系统自动分配。

每个核内存数

每个CPU Core所使用的内存大小,默认系统自动分配。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本

PAI -name data_transform
-project algo_public
-DinputFeatureTableName=feature_table
-DinputBinTableName=bin_table
-DoutputTableName=output_table
-DmetaColNames=label
-DfeatureColNames=feaname1,feaname2

参数

描述

是否必选

默认值

inputFeatureTableName

输入特征数据表。

inputBinTableName

输入分箱结果表。

inputFeatureTablePartitions

输入特征表选择的分区。

全表

outputTableName

输出表。

featureColNames

输入表选择的特征列。

所有列

metaColNames

不进行转换的数据列,选中的列会原样输出。可以在此列中指定Label及sample_id等。

transformType

数据转换的类型,取值包括:

  • normalize:归一化。

  • dummy:离散化。

  • woe:转换为WOE值。

dummy

itemDelimiter

特征分隔符,仅在进行离散化时有效。

英文逗号(,)

kvDelimiter

KV分隔符,仅在进行离散化时有效。

英文冒号(:)

lifecycle

输出表的生命周期。

coreNum

使用的CPU Core数量。

系统自动计算

memSizePerCore

每个CPU Core所使用的内存大小,单位为MB。

系统自动计算

归一化是指根据输入的分箱信息,将变量值转换为0~1之间,缺失值填充为0。具体的算法如下。

if feature_raw_value == null or feature_raw_value == 0 then
    feature_norm_value = 0.0
else
    bin_index = FindBin(bin_table, feature_raw_value)
    bin_width = round(1.0 / bin_count * 1000) / 1000.0
    feature_norm_value = 1.0 - (bin_count - bin_index - 1) * bin_width

通过数据转换模块进行不同类型的数据转换,其输出格式不同:

  • 归一化和WOE转换的输出为普通表。

  • 离散化将数据转换成Dummy变量时,输出为KV格式的表,生成的变量格式为${feaname}]\_bin\_${bin_id}。以sns变量为例,生成的变量如下:

    • 如果sns落入第二个桶中,则生成的变量为[sns]_bin_2

    • 如果sns为空,则落入空桶,生成的变量为[sns]_bin_null

    • 如果sns不为空,且未落入任何一个已经定义的桶中,则落入else桶,生成的变量为[sns]_bin_else