如何解决使用FeatureTools汇总每日的每月数据
我正在尝试使用FeatureTools创建用于客户流失分析的数据集。我有一个包含以下字段的订单原始数据集:
customer_id,order_id,order_month,order_datetime,order_cost
我想创建一个数据集,该数据集每个客户每月在该月内已下订单并返回相关信息(例如AVG(order_cost))的每一行。到目前为止,我已经创建了包括订单(基于order_id)和客户(customer_id)的实体。但是,我还无法弄清楚如何为每个客户创建每月功能。我尝试过创建一个单独的实体,该实体基于每个customer_id + order_month的自定义ID。那是最好的方法吗?有更好的工具吗?
谢谢!
解决方法
感谢您的提问。如果您希望每个客户每月排一行,那么这是目前最好的方法。否则,您还可以使用where原语为每个客户每月获取一列。为此,您需要为order_month
变量设置有趣的值,并在DFS中使用where_primitives
。
es['orders']['order_month'].interesting_values = df.order_month.unique()
fm,fd = ft.dfs(
target_entity='customers',entityset=es,trans_primitives=[],agg_primitives=['mean'],where_primitives=['mean'],)
MEAN(orders.order_cost WHERE order_month = 1) ... MEAN(orders.order_cost WHERE order_month = 12)
customer_id ...
2 659.426667 ... 3.000
1 478.490000 ... 435.270
3 468.316667 ... 319.975
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。