Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi output primitive stackability #679

Merged
merged 45 commits into from Aug 13, 2019

Conversation

@ctduffy
Copy link
Contributor

commented Jul 22, 2019

Adding support for multi output primitive stacking

Closes #593

@codecov

This comment has been minimized.

Copy link

commented Jul 25, 2019

Codecov Report

Merging #679 into master will decrease coverage by 0.03%.
The diff coverage is 97.59%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #679      +/-   ##
==========================================
- Coverage   97.51%   97.48%   -0.04%     
==========================================
  Files         118      118              
  Lines       10035    10214     +179     
==========================================
+ Hits         9786     9957     +171     
- Misses        249      257       +8
Impacted Files Coverage Δ
featuretools/feature_base/api.py 100% <ø> (ø) ⬆️
featuretools/feature_base/features_deserializer.py 98.24% <ø> (ø) ⬆️
featuretools/synthesis/deep_feature_synthesis.py 96.07% <100%> (-0.19%) ⬇️
...aturetools/tests/primitive_tests/test_agg_feats.py 99.4% <100%> (+0.02%) ⬆️
...imitive_tests/test_groupby_transform_primitives.py 100% <100%> (ø) ⬆️
.../tests/primitive_tests/test_features_serializer.py 100% <100%> (ø) ⬆️
featuretools/computational_backends/feature_set.py 100% <100%> (ø) ⬆️
featuretools/feature_base/features_serializer.py 98.03% <100%> (ø) ⬆️
featuretools/feature_base/feature_base.py 97.87% <100%> (+0.24%) ⬆️
...utational_backend/test_calculate_feature_matrix.py 99.34% <100%> (ø) ⬆️
... and 9 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2d60511...3b63a3f. Read the comment docs.

ctduffy added 10 commits Jul 25, 2019

@ctduffy ctduffy requested review from rwedge and kmax12 Jul 26, 2019

ctduffy added 4 commits Aug 5, 2019
no longer allows user to create stacked primitive, still have to allo…
…w user access to different outputs of multi output features and support stacking on that.

@ctduffy ctduffy requested a review from rwedge Aug 6, 2019

@rwedge
Copy link
Contributor

left a comment

We should test serializing stacked multi-output features

Also test GroupByTransformFeatures stacking on multi-output features

@ctduffy ctduffy requested a review from rwedge Aug 8, 2019

@ctduffy ctduffy requested a review from rwedge Aug 8, 2019

@ctduffy ctduffy requested a review from rwedge Aug 8, 2019

@kmax12
Copy link
Member

left a comment

looking good. here are a few comments

@@ -135,6 +136,8 @@ def _add_feature_to_trie(self, trie, feature, approximate_feature_trie,
sub_ignored_trie = approximate_feature_trie.get_node(feature.relationship_path)

for dep_feat in feature.get_dependencies():
if isinstance(dep_feat, MultiOutputFeature):

This comment has been minimized.

Copy link
@kmax12

kmax12 Aug 9, 2019

Member

would it be possible/make sense to have this conversion to the base feature happen in the get dependencies call or would that break other usages of get_dependcies?

This comment has been minimized.

Copy link
@ctduffy

ctduffy Aug 11, 2019

Author Contributor

that would break other usages of get_dependencies, particularly in the from_dictionary usages, for that function should return a specific slice or multi output feature with the associated column number, not just the base feature of the multi output without the column

featuretools/feature_base/feature_base.py Outdated Show resolved Hide resolved
featuretools/synthesis/deep_feature_synthesis.py Outdated Show resolved Hide resolved
featuretools/computational_backends/feature_set.py Outdated Show resolved Hide resolved
featuretools/synthesis/deep_feature_synthesis.py Outdated Show resolved Hide resolved
@kmax12
kmax12 approved these changes Aug 12, 2019
Copy link
Member

left a comment

This looks good to me. Nice work!

@ctduffy ctduffy merged commit 97eb274 into master Aug 13, 2019

4 checks passed

codecov/patch 97.59% of diff hit (target 97.51%)
Details
codecov/project Absolute coverage decreased by -0.03% but relative coverage increased by +0.07% compared to 2d60511
Details
license/cla Contributor License Agreement is signed.
Details
test_all_python_versions Workflow: test_all_python_versions
Details

@ctduffy ctduffy deleted the multi-output branch Aug 13, 2019

@rwedge rwedge referenced this pull request Aug 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.