自动化特征工程框架

featuretools的Python项目详细描述


Featuretools

“机器学习的圣杯之一是使越来越多的特性工程过程自动化。”―Pedro Domingos,A Few Useful Things to Know about Machine Learning

Circle CICoverage StatusPyPI versionAnaconda-Server BadgeStackOverflowPyPI - Downloads

Featuretools是用于自动特性工程的python库。有关详细信息,请参见documentation

安装

使用pip安装

python -m pip install featuretools

或者从conda

conda install -c conda-forge featuretools

附加组件

通过运行,您可以单独或同时安装附加组件

python -m pip install featuretools[complete]

update checker-接收新功能工具发布的自动通知

python -m pip install featuretools[update_checker]

tsfresh原语-在featuretools中使用来自tsfresh的60多个原语

python -m pip install featuretools[tsfresh]

示例

下面是使用深度特征合成(dfs)执行自动特征工程的示例。在本例中,我们将dfs应用于由带时间戳的客户事务组成的多表数据集。

>>importfeaturetoolsasft>>es=ft.demo.load_mock_customer(return_entityset=True)>>es.plot()

FeatureTools可以为任何“目标实体”自动创建一个功能表

>>feature_matrix,features_defs=ft.dfs(entityset=es,target_entity="customers")>>feature_matrix.head(5)
            zip_code  COUNT(transactions)  COUNT(sessions)  SUM(transactions.amount) MODE(sessions.device)  MIN(transactions.amount)  MAX(transactions.amount)  YEAR(join_date)  SKEW(transactions.amount)  DAY(join_date)                   ...                     SUM(sessions.MIN(transactions.amount))  MAX(sessions.SKEW(transactions.amount))  MAX(sessions.MIN(transactions.amount))  SUM(sessions.MEAN(transactions.amount))  STD(sessions.SUM(transactions.amount))  STD(sessions.MEAN(transactions.amount))  SKEW(sessions.MEAN(transactions.amount))  STD(sessions.MAX(transactions.amount))  NUM_UNIQUE(sessions.DAY(session_start))  MIN(sessions.SKEW(transactions.amount))
customer_id                                                                                                                                                                                                                                  ...
1              60091                  131               10                  10236.77               desktop                      5.60                    149.95             2008                   0.070041               1                   ...                                                     169.77                                 0.610052                                   41.95                               791.976505                              175.939423                                 9.299023                                 -0.377150                                5.857976                                        1                                -0.395358
2              02139                  122                8                   9118.81                mobile                      5.81                    149.15             2008                   0.028647              20                   ...                                                     114.85                                 0.492531                                   42.96                               596.243506                              230.333502                                10.925037                                  0.962350                                7.420480                                        1                                -0.470007
3              02139                   78                5                   5758.24               desktop                      6.78                    147.73             2008                   0.070814              10                   ...                                                      64.98                                 0.645728                                   21.77                               369.770121                              471.048551                                 9.819148                                 -0.244976                               12.537259                                        1                                -0.630425
4              60091                  111                8                   8205.28               desktop                      5.73                    149.56             2008                   0.087986              30                   ...                                                      83.53                                 0.516262                                   17.27                               584.673126                              322.883448                                13.065436                                 -0.548969                               12.738488                                        1                                -0.497169
5              02139                   58                4                   4571.37                tablet                      5.91                    148.17             2008                   0.085883              19                   ...                                                      73.09                                 0.830112                                   27.46                               313.448942                              198.522508                                 8.950528                                  0.098885                                5.599228                                        1                                -0.396571

[5 rows x 69 columns]

我们现在为每个客户提供了一个特征向量,可用于机器学习。有关更多示例,请参见documentation on Deep Feature Synthesis

演示

预测下一次购买

RepositoryNotebook

在这个演示中,我们使用instacart中300万个在线杂货订单的多表数据集来预测客户下一步将购买什么。我们展示了如何使用自动化特征工程生成特征,并使用特征工具构建一个精确的机器学习管道,该管道可用于多个预测问题。对于更高级的用户,我们将展示如何使用dask将管道扩展到大型数据集。

有关如何使用featuretools的更多示例,请查看我们的demos页面。

测试和开发

FeatureTools社区欢迎拉取请求。提供测试和开发说明here.

支架

FeatureTools社区很乐意为FeatureTools的用户提供支持。根据问题的类型,可以在四个位置找到项目支持:

  1. 对于用法问题,请使用带有featuretools标记的Stack Overflow
  2. 对于bug、问题或功能请求,启动Github issue
  3. 有关核心库开发的讨论,请使用Slack
  4. 除此之外,核心开发人员可以通过电子邮件联系到help@featuretools.com

引用功能工具

如果您使用FeatureTools,请考虑引用以下文章:

詹姆斯·马克斯·坎特,卡扬·维拉马切内尼。Deep feature synthesis: Towards automating data science endeavors.ieee dsaa 2015

bibtex条目:

@inproceedings{kanter2015deep,author={James Max Kanter and Kalyan Veeramachaneni},title={Deep feature synthesis: Towards automating data science endeavors},booktitle={2015 {IEEE} International Conference on Data Science and Advanced Analytics, DSAA 2015, Paris, France, October 19-21, 2015},pages={1--10},year={2015},organization={IEEE}}

专题实验室

Featuretools

featuretools是由Feature Labs创建的开源项目。要查看我们正在开发的其他开源项目,请访问功能实验室Open Source。如果建立有影响力的数据科学管道对您或您的业务很重要,请get in touch

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹