-
Notifications
You must be signed in to change notification settings - Fork 11
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
Refactoring #17
Comments
I think the best way to handle dropping entire variables is to:
This would allow you to implement a workflow like:
Before we make that changes we should probably:
|
As an extension to the above proposed changes we may want to define a separate module for imputation iterators. This would address issues related to mutation inconsistency and Iterators
Datasets
|
Iterators API didn't work out. Ensuring reasonable performance for even the current list of imputation strategies was challenging and I don't know how much benefit it's likely to have. I think any future efforts would be better served to just simplify the current API, so folks can define their own methods more easily. |
Between changes in the julia ecosystem and new requirements we should probably refactor our design to address specific use cases:
Impute.fill(X)
,Impute.locf(X)
,Impute.chain(...)
should stay simpleimpute(X, :method)
callsChain
. Maybe we can have thelocf
,fill
, etc methods default to returning a lazy function if data isn't passed in? This would allow us to write an imputation pipeline as?
X
and pass that to different methods (e.g.,@chain
,@multiply
).NOTE: It's okay if certain imputation methods only work on certain types of data
The text was updated successfully, but these errors were encountered: