Refactor feature serialization to avoid storing duplicate primitive information#2144
Conversation
Codecov Report
@@ Coverage Diff @@
## serialization-updates #2144 +/- ##
======================================================
Coverage 99.23% 99.23%
======================================================
Files 143 143
Lines 17035 17100 +65
======================================================
+ Hits 16904 16969 +65
Misses 131 131
Continue to review full report at Codecov.
|
| primitives_dict_key = str(primitive_number) | ||
| primitive_id_to_key[primitive_id] = primitives_dict_key | ||
| self._primitives_dict[ | ||
| str(primitives_dict_key) |
There was a problem hiding this comment.
primitives_dict_key is already cast to string on line 118
|
Looks like Windows tests are failing due to some unrelated graphviz issue and one failed due to codecov (possibly due to github api problems), so going ahead and merging this into the feature branch. |
…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>
Refactor feature serialization to avoid storing duplicate primitive information
Separates storage of primitive information from feature information to avoid storing duplicate primitive information when serializing features.