FeatureTools[1] 特征工程是指以已有的数据为基础,根据专业领域的知识和经验,构造新的特征,获取高效准确的模型的过程。该过程是机器学习的关键,大部分工作需要依靠人力,耗费时间和精力。 FeatureTools就是是特征工程自动化的框架,可以将时间和数据之间的关系转化为特征矩阵,自动实现特征工程。 github项目地址 https://github.com/Featuretools/featuretools 安装 python -m pip install featuretools conda install -c conda-forge featuretools # 如果需要调用实体集的变量和关系的图形显示 conda install -c conda-forge featuretools 简单介绍和使用 创建实体集 import featuretools as ft #导入demo数据 data=ft.demo.load_Mock_customer() #定义一个实体集 es=ft.EntitySet(
1、什么是Featuretools? 为了能使框架普适,就像pandas用于数据准备或scikit-learn用于机器学习。 链接:https://www.featuretools.com/ 2、安装 通过源码安装,代码如下: git clone https://github.com/featuretools/featuretools.git cd featuretools python setup.py install 通过pip安装,命令如下: pip install featuretools 3、五分钟快速开始 1)首先导入相关包: In [1]: import featuretools as ft 2)准备相关数据: In [2]: data = ft.demo.load_mock_customer() In [3]: customers_df
5.Featuretools简介 Featuretools是一个Python自动化特征工程的工具库。它可以帮助大家快速构建丰富的数据特征,而把更多的时间聚焦于构建机器学习模型的其他方面。 安装 大家可以在命令行使用pip轻松安装Featuretools。 pip install featuretools 6.2 导入依赖工具库及数据 import featuretools as ft import numpy as np import pandas as 特征工程 下面我们使用Featuretools来实现自动化特征工程。 通过上述操作,Featuretools就自行构造了许多新特征。
在Featuretools中将表称之为entity。
我们将使用一个名为Featuretools的Python特征工程库,来实现这一流程。 Featuretools简介 6. Featuretools实践 7. Featuretools的可解释性 1. 什么是特征 在机器学习的背景下,特征是用来解释现象发生的单个特性或一组特性。 嗯,我们有一个很好的工具可以用来解决这个问题,它叫Featuretools。 5. Featuretools简介 ? Featuretools是一个开源库,用来实现自动化特征工程。 6.1 安装 Featuretools适用于Python 2.7,3.5和3.6,可以使用pip轻松安装Featuretools。 ? 6.2 下载需要的库和数据 ? 6.5 使用Featuretools实现特征工程 现在,我们可以开始使用Featuretools来实现自动化特征工程了! 数据集中必须具有唯一标识符的特征(我们的数据集现在没有任何这样的特征)。
下面会使用Python特征工程库Featuretools来实现这个任务。 Featuretools简介 6. Featuretools实现 7. Featuretools可解释性 1 特征 在机器学习中,特征可以描述为解释现象发生的一组特点。 别担心,已经有一个很好的Python工具库解决了这个问题,那就是Featuretools。 5 Featuretools简介 ? 适用于Python 2.7、3.5和3.6,可使用pip命令快速安装Featuretools。 执行特征工程 在这节,我们要使用Featuretools来执行自动特征工程。
在本文中,我们将使用 Featuretools 库来了解自动化特征工程如何改变并优化机器学习的工作方式。 学习 Featuretools 需要花费一些时间,但我认为这是一项值得、能够带来回报的投资。花了一小时时间学会 Featuretools,你可以将其应用于任何机器学习的特征工程问题。 幸运的是,这个问题在 Featuretools 中能够很容易地解决。 除了预测性能外,Featuretools 实现还能提供一个很有价值的东西:可解释性功能。 即使手动特征工程需要花费比 Featuretools 多得多的时间,但我也无法创建出一组性能接近相同的特征。
featuretools是一个python的开源库(https://www.featuretools.com/),从其名字就可看出,这是一个用于特征相关的工具,是由featurelab团队最早提出设计( featuretools的安装和基本使用 featuretools的安装过程非常简单,和其他python库可直接使用pip工具完成安装一样,featuretools也可以这样安装。 pip install featuretools 安装完成后,调包的过程一般只需要如下一句,这就像import numpy as np一样,而后续的所有操作都是基于ft这个主入口的: import featuretools as ft 当然,在具体使用之前,这里还是要先简单介绍下featuretools的基本设计和原理。 如上就是一些关于featuretools的基本设计的简要介绍,更为详尽的理论和使用还需查阅论文或其他资料。
幸运的是,featuretools正是我们正在寻找的解决方案。 然而,不久之后我们就可以使用featuretools来自动化该过程。 实体和实体集 featuretools的前两个概念是实体和实体集。 我们可以使用以下命令在featuretools中创建一个空实体集: import featuretools as ft # Create new entityset es = ft.EntitySet 目前,我们知道我们可以使用featuretools以最小的努力从许多表创建许多功能! 结论 与机器学习中的许多主题一样,使用featuretools的自动化特征工程是一个基于简单想法的复杂概念。 有关featuretools的更多信息,包括高级用法,请查看在线文档: https://docs.featuretools.com 要了解功能工具在实践中的使用方式,请阅读开源库背后的公司Feature
这就是Featuretools基本函数的用武之地。Featuretools旨在为不同类型的数据(包括文本)自动创建特征,然后表格机器学习模型可以使用这些数据。 既然我们已经加载了两个版本的T5,我们可以构建TransformPrimitive类,这些类将与NLP和Featuretools库集成。 from featuretools.primitives.base import TransformPrimitive from featuretools.variable_types import Numeric 请注意,上面的0.64逻辑回归分数显示了比Featuretools原生逻辑回归分数0.63有0.01的改进。 使用随机林分类器: ? ? 请注意,上面T5增强的0.65随机林分类器分数显示了比Featuretools本机随机林分类器分数0.64有0.01的改进。
Featuretools: https://docs.featuretools.com/#minute-quick-start Featuretools是一个用于自动化特征工程的开源Python库。 Featuretools要快得多,因为它需要更少的领域知识和明显更少的代码。 我承认学习Featuretools需要花费一些时间,但这是一项可以带来回报的投资。 幸运的是,如果使用Featuretools,那么确保时间序列问题中的数据有效性将变得很简单。 除了提供令人印象深刻的预测性能之外,Featuretools的实现还给了我同样有价值的东西:可解释的特征。 甚至不确定手动特征是否是使用有效数据制作的,但是使用Featuretools,不必担心时间依赖问题中的数据泄漏。
自动化特征工程工具包 3.1 Featuretools Featuretools使用一种称为深度特征合成(Deep Feature Synthesis,DFS)的算法,该算法遍历通过关系数据库的模式描述的关系路径 而Featuretools通过基于一种称为“ 深度特征合成 ”的方法,即通过堆叠多个特征来完成特征工程。 Featuretools有两个主要概念: 第一个是entities,它可被视为单个表。 第二个是entityset,它是实体(表)的集合,以及用来表示实体之间的关系。 需要注意,featuretools 是通过以下两种操作进行特征构造: Aggregations:分组聚合 Transformations:列之间计算 在 featuretools 中,可以使用这些原语自行创建新特性 下面是featuretools中的一些功能原语列表: ?
Feature ToolsTSFreshFeaturewizPyCaret Feature Tools 简介Featuretools是一个用于执行自动化特征工程的开源库。 ShowMeAI在文章 机器学习实战 | 自动化特征工程工具Featuretools应用 中也对它做了介绍。 图片要了解 Featuretools,我们需要了解以下三个主要部分:EntitiesDeep Feature Synthesis (DFS)Feature primitives在 Featuretools 不仅可以完成自动化特征生成,它还可以对生成的特征可视化,并说明Featuretools 生成它的方法。 :https://featuretools.alteryx.com/en/stable/ 机器学习实战 | 自动化特征工程工具Featuretools应用:https://www.showmeai.tech
自动化特征工程工具包 3.1 Featuretools Featuretools使用一种称为深度特征合成(Deep Feature Synthesis,DFS)的算法,该算法遍历通过关系数据库的模式描述的关系路径 而Featuretools通过基于一种称为“ 深度特征合成 ”的方法,即通过堆叠多个特征来完成特征工程。 此外,虽然featuretools会自动推断实体中每个列的数据类型,但仍可以通过将列类型的字典传递给参数variable_types来重新定义数据类型。 需要注意,featuretools 是通过以下两种操作进行特征构造: Aggregations:分组聚合 Transformations:列之间计算 在 featuretools 中,可以使用这些原语自行创建新特性 下面是featuretools中的一些功能原语列表: ?
这是一个测试机器学习2.0自动化工具Featuretools的机会,Featuretools是一个由DARPA的模型数据驱动发现(D3M)项目资助的开源库,用于处理现实世界的问题。 使用Featuretools涉及一系列人机交互。在这种情况下,Featuretools首先向领域专家推荐了40000个功能。
4.1 FeatureTools上手 Featuretools是一个用于执行自动化特征工程的开源库,它有基本的3个概念:1)Feature Primitives(特征基元):生成特征的常用方法,分为聚合 可通过如下代码列出featuretools的特征加工方法及简介。 import featuretools as ft ft.list_primitives() 2)Entity(实体) 可以被看作类似Pandas DataFrame, 多个实体的集合称为Entityset agg_primitives=['sum'], max_depth=2,n_jobs=1,verbose=-1) 4.2 FeatureTools
安装 用pip安装 python -m pip install featuretools 或通过conda上的Conda-forge频道: conda install -c conda-forge featuretools 附加组件 我们可以运行以下命令单独安装或全部安装附件 python -m pip install featuretools[complete] 更新检查器—接收有关 FeatureTools新版本的自动通知 python -m pip install featuretools[update_checker] TSFresh基本体-在Featuretools中使用 tsfresh中的60多个基本体 python -m pip install featuretools[tsfresh] 例 import featuretools as ft es = ft.demo.load_mock_customer (return_entityset=True) es.plot() 图片 Featuretools可以为任何"目标实体"自动创建一个特征表 feature_matrix, features_defs
代码示例:使用 Featuretools 自动生成特征 Featuretools 是一个用于自动特征生成的 Python 库,可以自动从关系型数据中生成聚合和转换特征。 import featuretools as ft import pandas as pd # 创建示例数据集 data = pd.DataFrame({ 'customer_id': [1 ', 'sum'], trans_primitives=['month', 'day'] ) print(feature_matrix.head()) 该示例定义了一个交易数据集,并使用 Featuretools 以下是几个常见的开源工具: Featuretools:专注于自动生成聚合和转换特征,非常适合处理结构化数据。
安装 用pip安装 python -m pip install featuretools 或通过conda上的Conda-forge频道: conda install -c conda-forge featuretools 附加组件 我们可以运行以下命令单独安装或全部安装附件 python -m pip install featuretools[complete] 更新检查器—接收有关FeatureTools新版本的自动通知 python -m pip install featuretools[update_checker] TSFresh基本体-在Featuretools中使用tsfresh中的60多个基本体 python -m pip install featuretools[tsfresh] 例 import featuretools as ft es = ft.demo.load_mock_customer(return_entityset =True) es.plot() Featuretools可以为任何"目标实体"自动创建一个特征表 feature_matrix, features_defs = ft.dfs(entityset=es
可以用Feature Labs给开发者提供的开源框架,Featuretools。针对新的机器学习问题,构建小型项目的算法。 Featuretools使用指南→https://docs.featuretools.com/#minute-quick-start 不过,如果想要扩大项目规模,就要购买Feature Labs提供的商用产品