0

Can someone help me with how such a feature created automatically by Deep Feature Synthesis will actually work? I came across so many such features created and I'm not sure of how it works. I am unable to hook up the whole code here, although I am sure people who read through the official featuretools document are aware of this example. Hoping to see a response! Thanks for your time!

Gaurav
  • 358
  • 5
  • 18

1 Answers1

2

This is a feature generated for the “customers” table.

The feature SUM(sessions.MIN(transactions.amount)) can be interpreted as the sum of the minimum transaction amount from each session for a customer.

This is calculated by

  • Finding all the sessions for a customer
  • Calculating the minimum transaction amount for each session
  • Summing that minimum amount across all sessions for a customer

Featuretools uses Deep Feature Synthesis to stack primitives to make more complex features. So in this case, it used the MIN primitive and SUM primitive to generate a feature with a depth of 2. This depth is useful because you get complex patterns for machine learning.

For example, the feature MAX(sessions.SUM(transactions.amount)) can be interpreted as the maximum amount a customer spent across all sessions.

Max Kanter
  • 2,006
  • 6
  • 16
Gaurav
  • 358
  • 5
  • 18
  • When you said **This is a feature generated for the “customers” table.**, did you mean that feature will be generated based on the unique customer_id, which is essentially a table with 5 rows in this case with the rows uniquely identified by the unique customer_id? Furthermore, if I want to generate a feature FOR a table, then I must put that ytable name in target_variable, right? – S. Dan Rohit Nansen Dec 12 '18 at 17:23
  • Thanks Max, your reply did help me understand a lot in fearuretools which I am possibly trying to use in my college project, hope everything goes well! thanks and regards Dan – S. Dan Rohit Nansen Dec 12 '18 at 17:25