Skip to content
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

feat: Raise error if an untagged table is used instead of a TaggedTable #234

Merged

Conversation

Marsmaennchen221
Copy link
Contributor

Closes #192.

Summary of Changes

Added UntaggedTableError which is raised when an untagged table is used instead of a TaggedTable

…le is used instead of a `TaggedTable`

Co-authored-by: sibre28 <86068340+sibre28@users.noreply.github.com>
@Marsmaennchen221 Marsmaennchen221 requested a review from a team as a code owner April 21, 2023 13:20
@Marsmaennchen221 Marsmaennchen221 linked an issue Apr 21, 2023 that may be closed by this pull request
@lars-reimann
Copy link
Member

lars-reimann commented Apr 21, 2023

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 7 0 0 0.69s
✅ PYTHON mypy 7 0 1.75s
✅ PYTHON ruff 7 0 0 0.04s
✅ REPOSITORY git_diff yes no 0.02s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@codecov
Copy link

codecov bot commented Apr 21, 2023

Codecov Report

Merging #234 (f9819c4) into main (7f74440) will increase coverage by 0.00%.
The diff coverage is 100.00%.

❗ Current head f9819c4 differs from pull request most recent head fc692c6. Consider uploading reports for the commit fc692c6 to get more accurate results

@@           Coverage Diff           @@
##             main     #234   +/-   ##
=======================================
  Coverage   99.21%   99.22%           
=======================================
  Files          44       44           
  Lines        1536     1549   +13     
=======================================
+ Hits         1524     1537   +13     
  Misses         12       12           
Impacted Files Coverage Δ
src/safeds/ml/exceptions/__init__.py 100.00% <ø> (ø)
src/safeds/ml/classical/_util_sklearn.py 100.00% <100.00%> (ø)
.../safeds/ml/classical/classification/_classifier.py 100.00% <100.00%> (ø)
src/safeds/ml/classical/regression/_regressor.py 100.00% <100.00%> (ø)
src/safeds/ml/exceptions/_exceptions.py 100.00% <100.00%> (ø)

Marsmaennchen221 and others added 4 commits April 21, 2023 16:04
Co-authored-by: sibre28 <86068340+sibre28@users.noreply.github.com>
Co-authored-by: sibre28 <86068340+sibre28@users.noreply.github.com>
Copy link
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

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

Also missing: The metrics functions of Classifier and Regressor should also raise an UntaggedTableError. This includes:

  • Classifier.accuracy
  • Regressor.mean_squared_error
  • Regressor.mean_absolute_error

tests/safeds/ml/classical/test_util_sklearn.py Outdated Show resolved Hide resolved
Marsmaennchen221 and others added 2 commits April 28, 2023 11:29
…ared_error` and `Regressor.mean_absolute_error` if the table is untagged

Co-authored-by: sibre28 <86068340+sibre28@users.noreply.github.com>
…ter-error-if-a-table-is-passed-instead-of-a-taggedtable

# Conflicts:
#	src/safeds/ml/exceptions/_exceptions.py
Marsmaennchen221 and others added 4 commits April 28, 2023 11:39
…t_should_raise_if_validation_fails`

Co-authored-by: sibre28 <86068340+sibre28@users.noreply.github.com>
Co-authored-by: sibre28 <86068340+sibre28@users.noreply.github.com>
…edtable' of https://github.com/Safe-DS/Stdlib into 192-better-error-if-a-table-is-passed-instead-of-a-taggedtable
Co-authored-by: Lars Reimann <mail@larsreimann.com>
@Marsmaennchen221
Copy link
Contributor Author

histogram
Currently numerical data will have a wider range in x values than needed. We had an alternative method to remove the first and last xtick as it is not needed but this would remove the first and last label from categorical data. We are not sure how we can solve this problem. For now the output has the larger scope

@lars-reimann
Copy link
Member

histogram Currently numerical data will have a wider range in x values than needed. We had an alternative method to remove the first and last xtick as it is not needed but this would remove the first and last label from categorical data. We are not sure how we can solve this problem. For now the output has the larger scope

Does this comment belong to another PR?

@lars-reimann lars-reimann changed the title feat: Added UntaggedTableError which is raised when an untagged table is used instead of a TaggedTable feat: Raise error if an untagged table is used instead of a TaggedTable Apr 28, 2023
@lars-reimann lars-reimann merged commit 8eea3dd into main Apr 28, 2023
6 checks passed
@lars-reimann lars-reimann deleted the 192-better-error-if-a-table-is-passed-instead-of-a-taggedtable branch April 28, 2023 19:11
lars-reimann pushed a commit that referenced this pull request 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))
@lars-reimann
Copy link
Member

🎉 This PR is included in version 0.12.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label May 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released Included in a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Better error if a Table is passed instead of a TaggedTable
3 participants