def save_outlier_model(outlier_replace=False, outlier_replace_method=None, outlier_impute=None, outlier_replace_value=None, header=None, model_name="Outlier", model_table=None, model_namespace=None): model_meta = OutlierMeta() model_param = OutlierParam() model_meta.is_outlier = outlier_replace if outlier_replace: if outlier_replace_method: model_meta.strategy = str(outlier_replace_method) if outlier_impute: model_meta.outlier_value.extend(map(str, outlier_impute)) if outlier_replace_value: outlier_value_dict = dict( zip(header, map(str, outlier_replace_value))) model_param.outlier_replace_value.update(outlier_value_dict) manager.save_model(buffer_type=model_name + ".meta", proto_buffer=model_meta, name=model_table, namespace=model_namespace) manager.save_model(buffer_type=model_name + ".param", proto_buffer=model_param, name=model_table, namespace=model_namespace)
def load_outlier_model(header=None, model_name="Outlier", model_table=None, model_namespace=None): model_meta = OutlierMeta() model_param = OutlierParam() manager.read_model(buffer_type=model_name + ".meta", proto_buffer=model_meta, name=model_table, namespace=model_namespace) manager.read_model(buffer_type=model_name + ".param", proto_buffer=model_param, name=model_table, namespace=model_namespace) outlier_replace = model_meta.is_outlier outlier_replace_method = model_meta.strategy outlier_value = model_meta.outlier_value outlier_replace_value = model_param.outlier_replace_value if outlier_replace: if not outlier_replace_method: outlier_replace_method = None if not outlier_value: outlier_value = None else: outlier_value = list(outlier_value) if outlier_replace_value: outlier_replace_value = [ outlier_replace_value.get(head) for head in header ] else: outlier_replace_value = None else: outlier_replace_method = None outlier_value = None outlier_replace_value = None return outlier_replace, outlier_replace_method, outlier_value, outlier_replace_value