博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Feature Tools 简介
阅读量:6482 次
发布时间:2019-06-23

本文共 1558 字,大约阅读时间需要 5 分钟。

FeatureTools是2017年9月上线的github项目,是一个自动生成特征的工具,应用于关系型数据。

github链接:

项目官网:

API doc:

最近看了一下这个开源工具,对生成关系型特征有一些帮助,把这个项目简单总结一下。

这个项目起源于Deep Feature Systhesis 这篇文章,链接是  ,官网上也有类似资料,但是没有文章介绍的详细。

Feature Tools是 Deep Feature Systhesis (DFS) 算法的开源实现,实现原理如下。

假定我们有四个Entity,即四张表(Table):Customer, Order, Order Product 和 Product。他们之间的关系是这样的:

1个Customer对应多个Order,其余的以此类推。

我们的目标是给Customer建立特征。

DFS方法把特征分为两类:

1. Entity feature, 仅依据Customer表中的数据计算特征,计算出的特征简称efeat;

2. Ralated feature, 依据Customer表和其他表的关系计算特征,relation又为两类,一是forward relation, 即一对一的关系,比如 一个Order只对应一个Customer,二是 backward relation,即一对多的关系,比如 一个Customer对应多个Order。

假设我们不是对Customer计算特征,而是对Order计算特征,这时Customer和Order是forward relation,可以直接把Customer的字段加到Order表中,然后再计算各种特征,这样计算得到的特征简称 dfeat;

如果是针对Customer计算特征,Customer和Order是backward relation,此时就需要先计算相同Customer的不同Order的特征值(比如 sum, max, min, mean, std等),计算得到的特征简称rfeat。

DFS把Entity之间的关系称为parent-child关系,比如 Customer和Order是一对多的关系,所以Customer是parent,Order是child。这是FeatureTools的输入参数之一。

上面的概念都搞清楚了,就能自然理解DFS计算特征的过程了:根据parent-child关系,计算rfeat和dfeat,把rfeat和dfeat合并到parent表中,计算parent的efeat,以递归方式执行这些操作即可,也就是自底向上累积计算特征。

附上文中给出的伪代码:

文中提到了一个注意点:一般先计算rfeat,后计算dfeat,同一个Entity一般只使用一次。

一般来说,rfeat包含的信息量更多,也更常用,所以rfeat相比dfeat更重要一些,这是我的理解。

featureTools的使用比较简单,可以参考5-minutes demo实操一下:

要把这个工具的所有api都了解清楚,可以参考上面的api链接,下载数据,跑demo,把所有特征都计算一遍。

p.s. 这个工具有两个弱点:

1. 使用这种多层全排列的方式容易造成特征维数过多,实践中必须做特征筛选,降低特征维数。

2. 这种暴力搜索得到的特征,可解释性可能偏弱,需要深入研究那些优质特征的可解释性。懂业务的人搞出几个解释性强的特征,可能秒杀暴力搜索得到的所有特征。所以,实际应用时,可以用暴力搜索法作为特征挖掘的辅助算法。

3. 从官网文档看,FeatureTools只有单机版,处理的数据量有限。

转载于:https://www.cnblogs.com/xxiaolige/p/9319798.html

你可能感兴趣的文章
,net运行框架
查看>>
Java 中 Emoji 的正则表达式
查看>>
Mixin Network第一届开发者大赛作品介绍- dodice, diceos和Fox.one luckycoin
查看>>
安卓Glide(4.7.1)使用笔记 01 - 引入项目
查看>>
中金易云:为出版社找到下一本《解忧杂货店》
查看>>
Flex布局
查看>>
Material Design之 AppbarLayout 开发实践总结
查看>>
Flutter之MaterialApp使用详解
查看>>
DataBinding最全使用说明
查看>>
原生Js交互之DSBridge
查看>>
Matlab编程之——卷积神经网络CNN代码解析
查看>>
三篇文章了解 TiDB 技术内幕 —— 说计算
查看>>
copy strong weak assign的区别
查看>>
OpenCV 入门
查看>>
css 3D transform变换
查看>>
ele表格合并行之后的selection选中
查看>>
正则表达式分解剖析(一文悟透正则表达式)
查看>>
解决UILable标点符号居中的问题
查看>>
HTML5新特性教程
查看>>
ImageOptim-无损图片压缩Mac版
查看>>