You need to enable JavaScript to run this app.
智能数据洞察(私有化)

智能数据洞察(私有化)

复制全文
数据处理
特征工程
复制全文
特征工程

本文为您介绍特征工程模块算子的使用,包括二值化、主成分分析、笛卡尔积、离散余弦变化、行归一化、列归一化、奇异值分解、特征哈希、one-hot 编码、Array 处理、Map 处理、特征重要性、特征筛选等。

功能概述

特征工程,通常指将原始数据转化成更好地表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。我们在完成数据输入之后,即可利用特征工程算子对输入数据进行进一步加工处理操作,下文将为您具体介绍这些算子。
Image

特征工程算子

介绍

二值化

将数值特征转换为二值特征0或1,用于对定量特征进行"是与否"的划分,剔除冗余信息

主成分分析法

通过将高维特征映射到低维正交空间实现数据降维,在保留大部分原始信息的同时减少特征数量

笛卡尔乘积

计算两个数值型特征集合的笛卡尔乘积,生成特征间的组合结果

离散余弦变换

将时域信号转换为频域表示的数字信号处理技术,主要用于数据压缩和特征提取

行归一化

通过对每行数据进行规范化处理,使各行数据在相同数量级上具有可比性

列归一化

对指定列进行标准化、最小最大化或最大绝对值化缩放,使不同量纲的数据具有可比性

奇异值分解

对数值型数据进行简化处理,通过选取较高奇异值将数据投影到低维空间

特征哈希

通过哈希函数将高维特征映射到固定维度的向量空间,适用于大规模稀疏数据的特征压缩

One-hot 编码

将离散型分类变量转换为N个二元特征(0/1),每个新特征对应原始特征的一个可能取值

Array 处理

对数组型字段进行批量操作,支持自动检测数组格式并优化存储结构

Map 处理

针对包含键值对结构的列进行操作,主要用于解析和处理JSON、字典等映射类型数据

特征重要性

计算各特征对目标变量的权重,帮助识别影响最大的特征,支持7种计算方法

特征筛选

根据特征重要性权重筛选关键特征,支持阈值、Top K和Top百分比三种筛选方式

功能介绍

二值化

将数值特征转换为二值特征 0 或 1,在数据挖掘领域,二值化的目的是为了对定量的特征进行“是与否”的划分,以剔除冗余信息。
Image
使用示例
示例1:客户价值分层

  • 操作字段:"年度消费金额"
  • 参数设置:
    • 筛选类型:single
    • 二分类阈值:10 000
    • 替换原始列:是
    • 输出列名:高价值客户标记
  • 输出结果:
    • 原值≥10000 → 转换为1
    • 原值<10000 → 转换为0

示例2:财务风险评估

  • 操作字段:"资产负债率"
  • 参数设置:
    • 筛选类型:single
    • 二分类阈值:0.7
    • 替换原始列:否
    • 输出列后缀:_风险标记
  • 输出结果:
    • 新增"资产负债率_风险标记"列
    • 原值≥0.7 → 新列值为1
    • 原值<0.7 → 新列值为0

参数说明

参数

说明

筛选类型

选择字段范围:
all:所有数值列
single:仅单列。还需选择单个列名。
subset:自定义多列。还需选择至少一列。

反向选择

默认关闭。若开启,逻辑取反(原规则≥阈值→1变为<阈值→1)。

替换原始列

默认开启。开启后,直接替换原字段;否则新增列。

输出列后缀

新增列的后缀(当「替换原始列」关闭时生效)。

二分类阈值

默认为0.5。数值的分界值,≥阈值转为1,否则为0。

主成分分析法

主成分分析(PCA)是一种数据降维算法,通过将高维特征映射到低维正交空间(主成分),在保留大部分原始信息的同时减少特征数量。该功能仅支持数值型且角色为"regular"的属性运算,输出结果通常需要作为其他分析模型的输入。

说明

regular:指的是那些作为常规输入特征、用于模型训练或分析的基础数据属性。这类属性是模型进行计算和学习的核心依据,不承担特殊功能(如标识样本的 ID、仅用于筛选数据的过滤条件等)。

Image
使用示例
示例1:客户信用评分降维

  • 业务场景:银行有15个客户财务指标需要降维处理
  • 参数设置:
    • 特征列:选择所有15个财务指标(如"年收入"、"负债比"、"信用卡额度"等)
    • 降维方式:选择"keepVariance"
    • 百分比:设置为0.90(保留90%的原始信息)(执行后系统自动确定保留5个主成分)
  • 结果应用:将输出的5个主成分作为信用评分模型的输入

示例2:商品销售数据可视化

  • 业务场景:电商平台希望将20个商品特征降维后可视化
  • 参数设置:
    • 特征列:选择20个销售相关特征(如"月销量"、"收藏量"、"点击率"等)
    • 降维方式:选择"fixedNumber"
    • k值:设置为3(为了三维可视化)
  • 结果应用:用3个主成分做三维散点图分析商品聚类情况

参数说明

参数

说明

特征列

参与 PCA 分析的数值型特征列,支持多选。

降维方式

确定降维程方式和降维程度。

  • none:不降维,输出所有主成分。即若是输入的数据含有 n 个属性,那么输出的主成分向量为 n 维。
  • fixedNumber:指定保留的主成分数量。还需设置k值,k值默认为1。
  • keepVariance:按累积方差比例保留主成分。还需填写参数百分比的值,百分比值默认为0.99,表示降维后保留的主成分,必须能够解释原始数据至少99%的信息量。

笛卡尔乘积

笛卡尔乘积是指两个集合 X 和 Y 的笛卡尓积(Cartesian product),又称直积,表示为 X × Y,第一个对象是 X 的成员而第二个对象是 Y 的所有可能有序对的其中一个成员。
Image
使用示例
示例1:产品规格组合生成

  • 原始数据表(products)

    product_id

    length

    width

    height

    1001

    30

    20

    10

    1002

    40

    25

    15

  • 参数设置:

    • 左操作数列:length
    • 右操作数列:width
  • 输出结果:

    product_id

    length

    width

    height

    interaction result

    1001

    30

    20

    10

    600

    1002

    40

    25

    15

    1000

参数说明

参数

说明

左操作数所选列

笛卡尔积的第一个维度列,需为数值型,可多选。

右操作数所选列

笛卡尔积的第二个维度列,需为数值型,可多选。

注意

「左操作数所选列」和「右操作数所选列」不能存在重复字段。

离散余弦变换

离散余弦变换(Discrete Cosine Transform,DCT)是一种将时域信号转换为频域表示的数字信号处理技术。该功能通过数学变换,将长度为N的实值序列转换为相同长度的频域系数序列,主要用于数据压缩和特征提取。

说明

核心概念说明:

  • 时域和频域:时域是信号随时间变化的原始波形(如心电图曲线);频域是信号分解后的频率成分分布(如音频频谱图)。
  • 正向 DCT 和反向 DCT:正向变换将原始信号转为频域系数用于特征提取(如图像压缩);反向变换则将频域系数还原为时域信号用于数据重建(如解压文件)。

Image
使用示例
示例1:音频信号特征提取

  • 业务场景:从音频波形信号中提取频域特征,用于语音识别或压缩。

  • 参数设置:

    • 特征列:audio_waveform(音频采样点序列)
    • 反向:false(正向DCT,时域→频域)
    • 输出列:feature_transformed(自动生成频域系数)
  • 输出效果:

    audio_waveform (原始信号)

    feature_transformed (DCT系数)

    0.1

    12.8

    0.5

    5.3

    -0.2

    -1.2

    ...

    ...

参数说明

参数

说明

特征列

用来训练的特征,可多选。

反向

用于控制变化方向:
• 关闭:正向DCT(时域→频域)
• 开启:反向DCT(频域→时域)

行归一化

行归一化是一种数据标准化方法,通过对每行数据进行规范化处理,使得各行数据在相同数量级上具有可比性,便于后续的综合分析和建模。
Image
使用示例
示例1:用户行为数据归一化

  • 原始数据:

    用户ID

    点击次数

    浏览时长(秒)

    购买金额(元)

    1001

    20

    300

    500

    1002

    50

    600

    200

  • 参数设置:

    • 特征列:["点击次数", "浏览时长", "购买金额"]
    • p值:2(欧式归一化)
  • 处理后结果:

    用户ID

    feature_transformed(数组格式)

    1001

    [0.036, 0.539, 0.842]

    1002

    [0.078, 0.937, 0.312]

参数说明

参数

说明

特征列

用来训练的特征,此处指需要归一化的数值型字段,可多选。

p

  • 归一化的幂次参数,为大于 0 的实数,表示规范值。
  • 归一化后每行各属性 p 次方之和等于 1。
  • 常用值:
    • 1(曼哈顿归一化)
    • 2(欧式归一化)

列归一化

列归一化是一种数据预处理方法,通过对指定列进行缩放处理,使不同量纲的数据具有可比性,支持标准化(standard)、最小最大化(min-max)和最大绝对值化(max-abs)三种缩放方式。暂时不支持 inplace 修改,生成的结果是一列数组,若想拆分成单独的列,需要在该算子后增加一个向量分解器算子。

说明

inplace 修改:指的是直接在原数据对象上进行修改,而不创建新的副本。简单来说,当对数据执行某种操作(比如修改数值、删除元素、转换格式等)时,如果采用 inplace 方式,操作会直接作用于原来的数据,操作完成后,原数据会变成修改后的样子,不会额外生成一个新的数据对象来存储结果。

Image

使用示例
示例1:标准化(standard)缩放

  • 计算公式:(x - 均值5000)/标准差2449.49

    用户ID

    原始销售额

    标准化结果(std_scale)

    1001

    2000

    -1.2247

    1002

    5000

    0

    1003

    8000

    1.2247

示例2:最小最大化(min-max)缩放

  • 计算公式:(x - min18)/(max52 - min18)

    用户ID

    原始年龄

    最小最大化结果(std_scale)

    1001

    18

    0.0

    1002

    35

    0.5

    1003

    52

    1.0

示例3:最大绝对值化(max-abs)缩放示例

  • 计算公式:x / max(abs(800), abs(-400))

    用户ID

    原始利润

    最大绝对值化结果(std_scale)

    1001

    -400

    -0.5

    1002

    200

    0.25

    1003

    800

    1.0

参数说明

参数

说明

特征列

用来训练的特征,此处指选择需要归一化的数值列,可多选。

缩放类型

选择列归一化方法。

  • standard:标准化,公式为 (x - μ)/σ,均值为0,标准差为1,数据分布近似正态。
  • min-max:最小最大化,公式为 (x - min)/(max - min),值域[0,1],有明确边界的数据。
  • max-abs:最大绝对值化,公式为 x/max(abs(x)),值域[-1,1],包含正负值的数据。

使用标准差

默认开启。standard 方法专用,是否使用标准差。

使用平均值

默认开启。standard 方法专用,是否使用平均值。

最小值

默认为0。min-max 方法专用,指定最小值。

最大值

默认为1。min-max 方法专用,指定最大值。

奇异值分解

奇异值分解(SVD),是数据降维的一种方式,它可以对数值型数据进行简化处理,通过选取较高的奇异值将数据投影到低维空间。该功能仅支持数值型且角色为"regular"的属性运算,输出结果通常需要作为其他分析模型的输入。

说明

regular:指的是那些作为常规输入特征、用于模型训练或分析的基础数据属性。这类属性是模型进行计算和学习的核心依据,不承担特殊功能(如标识样本的 ID、仅用于筛选数据的过滤条件等)。

Image
使用示例
示例1:金融风控特征降维

  • 业务场景:银行需要将30个高度相关的财务指标降维处理,用于信用风险评估模型
  • 参数设置:
    • 特征列:选择30个财务指标(包含"资产负债率"、"流动比率"、"利润率"等)
    • 降维方式:选择"keepVariance"
    • 百分比:设置为0.85(保留85%原始信息)(执行后系统自动确定保留8个主成分)
  • 执行结果:系统自动保留8个核心指标
  • 结果应用:将8个SVD特征作为风控模型的输入

示例2:零售用户画像构建

  • 业务场景:电商平台需要将100维用户行为数据降维
  • 参数设置:
    • 特征列:选择100个行为特征("点击率"、"停留时长"、"加购频率"等)
    • 降维方式:选择"fixedNumber"
    • k值:设置为 10
  • 执行结果:生成10个核心特征
  • 结果应用:用于用户分群系统,提升聚类速度

参数说明

参数

说明

特征列

用来训练的特征,此处指参与分解的数值型特征,可多选。

降维方式

确定降维程方式和降维程度。

  • none:不降维,输出所有主成分。即若是输入的数据含有 n 个属性,那么输出的主成分向量为 n 维。
  • fixedNumber:指定保留的主成分数量。还需设置k值,k值默认为1
  • keepVariance:按累积方差比例保留主成分。还需填写参数百分比的值,百分比值默认为0.99,表示降维后保留的主成分,必须能够解释原始数据至少99%的信息量。

特征哈希

特征哈希(Hashing Trick)是一种快速降维技术,通过哈希函数将高维特征(如文本词频、类别型变量)映射到固定维度的向量空间。适用于大规模稀疏数据的特征压缩,避免传统 One-Hot 编码的维度爆炸问题。
Image
使用示例:
示例1:文本词频降维

  • 业务场景:将10,000维的文本词频特征压缩到512维
  • 参数设置:
    • 筛选类型:single
    • 选择列:word_counts(存储词频的字典列,如{"apple":3, "banana":1}
    • 特征数量:512
    • 反向选择:false
  • 执行效果:
    • 原始数据:{"apple":3, "banana":1, ...}(10,000+个词)
    • 输出结果:[0.0, 1.2, 0.0, ..., -0.8](512维向量)

示例2:用户行为特征压缩

  • 业务场景:将用户5000维的行为ID特征压缩到256维
  • 参数设置:
    • 筛选类型:subset
    • 选择列:["click_ids", "view_ids"]
    • 特征数量:256
    • 反向选择:false
  • 执行效果:
    • 原始数据:click_ids=[123,456,...], view_ids=[789,...]
    • 输出结果:[0.5, 0.0, -1.3, ..., 0.7](256维向量)

参数说明

参数

说明

筛选类型

选择字段范围:
all:所有数值列
single:仅单列。还需选择单个列名。
subset:自定义多列。还需选择至少一列。

反向选择

若开启,则保留未选中的列。

特征数量

降维后的特征维度,默认为 1024,建议设为2的幂次方(如256/512)。

One-hot 编码

One-hot 编码是一种将离散型分类变量转换为机器学习算法更易理解的形式的编码方法。它将具有N个不同取值的特征扩展为N个二元特征(0/1),每个新特征对应原始特征的一个可能取值。
Image
使用示例
示例1:颜色特征编码

  • 原始数据:

    product_id

    color

    1001

    red

    1002

    blue

    1003

    green

  • 参数设置:

    • 列:["color"]
  • 处理后结果:

    product_id

    color

    1001

    [1, 0, 0]

    1002

    [0, 1, 0]

    1003

    [0, 0, 1]

示例2:多列同时编码

  • 原始数据:

    user_id

    gender

    age_group

    2001

    male

    young

    2002

    female

    middle

    2003

    male

    old

  • 参数设置:

    • 列:["gender", "age_group"]
  • 处理后结果:

    user_id

    gender

    age_group

    2001

    [1, 0]

    [1, 0, 0]

    2002

    [0, 1]

    [0, 1, 0]

    2003

    [1, 0]

    [0, 0, 1]

参数说明

参数

说明

用来训练的特征,此处指需要One-hot 编码的文本型字段,可多选。

Array 处理

Array 处理是对数组型字段(如 [1.2, 0.5, -0.3] )进行批量操作的算子,核心功能是将数组类型转换为 one-hot 编码类型。
Image
使用示例
示例1:数组转 one-hot 编码

  • 原始数据:

    ID

    raw_vector

    1

    [1, 2, 3]

    2

    [2, 3]

    3

    [3]

  • 参数设置:

    • 列:["raw_vector"]
    • 采样数据行数:200000(用于分析数组中所有可能的取值)
  • 处理后:

    ID

    features

    1

    [1, 1, 1]

    2

    [0, 1, 1]

    3

    [0, 0, 1]

参数说明

参数

说明

选择包含数组的列。

采样数据行数

用于分析数组中所有可能取值的样本量,默认 200000。

Map 处理

Map 处理是搭配机器学习算法使用的算子,针对map<string, double>类型的特征字段进行操作,核心功能是将map<string, double>类型转换为 one-hot 编码的 array 类型。系统会先采样指定行数分析所有可能的 key,再对全量数据进行统一处理。
使用示例
示例1:Map 数据转 one-hot 编码

  • 原始数据表

    order_id

    order_detail (map<string, double> 类型)

    10001

    {"price":299.0, "items":2.0}

    10002

    {"price":599.0, "discount":0.8}

  • 参数设置:

    • 列:["order_detail"]
    • 采样数据行数:200000(用于分析所有可能的 key)
  • 处理结果表:

    order_id

    features

    10001

    [1, 1, 0]

    10002

    [1, 0, 1]

参数说明

参数

说明

选择包含map<string, double>类型的列。

采样数据行数

用于分析 map 中所有可能 key 的样本量,默认 200000。

特征重要性

特征重要性用于计算数据集中各特征的权重,帮助识别对目标变量影响最大的特征。支持多种计算方法,适用于向量或单列特征。对于向量列,输出格式为原列名__索引(索引从0开始)。
Image
使用示例
示例1:房屋价格预测

  • 原始数据表(house_data)

    house_id

    area

    rooms

    location_score

    price_label

    1001

    85

    3

    [0.7,0.2]

    1

    1002

    60

    2

    [0.5,0.3]

    0

    1003

    120

    4

    [0.9,0.1]

    1

  • 参数设置

    • 特征列:["area", "rooms", "location_score"]
    • 标签列:price_label
    • 计算方法:gini(基尼系数)
  • 处理后结果表

    column

    weight

    area

    0.78

    rooms

    0.65

    location_score__0

    0.42

    location_score__1

    0.15

示例2:信用卡违约分析

  • 原始数据表(credit_data)

    user_id

    income

    debt_ratio

    payment_history

    default_flag

    2001

    50000

    0.35

    [1,1,0,1]

    0

    2002

    32000

    0.72

    [0,1,0,0]

    1

  • 参数设置

    • 特征列:["income", "debt_ratio", "payment_history"]
    • 标签列:default_flag
    • 计算方法:info_gain_ratio(信息增益比)
  • 处理后结果表

    column

    weight

    debt_ratio

    0.91

    payment_history__0

    0.47

    payment_history__1

    0.32

    income

    0.28

参数说明

参数

说明

特征列

用来训练的特征,此处指需要计算权重的特征,可多选。

标签列

分类训练的依据,仅单选。

特征重要性计算方法

  • chisq:卡方检验,适用于分类问题,检验类别型特征与类别型标签的独立性(如性别与购买意愿的关系)。
  • corr:相关系数,适用于回归问题,衡量数值型特征与数值型标签的线性相关性(如房价与面积的关系)
  • gini:基尼系数,适用于分类问题,衡量特征对类别纯度的贡献(如决策树中的特征分裂)。
  • info:信息增益,适用于分类问题,衡量特征减少标签不确定性的能力(如文本分类中的关键词筛选)。
  • info_gain_ratio:信息增益比,改进版信息增益,解决对多值特征的偏好(如ID类特征)。
  • pca:主成分分析,适用于降维或无监督学习,通过方差解释度衡量特征重要性(如图像压缩)。
  • fvalue:F检验值,适用于回归问题或分类问题,检验特征与标签的线性关系显著性(如医学指标筛选)。

特征筛选

特征筛选通过计算各特征对目标变量的重要性权重,帮助用户识别关键特征并剔除冗余特征。支持数值型和向量型特征,自动处理向量列的展开(格式:原列名__索引)。适用于分类和回归任务的前期特征选择。
Image
使用示例
示例1:金融风控特征筛选

  • 原始数据表(loan_risk)

    user_id

    income

    debt_ratio

    behavior_scores

    is_default

    1001

    50000

    0.3

    [0.8, 0.2, 0.5]

    0

    1002

    32000

    0.6

    [0.6, 0.3, 0.1]

    1

  • 参数设置

    • 特征列:["income", "debt_ratio", "behavior_scores"]
    • 标签列:is_default
    • 计算方法:info_gain_ratio(信息增益比)
    • 筛选阈值:0.3(保留重要性≥0.3的特征)
  • 处理后结果

    特征名称

    重要性得分

    是否保留

    debt_ratio

    0.85

    behavior_scores__0

    0.42

    income

    0.25

    behavior_scores__1

    0.18

    behavior_scores__2

    0.10

    最终保留特征:debt_ratio, behavior_scores__0

示例2:电商推荐特征筛选

  • 原始数据表(user_behavior)

    user_id

    click_count

    purchase_history

    user_group

    2001

    20

    [1, 0, 1, 1, 0]

    A

    2002

    5

    [0, 1, 0, 0, 1]

    B

  • 参数设置

    • 特征列:["click_count", "purchase_history"]
    • 标签列:user_group
    • 计算方法:gini(基尼系数)
    • 筛选阈值:0.4
  • 处理后结果

    特征名称

    重要性得分

    是否保留

    purchase_history__0

    0.62

    purchase_history__3

    0.55

    click_count

    0.38

    purchase_history__1

    0.22

    最终保留特征:purchase_history__0, purchase_history__3

参数说明

参数

说明

特征列

用来训练的特征,此处指需要计算权重的特征,支持多选。

标签列

分类训练的依据,仅单选。

特征重要性计算方法

  • 卡方检验(chisq):适用于分类问题,检验类别型特征与标签的独立性(如性别与购买意愿)。
  • 相关系数(corr):适用于回归问题,衡量数值型特征与标签的线性相关性(如收入与消费水平)。
  • 基尼系数(gini):适用于分类问题,评估特征对类别纯度的贡献(如决策树特征分裂)。
  • 信息增益(info):适用于分类问题,衡量特征减少标签不确定性的能力(如关键词筛选)。
  • 信息增益率(info_gain_ratio):改进信息增益,解决多值特征偏好问题(如用户ID类特征)。
  • 主成分分析(pca):适用于无监督降维,通过方差解释度评估特征重要性(如图像特征压缩)。

权重关系选择

  • threshold(阈值筛选):保留重要性得分 ≥ 设定阈值的特征(如>0.3)。
  • top K(前K个特征):保留重要性排名前K的特征(如Top 5)。
  • top p%(前百分比):保留重要性排名前p%的特征(如Top 20%)。
最近更新时间:2025.08.11 16:37:33
这个页面对您有帮助吗?
有用
有用
无用
无用