本文介绍在FeatureStore如何运用自动特征工程技术(AutoFE)生成新特征,为用户提供一些参考建议与启示。通过AutoFE生成的pipeline模型,对训练集和测试集执行特征转换操作,从而提升机器学习或深度学习模型的效果。
什么是AutoFE
AutoFE(Auto Feature Engineering)指自动特征工程,通过分析用户输入的数据,推荐给用户一组特征工程的操作。用户可以直接使用这组操作进行特征工程,也可以在此基础上进一步自定义所需的处理过程。
AutoFE具体功能包括:
根据group by feature_x,group by(feature_x, feature_y)得到统计特征,例如根据样本按照城市统计销量特征,等于把城市映射为数值特征。
分析特征组合得到组合特征,例如,crosscount(feature_x, feature_y)。
根据加减乘除得到衍生特征, 例如,feature_x +-*/ feature_y。
基于决策树类(GBDT)算法对生成特征(信息价值,特征重要性和相关性等)进行排序做特征选择。
AutoFE使用流程
预处理
将不同数据源(ODPS/OSS/HDFS/本地)读取的数据进行处理,根据具体需求和数据规模进行采样,目前服务仅支持ODPS,单机版支持所有数据。
特征选择
当特征个数超过800列时,对后面特征分析和模型训练的性能有一定的影响,推荐使用GBDT对原始特征做初步评估筛选。
特征分析
对特征进行统计分析、组合生成和用SAFE选择,生成新的特征集合。
统计分析:通过多个重要统计指标(均值/标准差/最大值/最小值/偏度/峰度等),对特征数据做统计分析。
组合生成:通过训练GBDT模型,结合树的路径来组合特征,计算Information Gain Ratio进行排序,从而选出推荐的组合。
SAFE(Scalable Automatic Feature Engineering)选择:通过分桶计算每列的Information Value,过滤过低的特征,训练GBDT模型,计算特征重要性,过滤重要性过低的特征。
更多关于SAFE的信息,请参见SAFE。
模型训练
基于特征分析生成配置和数据,对pipeline流程进行训练,生成模型用于离在线均可使用的模型。
特征转换
加载pipeline模型,对训练和测试数据进行特征转换,生成对应的特征工程结果。
计费说明
AutoFE本身不收费,但在进行预处理、特征选择、分析和模型训练等操作时,会在MaxCompute预付费/按量付费Project中启动数据计算及模型训练任务,因此会产生MaxCompute相关的公共资源费用,计费详情请参见MaxCompute计费概述。
前提条件
在开始执行操作前,请确认您已完成以下准备工作。
依赖产品 | 具体操作 |
云原生大数据计算服务 MaxCompute | |
大数据开发治理平台 DataWorks |
|
人工智能平台 PAI | |
对象存储 OSS | 已开通OSS服务。 |
准备工作
同步数据表pai_online_project.finance_record
为方便实践操作,我们已在MaxCompute可公共读取项目pai_online_project中提前预置了模拟生成的数据表,您需要在DataWorks中执行如下SQL命令,将该数据表从pai_online_project项目同步到自己的DataWorks项目中。具体操作步骤如下:
登录DataWorks控制台。
在左侧导航栏单击数据开发与治理>数据开发。
选择已创建的DataWorks工作空间后,单击进入数据开发。
鼠标悬停至新建,选择新建节点>MaxCompute>ODPS SQL,在弹出的页面中配置节点参数。
参数
取值建议
引擎实例
选择已创建的MaxCompute引擎。
节点类型
ODPS SQL
路径
业务流程/Workflow/MaxCompute
名称
可自定义名称。
单击确认。
在新建节点区域运行以下SQL命令,将数据表从pai_online_project项目同步到自己的MaxCompute中。
CREATE TABLE IF NOT EXISTS finance_record like pai_online_project.finance_record STORED AS ALIORC LIFECYCLE 90; INSERT OVERWRITE TABLE finance_record SELECT * FROM pai_online_project.finance_record
操作步骤
进入DSW开发环境。
登录PAI控制台。
在页面左上方,选择DSW实例所在的地域。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击默认工作空间名称,进入对应工作空间内。
在左侧导航栏,选择模型开发与训练>交互式建模(DSW)。
单击需要打开的实例操作列下的打开,进入DSW实例开发环境。
在Notebook页签的Launcher页面,单击快速开始区域Tool下的DSW Gallery,进入DSW Gallery页面。
在DSW Gallery页面中,搜索特征平台中使用自动特征工程,单击在DSW中打开,即可自动将所需的资源和教程文件下载至DSW实例中,并在下载完成后自动打开教程文件。
在打开的教程文件feature_store_with_autofe.ipynb中,您可以查看教程内容以及直接运行教程。
在教程文件中配置参数并单击,即可运行对应步骤的命令。当成功运行完一个命令后,再依次运行下个步骤的命令。
运行完成后,前往OSS管理控制台查看实验结果。
OSS Bucket请参见步骤4中参数
output_config_oss_dir
对应的值。
附录:命令列表
任务 | 参数 | 示例 | |
创建实验 | create | --config/-c | automl create fe -c autofe_config.ini |
断点续跑实验 | resume | --config/-c | automl resume fe exp123 -c autofe_config.ini |
列出实验列表 | list | --from xxx --to xxx | automl list fe --from 20230501 --to 20230601 |
获取某个实验提交时候的信息 | info <exp-id> | 无 | automl info exp123 |
获取某个具体实验的日志 | log <exp-id> | 无 | automl log exp123 |
停止某个实验 | kill <exp-id> | 无 | automl kill exp123 |
删除某个实验 | delete <exp-id> | 无 | automl delete exp123 |
配置 | config | 无 | 无 |
帮助 | help | --help/-h | automl --help |