From af627ee20264a7a6744a4d6492214cc85ff0d3a6 Mon Sep 17 00:00:00 2001 From: PYDT <85057800+87owo@users.noreply.github.com> Date: Thu, 11 Jan 2024 11:25:17 +0800 Subject: [PATCH] Delete PYAS_Compress.py --- PYAS_Compress.py | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 PYAS_Compress.py diff --git a/PYAS_Compress.py b/PYAS_Compress.py deleted file mode 100644 index 47e3d5c..0000000 --- a/PYAS_Compress.py +++ /dev/null @@ -1,35 +0,0 @@ -import json - -class ListCompressor: - def __init__(self): - self.model = {'ones': [], 'zero': [], 'word': {}} - - def save_model(self, file_name): - with open(file_name, 'w') as f: - json.dump(self.model, f) - print(f"\nModel Is Saved In {file_name}") - - def load_model(self, model_data): - if isinstance(model_data, str): - with open(model_data, 'r') as f: - model_data = json.load(f) - self.model = model_data - - def train_model(self, ones, zero, min_count=1, max_ratio=1.0): - unique_words = set([item for sublist in ones + zero for item in sublist]) - self.model['word'] = {word: idx for idx, word in enumerate(unique_words)} - ones = [[self.model['word'][item] for item in lst] for lst in ones if len(lst) >= min_count and len(lst) / len(unique_words) <= max_ratio] - zero = [[self.model['word'][item] for item in lst] for lst in zero if len(lst) >= min_count and len(lst) / len(unique_words) <= max_ratio] - self.model['ones'].extend(ones) - self.model['zero'].extend(zero) - - def simplify_lists(self, lists): - return [list(set(lst)) for lst in lists] - - def predict(self, new_list, similarity=0.5): - new_list = [self.model['word'].get(item, -1) for item in new_list if item in self.model['word']] - if len(new_list) < 1: - return False - max_vfl = [len(set(new_list) & set(ones)) / len(set(new_list) | set(ones)) for ones in self.model['ones']] - max_sfl = [len(set(new_list) & set(zero)) / len(set(new_list) | set(zero)) for zero in self.model['zero']] - return max(max_vfl) >= max(max_sfl) and max(max_vfl) >= similarity