@@ -81,6 +81,14 @@ def _validate_counterfactual_configuration(
8181 raise UserConfigValidationException (
8282 'The desired_range parameter should be set for regression task' )
8383
84+ if desired_range is not None :
85+ if len (desired_range ) != 2 :
86+ raise UserConfigValidationException (
87+ "The parameter desired_range needs to have two numbers in ascending order." )
88+ if desired_range [0 ] > desired_range [1 ]:
89+ raise UserConfigValidationException (
90+ "The range provided in desired_range should be in ascending order." )
91+
8492 def generate_counterfactuals (self , query_instances , total_CFs ,
8593 desired_class = "opposite" , desired_range = None ,
8694 permitted_range = None , features_to_vary = "all" ,
@@ -96,7 +104,8 @@ def generate_counterfactuals(self, query_instances, total_CFs,
96104 :param desired_class: Desired counterfactual class - can take 0 or 1. Default value
97105 is "opposite" to the outcome class of query_instance for binary classification.
98106 :param desired_range: For regression problems. Contains the outcome range to
99- generate counterfactuals in.
107+ generate counterfactuals in. This should be a list of two numbers in
108+ ascending order.
100109 :param permitted_range: Dictionary with feature names as keys and permitted range in list as values.
101110 Defaults to the range inferred from training data.
102111 If None, uses the parameters initialized in data_interface.
0 commit comments