henrikingo commented on code in PR #154:
URL: https://github.com/apache/otava/pull/154#discussion_r3197425993
##########
otava/main.py:
##########
@@ -425,14 +425,28 @@ def setup_analysis_options_parser(parser:
argparse.ArgumentParser):
"as noise so it is best to keep it short enough to include not more "
"than a few change points (optimally at most 1)",
)
- parser.add_argument(
+ ediv_group = parser.add_mutually_exclusive_group()
+ ediv_group.add_argument(
"--orig-edivisive",
action="store_true",
- default=False,
dest="orig_edivisive",
help="use the original edivisive algorithm with no windowing "
"and weak change points analysis improvements",
)
+ ediv_group.add_argument(
+ "--deterministic-edivisive",
+ action="store_true",
+ dest="deterministic_edivisive",
+ help="EXPERIMENTAL: use the original edivisive algorithm, but using "
+ "Student T for significance test. (TBD: May include weak change points
later.)",
+ )
+ ediv_group.add_argument(
+ "--split-edivisive",
+ action="store_true",
+ dest="split_edivisive",
+ help="use 'hunter' version of this algorithm, from 2023, featuring "
+ "split of data into smaller windows, weak change points and Student T
test. (Default)",
+ )
Review Comment:
Could also have used the argparse `choices` type. Did this for backward
compatibility.
Also one could argue that creating different variations like this is the
wrong direction and we should instead just expose all of the sub-features as
options the user can use to compose their own combination. My argument against
this is that most users want one authoritative solution. And half of our users
are not capable of understanding what the math is doing anyway, and the other
half don't want to understand. (I'm myself in the latter group, if not the
former, even :- )
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]