PRODUCT Unique Count of invoice Weekday 14d
SDK code to create PRODUCT_Unique_Count_of_invoice_Weekday_14d¶
Feature description:
Unique Count of invoice Weekday for the product over a 14d period.
In [ ]:
Copied!
import featurebyte as fb
fb.use_profile("tutorial")
import featurebyte as fb
fb.use_profile("tutorial")
Activate catalog¶
In [ ]:
Copied!
catalog = fb.Catalog.activate("Grocery Dataset Tutorial")
catalog = fb.Catalog.activate("Grocery Dataset Tutorial")
Set windows for aggregation¶
In [ ]:
Copied!
windows = ['14d']
windows = ['14d']
Get view from table¶
In [ ]:
Copied!
# Get view from INVOICEITEMS item table.
invoiceitems_view = catalog.get_view("INVOICEITEMS")
# Get view from INVOICEITEMS item table.
invoiceitems_view = catalog.get_view("INVOICEITEMS")
In [ ]:
Copied!
# Extract day_of_week date part from Timestamp column for INVOICEITEMS view.
invoiceitems_view["Weekday of invoice"] = invoiceitems_view["Timestamp"].dt.day_of_week
# Extract day_of_week date part from Timestamp column for INVOICEITEMS view.
invoiceitems_view["Weekday of invoice"] = invoiceitems_view["Timestamp"].dt.day_of_week
Do window aggregation from INVOICEITEMS¶
See SDK reference for features
See SDK reference to groupby a view
See SDK reference to do aggregation over time
In [ ]:
Copied!
# Group INVOICEITEMS view by product entity (GroceryProductGuid) across different Weekday of
# invoices.
invoiceitems_view_by_product_across_weekday_of_invoice =\
invoiceitems_view.groupby(
['GroceryProductGuid'], category="Weekday of invoice"
)
# Group INVOICEITEMS view by product entity (GroceryProductGuid) across different Weekday of
# invoices.
invoiceitems_view_by_product_across_weekday_of_invoice =\
invoiceitems_view.groupby(
['GroceryProductGuid'], category="Weekday of invoice"
)
In [ ]:
Copied!
# Count item across different Weekday of invoices for the product over time.
feature_group =\
invoiceitems_view_by_product_across_weekday_of_invoice.aggregate_over(
None, method=fb.AggFunc.COUNT,
feature_names=[
"PRODUCT_Count_of_item_across_invoice_Weekdays"
+ "_" + w for w in windows
],
windows=windows
)
# Get PRODUCT_Count_of_item_across_invoice_Weekdays_14d object from feature group.
product_count_of_item_across_invoice_weekdays_14d =\
feature_group["PRODUCT_Count_of_item_across_invoice_Weekdays_14d"]
# Count item across different Weekday of invoices for the product over time.
feature_group =\
invoiceitems_view_by_product_across_weekday_of_invoice.aggregate_over(
None, method=fb.AggFunc.COUNT,
feature_names=[
"PRODUCT_Count_of_item_across_invoice_Weekdays"
+ "_" + w for w in windows
],
windows=windows
)
# Get PRODUCT_Count_of_item_across_invoice_Weekdays_14d object from feature group.
product_count_of_item_across_invoice_weekdays_14d =\
feature_group["PRODUCT_Count_of_item_across_invoice_Weekdays_14d"]
Derive feature from aggregation across categories¶
In [ ]:
Copied!
# Get Unique Count of invoice Weekday from
# PRODUCT_Count_of_item_across_invoice_Weekdays_14d
product_unique_count_of_invoice_weekday_14d =\
product_count_of_item_across_invoice_weekdays_14d.cd.unique_count()
# Give a name to new feature
product_unique_count_of_invoice_weekday_14d.name = \
"PRODUCT_Unique_Count_of_invoice_Weekday_14d"
# Get Unique Count of invoice Weekday from
# PRODUCT_Count_of_item_across_invoice_Weekdays_14d
product_unique_count_of_invoice_weekday_14d =\
product_count_of_item_across_invoice_weekdays_14d.cd.unique_count()
# Give a name to new feature
product_unique_count_of_invoice_weekday_14d.name = \
"PRODUCT_Unique_Count_of_invoice_Weekday_14d"
Preview feature¶
Read on the feature primary entity concept
Read on the serving entity concept
In [ ]:
Copied!
#Check the primary entity of the feature'
product_unique_count_of_invoice_weekday_14d.primary_entity
#Check the primary entity of the feature'
product_unique_count_of_invoice_weekday_14d.primary_entity
In [ ]:
Copied!
#Get observation table: 'Preview Table with 10 items'
preview_table = catalog.get_observation_table(
"Preview Table with 10 items"
)
#Get observation table: 'Preview Table with 10 items'
preview_table = catalog.get_observation_table(
"Preview Table with 10 items"
)
In [ ]:
Copied!
#Preview PRODUCT_Unique_Count_of_invoice_Weekday_14d
product_unique_count_of_invoice_weekday_14d.preview(
preview_table
)
#Preview PRODUCT_Unique_Count_of_invoice_Weekday_14d
product_unique_count_of_invoice_weekday_14d.preview(
preview_table
)
Save feature¶
In [ ]:
Copied!
# Save feature
product_unique_count_of_invoice_weekday_14d.save()
# Save feature
product_unique_count_of_invoice_weekday_14d.save()
Add description and see feature definition file¶
In [ ]:
Copied!
# Add description
product_unique_count_of_invoice_weekday_14d.update_description(
"Unique Count of invoice Weekday for the product over a 14d period."
)
# See feature definition file
product_unique_count_of_invoice_weekday_14d.definition
# Add description
product_unique_count_of_invoice_weekday_14d.update_description(
"Unique Count of invoice Weekday for the product over a 14d period."
)
# See feature definition file
product_unique_count_of_invoice_weekday_14d.definition