Skip to content

Improve feature deserialization to use common primitive instances#2127

Merged
thehomebrewnerd merged 14 commits intoserialization-updatesfrom
feat-deserialize-improvement
Jun 27, 2022
Merged

Improve feature deserialization to use common primitive instances#2127
thehomebrewnerd merged 14 commits intoserialization-updatesfrom
feat-deserialize-improvement

Conversation

@thehomebrewnerd
Copy link
Contributor

Updates feature deserialization to use a common primitive instance for features that share a primitive instead of creating a unique primitive instance for each feature.

Partially closes #2115

@codecov
Copy link

codecov bot commented Jun 21, 2022

Codecov Report

Merging #2127 (81568d0) into serialization-updates (aab351c) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@                  Coverage Diff                   @@
##           serialization-updates    #2127   +/-   ##
======================================================
  Coverage                  99.21%   99.21%           
======================================================
  Files                        143      143           
  Lines                      16835    16912   +77     
======================================================
+ Hits                       16703    16780   +77     
  Misses                       132      132           
Impacted Files Coverage Δ
featuretools/primitives/utils.py 99.62% <100.00%> (+0.01%) ⬆️
...ests/primitive_tests/test_feature_serialization.py 99.55% <100.00%> (+0.18%) ⬆️

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 aab351c...81568d0. Read the comment docs.

@thehomebrewnerd thehomebrewnerd changed the base branch from main to serialization-updates June 23, 2022 13:29
Copy link
Contributor

@rwedge rwedge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, left one comment about adopting a new style change for pytest

@thehomebrewnerd thehomebrewnerd merged commit 97b93f0 into serialization-updates Jun 27, 2022
@thehomebrewnerd thehomebrewnerd deleted the feat-deserialize-improvement branch June 27, 2022 16:19
thehomebrewnerd added a commit that referenced this pull request Jun 30, 2022
…2136)

* serialization and deserialization improvements

* add pr number

* Improve feature deserialization to use common primitive instances (#2127)

* update feature deserialization

* update release notes

* lint fix

* fix comment

* fix for list inputs and test cleanup

* remove files

* remove file

* use tmp_path

* Allow users to directly set feature output column names and save during serialization (#2142)

* add set_feature_names method

* initial serialization updates

* update release notes

* fix tests

* code cleanup - only store names when set

* only use on multi-output features

* fix test

* lint fix

* remove unused functions

* add more test cases

* update serialization test

* Update featuretools/feature_base/feature_base.py

Co-authored-by: Roy Wedge <roy.wedge@alteryx.com>

Co-authored-by: Roy Wedge <roy.wedge@alteryx.com>

* Refactor feature serialization to avoid storing duplicate primitive information (#2144)

* initial refactor of serialization

* update release notes

* lint and remove breakpoint

* new approach without hash

* refactor and update tests

* remove comment

* update s3 file

* update feature base args

* lint fix

* misc cleanup

* remove extra str casting

* fix spelling error

* remove instance cache

* update save and load docstring examples

* lint fix

* more docstring cleanup

* update release notes

* tweak serialization

* update json

Co-authored-by: Roy Wedge <roy.wedge@alteryx.com>
@ozzieD ozzieD mentioned this pull request Jun 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature serialization and deserialization improvements

2 participants