ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
目录
基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
设计思路
输出结果
实现代码
推荐文章
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生实现
基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
设计思路
输出结果
customer_id zip_code join_date date_of_birth
0 1 60091 2011-04-17 10:48:33 1994-07-18
1 2 13244 2012-04-15 23:31:04 1986-08-18
2 3 13244 2011-08-13 15:42:34 2003-11-21
3 4 60091 2011-04-08 20:08:14 2006-08-15
4 5 60091 2010-07-17 05:27:50 1984-07-28session_id customer_id device session_start
13 14 1 tablet 2014-01-01 03:28:00
6 7 3 tablet 2014-01-01 01:39:40
1 2 5 mobile 2014-01-01 00:17:20
28 29 1 mobile 2014-01-01 07:10:05
24 25 3 desktop 2014-01-01 05:59:40transaction_id session_id transaction_time product_id amount
74 232 5 2014-01-01 01:20:10 1 139.20
231 27 17 2014-01-01 04:10:15 2 90.79
434 36 31 2014-01-01 07:50:10 3 62.35
420 56 30 2014-01-01 07:35:00 3 72.70
54 444 4 2014-01-01 00:58:30 4 43.59zip_code ... NUM_UNIQUE(transactions.sessions.device)
customer_id ...
1 60091 ... 3
2 13244 ... 3
3 13244 ... 3
4 60091 ... 3
5 60091 ... 3[5 rows x 77 columns]customer_id ... customers.YEAR(join_date)
session_id ...
1 2 ... 2012
2 5 ... 2010
3 4 ... 2011
4 1 ... 2011
5 4 ... 2011[5 rows x 44 columns]
<Feature: MODE(transactions.WEEKDAY(transaction_time))>
The most frequently occurring value of the day of the week of the "transaction_time" of all instances of "transactions" for each "session_id" in "sessions".
实现代码
import featuretools as ft# 1、定义数据集
data = ft.demo.load_mock_customer()
'''
在这个玩具数据集中,有3个表。每个表在Featuretools中称为一个实体。
customers:拥有会话的独特客户
sessions:唯一的会话和相关属性
transactions:此会话中的事件列表
'''
customers_df = data["customers"]
sessions_df = data["sessions"]
transactions_df = data["transactions"]
print(customers_df)
print(sessions_df.sample(5))
print(transactions_df.sample(5))# 2、DFS设计
# (1)、指定一个包含数据集中所有实体的字典
entities = {"customers" : (customers_df, "customer_id"),"sessions" : (sessions_df, "session_id", "session_start"),"transactions" : (transactions_df, "transaction_id", "transaction_time")}# (2)、指定实体间如何关联:当两个实体有一对多关系时,我们称之为“one”实体,即“parent entity”。
# 父类和子类之间的关系是这样定义的:
# (parent_entity, parent_variable, child_entity, child_variable)
# 在这个数据集中,我们有两个关系
relationships = [("sessions", "session_id", "transactions", "session_id"),("customers", "customer_id", "sessions", "customer_id")]# 为了管理实体和关系的设置,我们建议使用EntitySet类,它为管理这样的数据提供了方便的api# (3)、运行深度特征合成
'''
DFS的最小输入是一组实体、一组关系和计算特性的“target_entity”。DFS的输出是一个特征矩阵和相应的特征定义列表。
让我们首先为数据中的每个客户创建一个特性矩阵,那么现在有几十个新特性来描述客户的行为。
'''
feature_matrix_customers, features_defs = ft.dfs(entities=entities,relationships=relationships,target_entity="customers")
print(feature_matrix_customers)# (4)、改变目标的实体
# DFS如此强大的原因之一是它可以为我们的数据中的任何实体创建一个特征矩阵。例如,如果我们想为会话构建特性
feature_matrix_sessions, features_defs = ft.dfs(entities=entities,relationships=relationships,target_entity="sessions")
print(feature_matrix_sessions.head(5))# (5)、理解特征输出
'''
一般来说,Featuretools通过特性名称引用生成的特性。
为了让特性更容易理解,Featuretools提供了两个额外的工具,Featuretools .graph_feature()和Featuretools .describe_feature(),
来帮助解释什么是特性以及Featuretools生成特性的步骤。
'''feature = features_defs[18]
print(feature)# (6)、特征谱系图
#特征谱系图可视地遍历功能生成过程。从基本数据开始,它们一步一步地展示应用的原语和生成的中间特征,以创建最终特征。
import matplotlib.pyplot as plt
ft.graph_feature(feature)
plt.show()# (7)、特征描述
'''
功能工具还可以自动生成功能的英文句子描述。特性描述有助于解释什么是特性,并且可以通过包含手动定义的自定义来进一步改进。
有关如何自定义自动生成的特性描述的详细信息,请参见生成特性描述。
'''
print(ft.describe_feature(feature))
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生相关推荐
- ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生 推荐文章 ML之FE:基于load_mock_ ...
- ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动特征生成)
ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征.利用featuretools工具实现自动特征生成) 目录 基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征 ...
- ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动构造特征/特征衍生)
ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征.利用featuretools工具实现自动构造特征/特征衍生) 目录 基于自定义数据集(银行客户信息贷款和赔偿)对 ...
- ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding 目录 基于BigMartSales数据集利用Featuretools工具实现自动 ...
- ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略
ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略 目录 基于BigMartSales数 ...
- 使用ML.NET实现基于RFM模型的客户价值分析
RFM模型 在众多的客户价值分析模型中,RFM模型是被广泛应用的,尤其在零售和企业服务领域堪称经典的分类手段.它的核心定义从基本的交易数据中来,借助恰当的聚类算法,反映出对客户较为直观的分类指示,对于 ...
- ML之FE:基于LiR/Ridge/Lasso/ElasticNet/AvgModels/RF算法(GSCV) 利用某市房价数据集(特征工程处理)进行房价回归预测
ML之FE:基于LiR/Ridge/Lasso/ElasticNet/AvgModels/RF算法(GSCV) 利用某市房价数据集(特征工程处理)进行房价回归预测 目录 输出结果 设计思路 核心代码 ...
- ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式)
ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式) 目录 输出结果 设计思路 核心代码 输出 ...
- ML之FE:基于波士顿房价数据集利用LightGBM算法进行模型预测然后通过3σ原则法(计算残差标准差)寻找测试集中的异常值/异常样本
ML之FE:基于波士顿房价数据集利用LightGBM算法进行模型预测然后通过3σ原则法(计算残差标准差)寻找测试集中的异常值/异常样本 目录 基于波士顿房价数据集利用LiR和LightGBM算法进行模 ...
最新文章
- mysql分页的优势_数据库经典分页几种实例及各优缺点
- Asp.Net Membership 回顾
- micropython socket_Micropython之HTTP-GET方法2
- boost::mpl::distance相关的测试程序
- toolbar + DrawerLayout 实现抽屉菜单
- PHP读取大文件的几种方法
- Eclipse添加maven之后报错 Eclipse is running in a JRE, but a JDK is required 解决方法
- 【BZOJ4991】我也不知道题目名字是什么(线段树)
- 修改FTP服务器时长,连接ftp服务器的时长怎么设置
- Linux上创建SSH隧道
- 网管工具mrtg,cacti,rrdtool,nagios,zabbix比较和安装,+zabbix
- 《光剑文集》自渡:125首
- matlab怎么做空间计量,六步学会用MATLAB做空间计量回归详细步骤
- Thread-Specific Storage Pattern
- 张成分析(spanning test):portfolio_analysis.Spanning_test
- 【C++ Primer Plus】第6章 分支语句和逻辑运算符
- 枚举类中获取枚举值的几种方法
- 迁移数据到历史表SQL
- 斯坦福大学已经训练好的词向量模型下载网址
- 我的2022和2023(技术总结、开发工具简介和未来展望)
热门文章
- linux网卡驱动离线安装_新装Linux系统没有网卡驱动的解决办法和步骤
- go数组去除重复_让我们一起啃算法----删除排序链表中的重复元素
- Yocto的使用实例
- 英伟达联合芯片巨头ARM打造IOT设备的AI芯片
- 结合keepalived实现redis群集高可用故障自动切换
- cogs 2320. [HZOI 2015]聪聪的世界题解
- 基于ArcGIS API for JavaScript加载百度各种类型切片地图
- java处理excel(java使用Apache POI处理Excel)
- Dos中查找文件命令的使用find
- 干 MySQL 两千万数据的大表优化解决过程,三种厉害的解决方案