Is it possible to get the results someone would get from deep feature synthesis, but without any aggregations?
I have some small datasets, and I want to be able to compare the "processed" outputs of deep feature synthesis with the "raw" joined data.
For example, this aggregate collapses the resulting df down to 1 row per customer:
fm, features = ft.dfs(
entityset=es,
target_dataframe_name="customers",
agg_primitives=["sum"],
trans_primitives=[],
)
fm.head()
I'd love to not have that "sum" happening, so that I get a resulting dataframe with multiple rows per customer. But I can't swap out agg_primitives=["sum"], for agg_primitives=[], because I get:
AssertionError: No features can be generated from the specified primitives. Please make sure the primitives you are using are compatible with the variable types in your data.
I expect the answer is "what you want is not possible in featuretools".
Thank you!
If you want to see the output without any aggregations performed you can simply set the
agg_primitivesparameter to an empty list in your call toft.dfs. Similarly, you can disable transformations by passing an empty list totrans_primitives.Here is an example of how you would do this using one of the Featuretools demo EntitySets:
One thing to note, by default Featuretools only includes certain column types in the output, specifically numeric, boolean and categorical columns. If you want to include all column types, simple include
return_types="all"in the call toft.dfs.