根据特征工具中的截止时间创建特征

我正在使用功能工具,我需要创建一个使用截止时间进行计算的功能。


我的实体集包含一个客户端表和一个订阅表(它有更多,但对于这个问题,只有这些是必要的):


import featuretools as ft

import pandas as pd



client_table = pd.DataFrame({'client_id': (1,2,3), 

                             'start_date': (dt.date(2015,1,1),dt.date(2017,10,15),dt.date(2011,1,10))})


subscription_table = pd.DataFrame({'client_id': (1,3,1,2), 

                             'start_plan_date': (dt.date(2015,1,1),dt.date(2011,1,10), dt.date(2018,2,1),dt.date(2017,10,15)), 

                             'end_plan_date':(dt.date(2018,2,1),dt.date(2019,1,10), dt.date(2021,2,1),dt.date(2019,10,15))})

客户表


client_id   start_date

0   1       2015-01-01

1   2       2017-10-15

2   3       2011-01-10

减法表


subscription_id client_id   start_plan_date end_plan_date

0   1   1   2015-01-01      2018-02-01

1   2   3   2011-01-10      2019-01-10

2   3   1   2018-02-01      2021-02-01

3   4   2   2017-10-15      2019-10-15

我使用 client_id 作为键并将 start_date 设置为 time_index 创建了实体集


es = ft.EntitySet()

es = es.entity_from_dataframe(entity_id="client", 

                              dataframe=client_table,

                              index="client_id",

                              time_index="start_date")


es = es.entity_from_dataframe(entity_id="subscription", 

                              dataframe=subscription_table,

                              index="subscription_id",

                              time_index="start_plan_date", 

                              variable_types={"client_id": ft.variable_types.Index,

                                             "end_plan_date": ft.variable_types.Datetime})


relation= ft.Relationship(es["client"]["client_id"],es["subscription"]["client_id"])


es = es.add_relationship(relation)

print(es)

出去:


Entityset: None

  Entities:

    subscription [Rows: 4, Columns: 4]

    client [Rows: 3, Columns: 2]

  Relationships:

    subscription.client_id -> client.client_id

现在,我需要创建一个功能来估计每个客户端的截止时间(即 01/01/2018)和最近的 end_plan_date 之间的时间。在代数形式中,计算应该是

有没有办法使用特征工具来创建可以生成此结果的自定义基元(聚合或转换)或种子特征?


一只斗牛犬
浏览 169回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python