From fa9405d911d7c6ea4cd3f6b19535f7d13a6f65d2 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Tue, 23 Nov 2021 09:24:07 +0100 Subject: add parameter-aware cross validation --- bin/analyze-archive.py | 6 ++++++ bin/analyze-kconfig.py | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'bin') diff --git a/bin/analyze-archive.py b/bin/analyze-archive.py index c66570e..f1b9f71 100755 --- a/bin/analyze-archive.py +++ b/bin/analyze-archive.py @@ -476,6 +476,11 @@ if __name__ == "__main__": help="Perform cross validation when computing model quality. " "Only works with --show-quality=table at the moment.", ) + parser.add_argument( + "--parameter-aware-cross-validation", + action="store_true", + help="Perform parameter-aware cross-validation: ensure that parameter values (and not just observations) are mutually exclusive between training and validation sets.", + ) parser.add_argument( "--with-safe-functions", action="store_true", @@ -655,6 +660,7 @@ if __name__ == "__main__": if xv_method: xv = CrossValidator(PTAModel, by_name, parameters, arg_count) + xv.parameter_aware = args.parameter_aware_cross_validation if args.info: for state in model.states: diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py index 55bf53b..d4b87c6 100755 --- a/bin/analyze-kconfig.py +++ b/bin/analyze-kconfig.py @@ -98,6 +98,11 @@ def main(): help="Report modul accuracy via Cross-Validation", metavar="METHOD:COUNT", ) + parser.add_argument( + "--parameter-aware-cross-validation", + action="store_true", + help="Perform parameter-aware cross-validation: ensure that parameter values (and not just observations) are mutually exclusive between training and validation sets.", + ) parser.add_argument( "--show-model", choices=["static", "paramdetection", "param", "all", "tex", "html"], @@ -228,6 +233,7 @@ def main(): force_tree=args.force_tree, max_std=max_std, ) + xv.parameter_aware = args.parameter_aware_cross_validation else: xv_method = None -- cgit v1.2.3