def check(self): descr = "scorecard param" if not isinstance(self.method, str): raise ValueError(f"{descr}method {self.method} not supported, should be str type") else: user_input = self.method.lower() if user_input == "credit": self.method = consts.CREDIT else: raise ValueError(f"{descr} method {user_input} not supported") if type(self.offset).__name__ not in ["int", "long", "float"]: raise ValueError(f"{descr} offset must be numeric," f"received {type(self.offset)} instead.") if type(self.factor).__name__ not in ["int", "long", "float"]: raise ValueError(f"{descr} factor must be numeric," f"received {type(self.factor)} instead.") if type(self.factor_base).__name__ not in ["int", "long", "float"]: raise ValueError(f"{descr} factor_base must be numeric," f"received {type(self.factor_base)} instead.") if type(self.upper_limit_ratio).__name__ not in ["int", "long", "float"]: raise ValueError(f"{descr} upper_limit_ratio must be numeric," f"received {type(self.upper_limit_ratio)} instead.") if type(self.lower_limit_value).__name__ not in ["int", "long", "float"]: raise ValueError(f"{descr} lower_limit_value must be numeric," f"received {type(self.lower_limit_value)} instead.") BaseParam.check_boolean(self.need_run, descr=descr + "need_run ") return True
def check(self): model_param_descr = "Statistics's param statistics" BaseParam.check_boolean(self.need_run, model_param_descr) if not isinstance(self.statistics, list): if self.statistics in [consts.DESCRIBE, consts.SUMMARY]: self.statistics = StatisticsParam.extend_statistics( self.statistics) else: self.statistics = [self.statistics] for stat_name in self.statistics: match_found = StatisticsParam.find_stat_name_match(stat_name) if not match_found: raise ValueError( f"Illegal statistics name provided: {stat_name}.") model_param_descr = "Statistics's param column_names" if not isinstance(self.column_names, list): raise ValueError(f"column_names should be list of string.") for col_name in self.column_names: BaseParam.check_string(col_name, model_param_descr) model_param_descr = "Statistics's param column_indexes" if not isinstance(self.column_indexes, list) and self.column_indexes != -1: raise ValueError(f"column_indexes should be list of int or -1.") if self.column_indexes != -1: for col_index in self.column_indexes: if not isinstance(col_index, int): raise ValueError( f"{model_param_descr} should be int or list of int") if col_index < -consts.FLOAT_ZERO: raise ValueError( f"{model_param_descr} should be non-negative int value(s)" ) if not isinstance(self.abnormal_list, list): raise ValueError(f"abnormal_list should be list of int or string.") self.check_decimal_float(self.quantile_error, "Statistics's param quantile_error ") self.check_boolean(self.bias, "Statistics's param bias ") return True
def check(self): model_param_descr = "label transform param's " BaseParam.check_boolean(self.need_run, f"{model_param_descr} need run ") if self.label_encoder is not None: if not isinstance(self.label_encoder, dict): raise ValueError( f"{model_param_descr} label_encoder should be dict type") if self.label_list is not None: if not isinstance(self.label_list, list): raise ValueError( f"{model_param_descr} label_list should be list type") if self.label_encoder and len(self.label_list) != len( self.label_encoder.keys()): raise ValueError( f"label_list length should match label_encoder key count") return True
def check(self): descr = "column_expand param's " if not isinstance(self.method, str): raise ValueError( f"{descr}method {self.method} not supported, should be str type" ) else: user_input = self.method.lower() if user_input == "manual": self.method = consts.MANUAL else: raise ValueError(f"{descr} method {user_input} not supported") BaseParam.check_boolean(self.need_run, descr=descr) if not isinstance(self.append_header, list): raise ValueError( f"{descr} append_header must be None or list of str. " f"Received {type(self.append_header)} instead.") for feature_name in self.append_header: BaseParam.check_string(feature_name, descr + "append_header values") if isinstance(self.fill_value, list): if len(self.append_header) != len(self.fill_value): raise ValueError( f"{descr} `fill value` is set to be list, " f"and param `append_header` must also be list of the same length." ) else: self.fill_value = [self.fill_value] for value in self.fill_value: if type(value).__name__ not in ["float", "int", "long", "str"]: raise ValueError( f"{descr} fill value(s) must be float, int, or str. Received type {type(value)} instead." ) return True
def check(self): model_param_descr = "data split param's " if self.random_state is not None: if not isinstance(self.random_state, int): raise ValueError(f"{model_param_descr} random state should be int type") BaseParam.check_nonnegative_number(self.random_state, f"{model_param_descr} random_state ") if self.test_size is not None: BaseParam.check_nonnegative_number(self.test_size, f"{model_param_descr} test_size ") if isinstance(self.test_size, float): BaseParam.check_decimal_float(self.test_size, f"{model_param_descr} test_size ") if self.train_size is not None: BaseParam.check_nonnegative_number(self.train_size, f"{model_param_descr} train_size ") if isinstance(self.train_size, float): BaseParam.check_decimal_float(self.train_size, f"{model_param_descr} train_size ") if self.validate_size is not None: BaseParam.check_nonnegative_number(self.validate_size, f"{model_param_descr} validate_size ") if isinstance(self.validate_size, float): BaseParam.check_decimal_float(self.validate_size, f"{model_param_descr} validate_size ") # use default size values if none given if self.test_size is None and self.train_size is None and self.validate_size is None: self.test_size = 0.0 self.train_size = 0.8 self.validate_size = 0.2 BaseParam.check_boolean(self.stratified, f"{model_param_descr} stratified ") BaseParam.check_boolean(self.shuffle, f"{model_param_descr} shuffle ") BaseParam.check_boolean(self.need_run, f"{model_param_descr} need run ") if self.split_points is not None: if not isinstance(self.split_points, list): raise ValueError(f"{model_param_descr} split_points should be list type") return True