-
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
Custom error if number is out of bounds #262
Labels
enhancement 💡
New feature or request
good first issue
Good for newcomers
released
Included in a release
Comments
lars-reimann
added
enhancement 💡
New feature or request
good first issue
Good for newcomers
labels
May 3, 2023
lars-reimann
added a commit
that referenced
this issue
May 6, 2023
### Summary of Changes Move exceptions back to common top-level package. This undoes the change from #177 and prepares for #262 and other errors that don't belong to a specific package of Safe-DS. It also makes it easier for developer to find a fitting error. --------- Co-authored-by: megalinter-bot <[email protected]>
lars-reimann
pushed a commit
that referenced
this issue
May 11, 2023
## [0.12.0](v0.11.0...v0.12.0) (2023-05-11) ### Features * add `learning_rate` to AdaBoost classifier and regressor. ([#251](#251)) ([7f74440](7f74440)), closes [#167](#167) * add alpha parameter to `lasso_regression` ([#232](#232)) ([b5050b9](b5050b9)), closes [#163](#163) * add parameter `lasso_ratio` to `ElasticNetRegression` ([#237](#237)) ([4a1a736](4a1a736)), closes [#166](#166) * Add parameter `number_of_tree` to `RandomForest` classifier and regressor ([#230](#230)) ([414336a](414336a)), closes [#161](#161) * Added `Table.plot_boxplots` to plot a boxplot for each numerical column in the table ([#254](#254)) ([0203a0c](0203a0c)), closes [#156](#156) [#239](#239) * Added `Table.plot_histograms` to plot a histogram for each column in the table ([#252](#252)) ([e27d410](e27d410)), closes [#157](#157) * Added `Table.transform_table` method which returns the transformed Table ([#229](#229)) ([0a9ce72](0a9ce72)), closes [#110](#110) * Added alpha parameter to `RidgeRegression` ([#231](#231)) ([1ddc948](1ddc948)), closes [#164](#164) * Added Column#transform ([#270](#270)) ([40fb756](40fb756)), closes [#255](#255) * Added method `Table.inverse_transform_table` which returns the original table ([#227](#227)) ([846bf23](846bf23)), closes [#111](#111) * Added parameter `c` to `SupportVectorMachines` ([#267](#267)) ([a88eb8b](a88eb8b)), closes [#169](#169) * Added parameter `maximum_number_of_learner` and `learner` to `AdaBoost` ([#269](#269)) ([bb5a07e](bb5a07e)), closes [#171](#171) [#173](#173) * Added parameter `number_of_trees` to `GradientBoosting` ([#268](#268)) ([766f2ff](766f2ff)), closes [#170](#170) * Allow arguments of type pathlib.Path for file I/O methods ([#228](#228)) ([2b58c82](2b58c82)), closes [#146](#146) * convert `Schema` to `dict` and format it nicely in a notebook ([#244](#244)) ([ad1cac5](ad1cac5)), closes [#151](#151) * Convert between Excel file and `Table` ([#233](#233)) ([0d7a998](0d7a998)), closes [#138](#138) [#139](#139) * convert containers for tabular data to HTML ([#243](#243)) ([683c279](683c279)), closes [#140](#140) * make `Column` a subclass of `Sequence` ([#245](#245)) ([a35b943](a35b943)) * mark optional hyperparameters as keyword only ([#296](#296)) ([44a41eb](44a41eb)), closes [#278](#278) * move exceptions back to common package ([#295](#295)) ([a91172c](a91172c)), closes [#177](#177) [#262](#262) * precision metric for classification ([#272](#272)) ([5adadad](5adadad)), closes [#185](#185) * Raise error if an untagged table is used instead of a `TaggedTable` ([#234](#234)) ([8eea3dd](8eea3dd)), closes [#192](#192) * recall and F1-score metrics for classification ([#277](#277)) ([2cf93cc](2cf93cc)), closes [#187](#187) [#186](#186) * replace prefix `n` with `number_of` ([#250](#250)) ([f4f44a6](f4f44a6)), closes [#171](#171) * set `alpha` parameter for regularization of `ElasticNetRegression` ([#238](#238)) ([e642d1d](e642d1d)), closes [#165](#165) * Set `column_names` in `fit` methods of table transformers to be required ([#225](#225)) ([2856296](2856296)), closes [#179](#179) * set learning rate of Gradient Boosting models ([#253](#253)) ([9ffaf55](9ffaf55)), closes [#168](#168) * Support vector machine for regression and for classification ([#236](#236)) ([7f6c3bd](7f6c3bd)), closes [#154](#154) * usable constructor for `Table` ([#294](#294)) ([56a1fc4](56a1fc4)), closes [#266](#266) * usable constructor for `TaggedTable` ([#299](#299)) ([01c3ad9](01c3ad9)), closes [#293](#293) ### Bug Fixes * OneHotEncoder no longer creates duplicate column names ([#271](#271)) ([f604666](f604666)), closes [#201](#201) * selectively ignore one warning instead of all warnings ([#235](#235)) ([3aad07d](3aad07d))
The error doesn't seem to be useful. Need to discuss with customer. |
What's the issue with it? |
How about something like this: class OutOfBoundsError:
def __init__(self, actual: float, *, lower_bound: Bound | None = None, upper_bound: Bound | None = None):
...
class Bound(ABC):
...
class ClosedBound(Bound):
def __init__(self, value: float):
...
class OpenBound(Bound):
def __init__(self, value: float):
... Usage: OutOfBoundsError(actual = 0.5, upper_bound = OpenBound(1)) |
I just used value error in Image#blend, as soon as this error is implemented, it can be used there too |
lars-reimann
added a commit
that referenced
this issue
Jul 11, 2023
Closes #262. ### Summary of Changes * Introduced a new generic error class `OutOfBoundsError` that can be used to signal that a value is outside its expected range. * Updated Image to use the new error. * Updated Discretizer to use the new error. * Updated ML models with hyperparameters to use the new error. --------- Co-authored-by: Alexander Gréus <[email protected]> Co-authored-by: megalinter-bot <[email protected]> Co-authored-by: Lars Reimann <[email protected]>
lars-reimann
pushed a commit
that referenced
this issue
Jul 13, 2023
## [0.15.0](v0.14.0...v0.15.0) (2023-07-13) ### Features * Add copy method for tables ([#405](#405)) ([72e87f0](72e87f0)), closes [#275](#275) * add gaussian noise to image ([#430](#430)) ([925a505](925a505)), closes [#381](#381) * add schema conversions when adding new rows to a table and schema conversion when creating a new table ([#432](#432)) ([6e9ff69](6e9ff69)), closes [#404](#404) [#322](#322) [#127](#127) [#322](#322) [#127](#127) * add test for empty tables for the method `Table.sort_rows` ([#431](#431)) ([f94b768](f94b768)), closes [#402](#402) * added color adjustment feature ([#409](#409)) ([2cbee36](2cbee36)), closes [#380](#380) * added test_repr table tests ([#410](#410)) ([cb77790](cb77790)), closes [#349](#349) * discretize table ([#327](#327)) ([5e3da8d](5e3da8d)), closes [#143](#143) * Improve error handling of TaggedTable ([#450](#450)) ([c5da544](c5da544)), closes [#150](#150) * Maintain tagging in methods inherited from `Table` class ([#332](#332)) ([bc73a6c](bc73a6c)), closes [#58](#58) * new error class `OutOfBoundsError` ([#438](#438)) ([1f37e4a](1f37e4a)), closes [#262](#262) * rename several `Table` methods for consistency ([#445](#445)) ([9954986](9954986)), closes [#439](#439) * suggest similar columns if column gets accessed that doesnt exist ([#385](#385)) ([6a097a4](6a097a4)), closes [#203](#203) ### Bug Fixes * added the missing ids in parameterized tests ([#412](#412)) ([dab6419](dab6419)), closes [#362](#362) * don't warn if `Imputer` transforms column without missing values ([#448](#448)) ([f0cb6a5](f0cb6a5)) * Warnings raised by underlying seaborn and numpy libraries ([#425](#425)) ([c4143af](c4143af)), closes [#357](#357)
🎉 This issue has been resolved in version 0.15.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
Labels
enhancement 💡
New feature or request
good first issue
Good for newcomers
released
Included in a release
Is your feature request related to a problem?
We have several cases where we check that a number is in some interval. However, error messages vastly differ.
Desired solution
OutOfBoundsError
that inherits fromValueError
super
constructorPossible alternatives (optional)
No response
Screenshots (optional)
No response
Additional Context (optional)
No response
The text was updated successfully, but these errors were encountered: