-
Notifications
You must be signed in to change notification settings - Fork 4
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
Return new model when calling fit
#69
Labels
Comments
lars-reimann
added
the
cleanup 🧹
Refactorings and other tasks that improve the code
label
Mar 24, 2023
I've decided against differentiating trained and untrained models in Python for several reasons:
Because of this, I'll only change that |
lars-reimann
added
enhancement 💡
New feature or request
and removed
cleanup 🧹
Refactorings and other tasks that improve the code
labels
Mar 27, 2023
lars-reimann
added a commit
that referenced
this issue
Mar 27, 2023
Closes #69. ### Summary of Changes The `fit` method of classifiers/regressors now returns a new (fitted) classifier regressor. The receiver of the method call is not changed anymore. This is consistent with the methods on the `Table` class and other data containers. Furthermore, `fit` is now a pure function, which works better in notebooks and our own [execution strategy](https://arxiv.org/abs/2302.14556). --------- Co-authored-by: lars-reimann <[email protected]>
lars-reimann
pushed a commit
that referenced
this issue
Mar 27, 2023
## [0.6.0](v0.5.0...v0.6.0) (2023-03-27) ### Features * allow calling `correlation_heatmap` with non-numerical columns ([#92](#92)) ([b960214](b960214)), closes [#89](#89) * function to drop columns with non-numerical values from `Table` ([#96](#96)) ([8f14d65](8f14d65)), closes [#13](#13) * function to drop columns/rows with missing values ([#97](#97)) ([05d771c](05d771c)), closes [#10](#10) * remove `list_columns_with_XY` methods from `Table` ([#100](#100)) ([a0c56ad](a0c56ad)), closes [#94](#94) * rename `keep_columns` to `keep_only_columns` ([#99](#99)) ([de42169](de42169)) * rename `remove_outliers` to `drop_rows_with_outliers` ([#95](#95)) ([7bad2e3](7bad2e3)), closes [#93](#93) * return new model when calling `fit` ([#91](#91)) ([165c97c](165c97c)), closes [#69](#69) ### Bug Fixes * handling of missing values when dropping rows with outliers ([#101](#101)) ([0a5e853](0a5e853)), closes [#7](#7)
🎉 This issue has been resolved in version 0.6.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is your feature request related to a problem?
Methods of data containers like
Table
always return a new data container. Thefit
method of models, however, mutates a model in place.Desired solution
For the sake of consistency, we should consider whether
fit
should also return a new model. If we implement that, we should also think about differentiating between trained and untrained models. Only the latter should have apredict
methods or methods for metrics (#64).Possible names (likewise for regressors):
ClassifierDraft
ClassifierTemplate
ClassifierBlueprint
ClassifierPrototype
- It's not quite a prototype though, since we don't just clone an instance when we fit. We also initialize weights etc. So that's not my favoriteClassifierBuilder
- We don't use the builder pattern though, values can only be set in the constructor. So that is not my favorite either.Possible alternatives (optional)
No response
Screenshots (optional)
No response
Additional Context (optional)
No response
The text was updated successfully, but these errors were encountered: