自动化特征工程框架

featuretools-MV的Python项目详细描述


Featuretools

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

Circle CICoverage StatusPyPI versionAnaconda-Server BadgeStackOverflowPyPI - Downloads

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

这是Featuretools的分叉版本。您可以找到原始源here

安装

使用pip安装

python -m pip install featuretools

或者从conda

conda install -c conda-forge featuretools

示例

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

>>importfeaturetoolsasft>>es=ft.demo.load_mock_customer(return_entityset=True)>>es
Entityset: transactions
  Entities:
    customers (shape = [5, 3])
    sessions (shape = [35, 4])
    products (shape = [5, 2])
    transactions (shape = [500, 5])
  Relationships:
    transactions.product_id -> products.product_id
    transactions.session_id -> sessions.session_id
    sessions.customer_id -> customers.customer_id

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第三方库


热门话题
java是否在servlet中检索上一页路径?   Java抱怨在开关的默认情况下未初始化最终字段   Java泛型:为什么编译器不能判断这个类<t>对象与这个类的类型参数的对象的类具有相同的类型?   Java:继承方法中使用的私有变量   HibernateJava。ClassCastException:java。lang.Integer不能强制转换为abc。def。我的项目。奥姆。EmployeeTopMetaData   http java发布和下载文件   java改进条件检查   java如何将2d数组的条目作为键放在地图中   java如何获取传递给运行时的值。getRuntime。JUnit测试用例中的exit(value)   java注释来创建所有可能的构造函数   自动建议列表:java。lang.IllegalArgumentException:在XPath表达式为null时找不到元素   为什么MapAPI在Java中不提供流功能?   gradle不导入本地java库   尽管我使用的是SessionCreationPolicy,java Spring安全性似乎仍在使用会话。无国籍   使用java查找MongoDB中数组元素的平均值