diff --git a/Demos/demos_module/iris_demo.py b/Demos/demos_module/iris_demo.py index 4068cca..da21225 100644 --- a/Demos/demos_module/iris_demo.py +++ b/Demos/demos_module/iris_demo.py @@ -44,11 +44,11 @@ runner = 1 # 1: single thread, 2+: corresponding multi-thread -n_gen = 20 +n_gen = 10 n_pop = 50 nRules = 10 -nAnts = 7 +nAnts = 3 tolerance = 0.001 iris = datasets.load_iris() @@ -72,7 +72,8 @@ fl_classifier.fit(X_train, y_train, n_gen=n_gen, pop_size=n_pop, checkpoints=0, random_state=0) # print(vis_rules.rules_to_latex(fl_classifier.rule_base)) -str_rules = eval_tools.eval_fuzzy_model(fl_classifier, X_train, y_train, X_test, y_test, +fuzzy_evaluator = eval_tools.FuzzyEvaluator(fl_classifier) +str_rules = fuzzy_evaluator.eval_fuzzy_model(X_train, y_train, X_test, y_test, plot_rules=False, print_rules=True, plot_partitions=True, return_rules=True) rule_matrix = fl_classifier.rule_base.get_rulebase_matrix() diff --git a/ex_fuzzy/ex_fuzzy/eval_tools.py b/ex_fuzzy/ex_fuzzy/eval_tools.py index c5a5a33..5ddef35 100644 --- a/ex_fuzzy/ex_fuzzy/eval_tools.py +++ b/ex_fuzzy/ex_fuzzy/eval_tools.py @@ -37,7 +37,7 @@ def get_metric(self,metric:str,X_true:np.array,y_true:np.array,**kwargs): ''' #Get y predictions y_pred = self.predict(X_true) - + y_true = np.array(y_true) #Convert str classes to numbers in corresponding class if necessary unique_classes = self.fl_classifier.classes_names @@ -55,6 +55,7 @@ def get_metric(self,metric:str,X_true:np.array,y_true:np.array,**kwargs): except TypeError: return f"Invalid arguments passed for the metric '{metric}'." + def eval_fuzzy_model(self,X_train: np.array, y_train: np.array,X_test: np.array, y_test: np.array, plot_rules=True, print_rules=True, plot_partitions=True, return_rules=False, print_accuracy=True, print_matthew=True, export_path:str=None) -> None: @@ -89,10 +90,10 @@ def eval_fuzzy_model(self,X_train: np.array, y_train: np.array,X_test: np.array, if print_matthew: print('MATTHEW CORRCOEF') print('Train performance: ' + - str(self.get_metric('mattews_corrcoef',X_train,y_train)) + str(self.get_metric('matthews_corrcoef',X_train,y_train)) ) print('Test performance: ' + - str(self.get_metric('mattews_corrcoef',X_test,y_test)) + str(self.get_metric('matthews_corrcoef',X_test,y_test)) ) print('------------') diff --git a/setup.py b/setup.py index a301cc4..b6b08a5 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ URL = "https://github.com/Fuminides/ex-fuzzy" LICENSE = "GPL-3.0" DOWNLOAD_URL = "https://pypi.org/project/ex-fuzzy/" -VERSION = "1.5.2" +VERSION = "1.5.2b" INSTALL_REQUIRES = ["numpy", "networkx", "matplotlib", "pymoo", "pandas", "scikit-learn"] CLASSIFIERS = [ "Development Status :: 4 - Beta",