-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[ENH] Feature as Predictor #6852
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
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6852 +/- ##
==========================================
+ Coverage 88.27% 88.29% +0.02%
==========================================
Files 326 328 +2
Lines 71137 71319 +182
==========================================
+ Hits 62793 62972 +179
- Misses 8344 8347 +3 |
e6c0c49
to
62d47f2
Compare
62d47f2
to
2c09a68
Compare
ec278bd
to
bccbd34
Compare
91afd14
to
06841a9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new widget, Feature as Predictor, which repurposes a table column (numeric or discrete) to generate evaluation results and outputs a corresponding model. Key changes include new i18n message entries, widget UI and behavior modifications in owfeatureaspredictor.py along with extensive test coverage, and updates to modelling and classification modules to support the new widget.
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
i18n/si/msgs.jaml | Added new translation messages for column learner/model errors. |
Orange/widgets/evaluate/owfeatureaspredictor.py | Implemented the new widget with control updates and commit logic. |
Orange/widgets/evaluate/tests/test_owfeatureaspredictor.py | Added tests to verify behavior and UI interaction of the widget. |
Orange/modelling/column.py | Introduced ColumnLearner/ColumnModel with logistic and linear paths. |
Orange/tests/test_classification.py | Updated tests to account for ColumnLearner behavior changes. |
Orange/modelling/tests/test_column.py | Added tests validating column modelling functionality. |
Orange/classification/tests/test_column.py | Added tests ensuring ColumnClassifier handles mapping and predictions. |
Orange/modelling/init.py and classification/init.py | Updated exports to include new column modules. |
Comments suppressed due to low confidence (1)
Orange/modelling/column.py:99
- The criteria for setting the 'value_mapping' in ColumnModel relies on an implicit slice comparison between 'class_var.values' and 'column.values', which may be fragile if the ordering or lengths differ. Consider adding a clarifying comment or refactoring this logic to explicitly document the intended mapping behavior.
if (column.is_discrete and class_var.values[:len(column.values)] != column.values):
06841a9
to
85569fa
Compare
85569fa
to
0c36cf7
Compare
Issue
Closes #6813.
Description of changes
A widget that "predicts" classes from a single column. I have several questions.
I've put the widget into category Evaluate. This is not a model but rather a trick to turn a Table into Evaluation Results, hence it belongs there because any user interested in this transformation would look for a widget in this category.
Ideas from the discussion:
Includes