Project Icon

featuretools

Python自动特征工程库 加速机器学习建模

Featuretools是一个强大的Python自动特征工程库。它可从多表数据集自动生成特征,显著简化了机器学习中的特征创建过程。该库提供深度特征合成等核心功能,能快速生成特征矩阵。Featuretools支持自定义原语,扩展性良好。在处理复杂关系数据的各类机器学习任务中,Featuretools表现突出。

Featuretools

"机器学习的圣杯之一是将特征工程过程自动化到更高程度。" ― Pedro Domingos,《关于机器学习需要了解的几件有用的事》

测试 文档状态 PyPI 版本 Anaconda 版本 StackOverflow PyPI 下载量


Featuretools是一个用于自动化特征工程的Python库。更多信息请参阅文档

安装

使用pip安装

python -m pip install featuretools

或从conda的Conda-forge频道安装:

conda install -c conda-forge featuretools

附加组件

您可以单独安装附加组件,也可以通过运行以下命令一次性安装所有组件:

python -m pip install "featuretools[complete]"

高级原语 - 使用premium-primitives仓库中的高级原语

python -m pip install "featuretools[premium]"

自然语言处理原语 - 使用nlp-primitives仓库中的自然语言处理原语

python -m pip install "featuretools[nlp]"

Dask支持 - 使用Dask运行DFS,njobs > 1

python -m pip install "featuretools[dask]"

示例

以下是使用深度特征合成(DFS)进行自动化特征工程的示例。在此示例中,我们将DFS应用于由带时间戳的客户交易组成的多表数据集。

>> import featuretools as ft
>> es = ft.demo.load_mock_customer(return_entityset=True)
>> es.plot()

Featuretools可以自动为任何"目标数据框"创建单个特征表

>> feature_matrix, features_defs = ft.dfs(entityset=es, target_dataframe_name="customers")
>> feature_matrix.head(5)
邮政编码  交易次数  会话次数  交易总额 最常用设备  最小交易额  最大交易额  加入年份  交易额偏度  加入日期                   ...                     会话最小交易额之和  会话交易额偏度最大值  会话最小交易额最大值  会话平均交易额之和  会话交易总额标准差  会话平均交易额标准差  会话平均交易额偏度  会话最大交易额标准差  会话开始日期唯一值数量  会话交易额偏度最小值
客户ID                                                                                                                                                  ...
1              60091       131        10   10236.77      桌面端        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      移动端        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      桌面端        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      桌面端        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      平板端        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行 x 69列]

现在我们为每个客户生成了一个可用于机器学习的特征向量。有关更多示例,请参阅深度特征合成文档

Featuretools包含许多不同类型的内置原语用于创建特征。如果您需要的原语未包含在内,Featuretools还允许您定义自己的自定义原语

演示

预测下一次购买

代码库 | 笔记本

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

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

测试与开发

Featuretools社区欢迎拉取请求。测试和开发说明可在此处获得。

支持

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

  1. 对于使用问题,请在Stack Overflow上使用featuretools标签。
  2. 对于错误、问题或功能请求,请启动Github问题
  3. 对于有关核心库开发的讨论,请使用Slack
  4. 对于其他所有内容,可以通过电子邮件open_source_support@alteryx.com联系核心开发人员。

引用Featuretools

如果您使用Featuretools,请考虑引用以下论文:

James Max Kanter, Kalyan Veeramachaneni. 深度特征合成:迈向自动化数据科学努力。 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}
}

由Alteryx构建

Featuretools是由Alteryx维护的开源项目。要查看我们正在进行的其他开源项目,请访问Alteryx开源。如果构建有影响力的数据科学管道对您或您的业务很重要,请与我们联系。

Alteryx开源

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号