Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Primitive refactor #364
This PR is separates the concept of a Primitive from a Feature. The internals of Featuretools change, but it is has minimal impact on the external API.
Compared to before, a primitive is now only aware of the data it take in. A feature is then defined by input variables and/or features, as well as the primitive that will be applied. Put another way, a feature takes the specific entities and variables of an entityset and the primitive to be applied as its input so the primitive doesn't have to work about it.
This has several advantages
To give an example, here is how a feature is currently defined using the count primitive
Now, you define the inputs to the feature and provide the primitive as an input.
if a primitive has parameters it can be used like this
the API for calling DFS doesn't change with the exception of being able to provide primitive with arguments
@@ Coverage Diff @@ ## master #364 +/- ## ========================================= + Coverage 95.33% 95.53% +0.2% ========================================= Files 86 89 +3 Lines 8032 7555 -477 ========================================= - Hits 7657 7218 -439 + Misses 375 337 -38