数据集|为什么自动特征工程将会改变我们做机器学习的方式?( 二 )
正如在Featuretools中实现的那样 , 自动化特征工程甚至允许像我这样的领域新手从一组相关数据表中创建数千个相关特征 。 我们只需要知道表的基本结构以及它们之间的关系 , 我们在一个名为entity set的数据结构中跟踪它们 。 一旦我们有了一个entity set , 使用一个名为Deep Feature Synthesis (DFS)的方法 , 我们就能够在一个函数调用中构建数千个特征 。
文章插图
使用Featuretools的自动化特征工程过程 。
DFS使用"原语" 来聚合和转换数据 。 这些原语可以简单到取列的平均值或最大值 , 也可以复杂到基于主题专业知识 , 因为Featuretools允许我们定义自己的自定义原语 。
Feature原语包含许多我们已经手工完成的操作 , 但是使用Featuretools , 我们可以在任何关系数据库中使用相同的语法 , 而不是重新编写代码来在不同的数据集中应用这些操作 。 此外 , 当我们将原语堆叠在一起以创建深层特征时 , DFS的强大功能就显现出来了 。 (有关DFS的更多信息 , 请查看该技术的发明者之一所写的这篇博客文章 。 )
深度特征综合是灵活的—允许它应用于任何数据科学问题—和强大的—揭示我们的数据通过创建深度特征的洞察力 。 我将省去设置所需的几行代码 , 但是DFS的操作只需要一行 。 在这里 , 我们使用数据集中的所有7个表为每个客户端创建了数千个特征( ft 是导入的featuretools 库):
文章插图
下面是我们从Featuretools自动获得的1820特征中的一部分:
- 客户在过往贷款上所支付的最高金额 。 这是使用 MAX和 SUM 原语跨3个表创建的 。
- 客户过去平均信用卡债务的百分位排名 。 这在两个表中使用了 PERCENTILE和 MEAN 原语 。
- 客户是否在申请过程中递交了两份文件 。 它使用 AND 转换原语和一个表 。
在进行了少量的特征选择和模型优化之后 , 这些特征在预测模型中的表现略好于总体开发时间为1小时的手动特性 , 比手动过程减少了10倍 。 Featuretools要快得多 , 这是因为它需要的领域知识更少 , 而且需要编写的代码行也更少 。
我承认学习Featuretools需要花费一点时间 , 但这是一项会有回报的投资 。 花一个小时左右的时间来学习Featuretools , 你可以把它应用到任何机器学习问题上 。
下面的图表总结了我在还款问题上的经验:
文章插图
文章插图
文章插图
自动化和手工特征工程在时间、特征数量和性能上的比较 。
- 开发时间:占所有需要作出最终功能工程代码:10小时手工 vs . 1小时自动化
- 该方法产生的特征数量:30个特征手动 , 1820个特征自动
- 相对于基准的改进是 , 使用基于以下特征的模型(65%手动 vs . 66%自动)
零售支出:构建有意义的功能并防止数据泄漏
对于第二个数据集 , 一个在线时间戳客户交易记录 , 预测问题是将客户分为两类 , 一类是下个月将花费超过500美元的客户 , 另一类则不会 。 但是 , 每个客户都是每个月会标记好几次 , 而不是一个月只标记一次 。 我们可以把他们5月份的消费作为一个标签 , 然后是6月份 , 以此类推 。
文章插图
每个客户都被多次用作训练样本
将每个客户多次作为观察对象使用会给创建训练数据带来困难:当为给定月份的客户创建特征时 , 我们不能使用来自未来月份的任何信息 , 即使我们可以访问这些数据 。 在部署中 , 我们“永远不会有未来的数据” , 因此不能使用它来训练模型 。 公司经常与这个问题作斗争 , 并且经常部署一个在现实世界中比在开发中做得差得多的模型 , 因为它是使用无效数据进行训练的 。
- 看不上|为什么还有用户看不上华为Mate40系列来看看内行人怎么说
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 查询|数据太多容易搞混?掌握这几个Excel小技巧,办公思路更清晰
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 互联网|强制收集个人信息?国家网信办拟为38类App戴紧箍
- 健身房|乐刻韩伟:产业互联网中只做单环节很难让数据发挥大作用
- V2X|V2X:确保未来道路交通数据交换的安全性
- 短视频平台|大数据佐证,抖音带动三千万就业,视频手机将成生产力工具?
- 权属|从数据悖论到权属确认,数据共享进路所在
- 联盟|天津半导体集成电路人才联盟成立