Repository: biolab/orange3

Issue:
Rename: Continuize and Discretize
<!-- 
Thanks for taking the time to submit a feature request!
For the best chance at our team considering your request, please answer the following questions to the best of your ability.
-->

- [ ] **What's your use case?**
<!-- In other words, what's your pain point? -->
<!-- Is your request related to a problem, or perhaps a frustration? -->
<!-- Tell us the story that led you to write this request. -->
Continuize and Discretize widget names might be confusing for users.
We have also decided to use numeric and categorical instead of continuous and discrete.


- [ ] **What's your proposed solution?**
<!-- Be specific, clear, and concise. -->
Continuize - To Numeric
Discretize - To Categorical


- [ ] **Are there any alternative solutions?**
Open to other suggestions.







Discussion:
**TL;DR:** I don't think we have a good substitue and, given the consequences of renaming, just renaming to something that "is not really good, but better than before" is not good enough. I suggest adding a few keywords to make the two widgets easier to find.

-----------

While agreeing the the term, in particular "Continuize" are unfortunate, any such change outdates a lot of user experience and, most importantly, documentation, videos and other material. Hence renaming of widgets is a change that we should make only we really sure of it.

- "To Numeric" and "To Categorical" have the advantage of being explanatory, but I find them ugly and inconsistent with the overal naming style.
- "Discretize" and "Continuize" are consistent with our imperative naming style, but the latter is a made-up work, and also inconsistent with our change of "continuous" to "numeric".

I've done some surfing. It seems that the term "continuous" is sometimes used synonymously with "numeric", so "Continuize" should not be entirely uninteligeable when spotted by the user. On the other hand, "Discretize" is not so bad at all -- it is well-established in the ML community and shouldn't be unrecongnizable to others.

The more usual term you'll find for "Continuize" is "encoding" in particular in connection with a particular scheme, such as one-hot encoding.

Lacking a clear winner, I'd hesitate a change that would improve the name a bit, but outdate the documentation.

I would add keywords such as "encode", "numeric", "dummy", "one-hot" (to continuize) and "bin", "categorical", "nominal" (to discrete). And we'd encourage user to search by keywords instead of searching through widget categories.

Resolving patch:
diff --git a/Orange/widgets/data/owcontinuize.py b/Orange/widgets/data/owcontinuize.py
--- a/Orange/widgets/data/owcontinuize.py
+++ b/Orange/widgets/data/owcontinuize.py
@@ -23,7 +23,8 @@ class OWContinuize(widget.OWWidget):
                    "optionally, normalize numeric values.")
     icon = "icons/Continuize.svg"
     category = "Data"
-    keywords = []
+    keywords = ["encode", "dummy", "numeric", "one-hot", "binary",
+                "treatment", "contrast"]
 
     class Inputs:
         data = Input("Data", Orange.data.Table)
diff --git a/Orange/widgets/data/owdiscretize.py b/Orange/widgets/data/owdiscretize.py
--- a/Orange/widgets/data/owdiscretize.py
+++ b/Orange/widgets/data/owdiscretize.py
@@ -257,7 +257,7 @@ class OWDiscretize(widget.OWWidget):
     name = "Discretize"
     description = "Discretize the numeric data features."
     icon = "icons/Discretize.svg"
-    keywords = []
+    keywords = ["bin", "categorical", "nominal", "ordinal"]
 
     class Inputs:
         data = Input("Data", Orange.data.Table, doc="Input data table")


Test patch: