Featuretools 开源项目安装与使用指南
featuretools项目地址:https://gitcode.com/gh_mirrors/fea/featuretools
项目介绍
Featuretools 是一个用于自动化特征工程的框架,尤其擅长将时间序列和关系型数据集转换成适用于机器学习的特征矩阵。它支持多种数据类型和复杂度的数据处理需求,旨在简化特征构建过程。
项目快速启动
安装 Featuretools
可以通过 pip
或者 conda
来安装 Featuretools:
通过 pip:
python -m pip install featuretools
或者从 Conda-forge 渠道安装:
conda install -c conda-forge featuretools
运行示例代码
下面展示如何使用 Deep Feature Synthesis(DFS)执行自动化的特征工程。本示例中,我们使用 DFS 应用于某特定场景以自动生成特征矩阵用于机器学习:
首先,加载虚拟数据并准备数据:
from featuretools import EntitySet, load_dataset
es = load_dataset('mock_custom')
然后运行 Deep Feature Synthesis 指定目标DataFrame 和实体集:
features, feature_defs = dfs(entityset=es,
target_dataframe_name='customers',
trans_primitives=['month', 'year'],
agg_primitives=['count', 'mean'],
max_depth=2)
最后查看结果:
print(features.head())
这段代码将会打印出前五行转换后的特征矩阵,可以作为下一步机器学习任务的输入。
应用案例和最佳实践
Featuretools 提供了多个应用实例,例如预测客户的下一个购买行为。在这一场景下,利用了一套由数百万条在线杂货订单组成的多表数据集来预测客户下一次购买的商品。这包括使用自动化特征工程生成特征以及搭建精确的机器学习流水线。此外,Featuretools 支持定义自定义原始特征,使得模型更加贴近业务需求。
更多案例可参考其官方演示页面或社区分享。
典型生态项目
Featuretools 生态系统不仅限于其核心库本身,还包括以下扩展和集成:
- Premium Primitives - 从 premium-primitives 存储库中使用的高级原语;
- NLP Primitives - 使用 nlp-primitives 存储库中的自然语言处理原语;
- Dask 支持 - 利用 Dask 并行计算能力,加速大型数据集上的 Deep Feature Synthesis 过程;
以上组件丰富了 Featuretools 的功能,使其能够应对更为复杂的分析任务和规模更大的数据集。
本文档基于 https://github.com/Featuretools/featuretools.git 上提供的官方资料撰写整理而成。
featuretools项目地址:https://gitcode.com/gh_mirrors/fea/featuretools