From d979cd4789d26a8682049222a46a9fd8c952a23e Mon Sep 17 00:00:00 2001 From: bbauvin <baptiste.bauvin@centrale-marseille.fr> Date: Tue, 24 Oct 2017 15:38:21 -0400 Subject: [PATCH] Extracted multiview CLassifiers form Multiview --- Code/MonoMultiViewClassifiers/ExecClassif.py | 28 +++++++++---------- .../MonoviewClassifiers/SCM.py | 11 +------- .../Multiview/ExecMultiview.py | 16 +++++------ .../Multiview/__init__.py | 5 ++-- .../Fusion/FusionModule.py | 17 +++++------ .../Fusion/Methods/EarlyFusion.py | 0 .../EarlyFusionPackage/WeightedLinear.py | 0 .../Methods/EarlyFusionPackage/__init__.py | 0 .../Fusion/Methods/LateFusion.py | 0 .../LateFusionPackage/BayesianInference.py | 0 .../LateFusionPackage/MajorityVoting.py | 0 .../Methods/LateFusionPackage/SCMForLinear.py | 0 .../Methods/LateFusionPackage/SVMForLinear.py | 0 .../LateFusionPackage/WeightedLinear.py | 0 .../Methods/LateFusionPackage/__init__.py | 0 .../Fusion/Methods/__init__.py | 0 .../Fusion/__init__.py | 0 .../Fusion/analyzeResults.py | 0 .../Mumbo/Classifiers/DecisionTree.py | 0 .../Mumbo/Classifiers/Kover.py | 0 .../Mumbo/Classifiers/ModifiedMulticlass.py | 0 .../Mumbo/Classifiers/SubSampling.py | 0 .../Mumbo/Classifiers/__init__.py | 0 .../Mumbo/MumboModule.py | 14 +++++----- .../Mumbo/__init__.py | 0 .../Mumbo/analyzeResults.py | 12 ++++---- .../MultiviewClassifiers/__init__.py | 9 ++++++ Code/MonoMultiViewClassifiers/__init__.py | 2 +- .../MonoMultiViewClassifiers/utils/Dataset.py | 10 ++++--- .../{Multiview => utils}/GetMultiviewDb.py | 0 30 files changed, 59 insertions(+), 65 deletions(-) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/FusionModule.py (92%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/EarlyFusion.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/EarlyFusionPackage/WeightedLinear.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/EarlyFusionPackage/__init__.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusion.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusionPackage/BayesianInference.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusionPackage/MajorityVoting.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusionPackage/SCMForLinear.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusionPackage/SVMForLinear.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusionPackage/WeightedLinear.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/LateFusionPackage/__init__.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/Methods/__init__.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/__init__.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Fusion/analyzeResults.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/Classifiers/DecisionTree.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/Classifiers/Kover.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/Classifiers/ModifiedMulticlass.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/Classifiers/SubSampling.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/Classifiers/__init__.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/MumboModule.py (99%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/__init__.py (100%) rename Code/MonoMultiViewClassifiers/{Multiview => MultiviewClassifiers}/Mumbo/analyzeResults.py (99%) create mode 100644 Code/MonoMultiViewClassifiers/MultiviewClassifiers/__init__.py rename Code/MonoMultiViewClassifiers/{Multiview => utils}/GetMultiviewDb.py (100%) diff --git a/Code/MonoMultiViewClassifiers/ExecClassif.py b/Code/MonoMultiViewClassifiers/ExecClassif.py index d1be6b7a..996e00fe 100644 --- a/Code/MonoMultiViewClassifiers/ExecClassif.py +++ b/Code/MonoMultiViewClassifiers/ExecClassif.py @@ -1,27 +1,27 @@ # Import built-in modules # import pdb;pdb.set_trace() -import pkgutil # for TimeStamp in CSVFile +import errno +import logging +import math import os +import pkgutil # for TimeStamp in CSVFile import time -# import sys -import logging -import errno -# Import 3rd party modules -from joblib import Parallel, delayed -import numpy as np -import math import matplotlib +import numpy as np +from joblib import Parallel, delayed + matplotlib.use('Agg') # Anti-Grain Geometry C++ library to make a raster (pixel) image of the figure import h5py # Import own modules -from . import Multiview # import Metrics +# from . import Multiview from . import MonoviewClassifiers +from . import MultiviewClassifiers from .Multiview.ExecMultiview import ExecMultiview, ExecMultiview_multicore from .Monoview.ExecClassifMonoView import ExecMonoview, ExecMonoview_multicore -from .Multiview import GetMultiviewDb as DB +from .utils import GetMultiviewDb as DB from .ResultAnalysis import resultAnalysis, analyzeLabels, analyzeIterResults, analyzeIterLabels, genNamesFromRes from .utils import execution, Dataset @@ -36,7 +36,7 @@ def initBenchmark(args): args.FU_early_methods, args.CL_algos_monoview""" benchmark = {"Monoview": {}, "Multiview": {}} allMultiviewPackages = [name for _, name, isPackage - in pkgutil.iter_modules(['./MonoMultiViewClassifiers/Multiview/']) if isPackage] + in pkgutil.iter_modules(['./MonoMultiViewClassifiers/MultiviewClassifiers/']) if isPackage] if args.CL_type == ["Benchmark"]: allMonoviewAlgos = [name for _, name, isPackage in @@ -45,7 +45,7 @@ def initBenchmark(args): benchmark["Monoview"] = allMonoviewAlgos benchmark["Multiview"] = dict((multiviewPackageName, "_") for multiviewPackageName in allMultiviewPackages) for multiviewPackageName in allMultiviewPackages: - multiviewPackage = getattr(Multiview, multiviewPackageName) + multiviewPackage = getattr(MultiviewClassifiers, multiviewPackageName) multiviewModule = getattr(multiviewPackage, multiviewPackageName+"Module") benchmark = multiviewModule.getBenchmark(benchmark, args=args) @@ -57,7 +57,7 @@ def initBenchmark(args): algosMutliview = args.CL_algos_multiview for multiviewPackageName in allMultiviewPackages: if multiviewPackageName in algosMutliview: - multiviewPackage = getattr(Multiview, multiviewPackageName) + multiviewPackage = getattr(MultiviewClassifiers, multiviewPackageName) multiviewModule = getattr(multiviewPackage, multiviewPackageName+"Module") benchmark = multiviewModule.getBenchmark(benchmark, args=args) if "Monoview" in args.CL_type: @@ -117,7 +117,7 @@ def initMultiviewArguments(args, benchmark, views, viewsIndices, argumentDiction multiviewArguments = [] if "Multiview" in benchmark: for multiviewAlgoName in benchmark["Multiview"]: - multiviewPackage = getattr(Multiview, multiviewAlgoName) + multiviewPackage = getattr(MultiviewClassifiers, multiviewAlgoName) mutliviewModule = getattr(multiviewPackage, multiviewAlgoName+"Module") multiviewArguments += mutliviewModule.getArgs(args, benchmark, views, viewsIndices, randomState, directory, resultsMonoview, classificationIndices) diff --git a/Code/MonoMultiViewClassifiers/MonoviewClassifiers/SCM.py b/Code/MonoMultiViewClassifiers/MonoviewClassifiers/SCM.py index 56084400..a84d914c 100644 --- a/Code/MonoMultiViewClassifiers/MonoviewClassifiers/SCM.py +++ b/Code/MonoMultiViewClassifiers/MonoviewClassifiers/SCM.py @@ -1,21 +1,12 @@ -# from pyscm.utils import _pack_binary_bytes_to_ints -# import pyscm -import h5py -# from pyscm.binary_attributes.base import BaseBinaryAttributeList -import os -import itertools -# import pyscm.deprecated as pyscm import numpy as np from pyscm.scm import SetCoveringMachineClassifier as scm from sklearn.base import BaseEstimator, ClassifierMixin from sklearn.pipeline import Pipeline from sklearn.model_selection import RandomizedSearchCV -from sklearn.externals.six import iteritems, iterkeys, itervalues +from sklearn.externals.six import iteritems from scipy.stats import uniform, randint -# from ..Multiview import GetMultiviewDb as DB -# from ..utils.Dataset import getShape from .. import Metrics from ..utils.HyperParameterSearch import genHeatMaps diff --git a/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py b/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py index 806b1474..e0b6ffd3 100644 --- a/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py +++ b/Code/MonoMultiViewClassifiers/Multiview/ExecMultiview.py @@ -1,17 +1,15 @@ -import sys -import os.path import errno -# sys.path.append( -# os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))) -import os import logging +import os +import os.path import time + import h5py -import imp -from ..utils.Dataset import getShape from ..utils import HyperParameterSearch -from . import Fusion, Mumbo +from ..utils.Dataset import getShape +from .. import MultiviewClassifiers + # from . import * # Author-Info @@ -57,7 +55,7 @@ def ExecMultiview(directory, DATASET, name, classificationIndices, KFolds, nbCor # if packageDirectory == CL_type: # classifierModule = imp.find_module(CL_type, "MonoMultiViewClassifiers/Multiview/"+packageDirectory+"/"+CL_type+".py") # analysisModule = imp.load_source(CL_type, "MonoMultiViewClassifiers/Multiview/"+packageDirectory+"/analyzeResults.py") - classifierPackage = globals()[CL_type] # Permet d'appeler un module avec une string + classifierPackage = getattr(MultiviewClassifiers, CL_type) # Permet d'appeler un module avec une string classifierModule = getattr(classifierPackage, CL_type+"Module") classifierClass = getattr(classifierModule, CL_type+"Class") analysisModule = getattr(classifierPackage, "analyzeResults") diff --git a/Code/MonoMultiViewClassifiers/Multiview/__init__.py b/Code/MonoMultiViewClassifiers/Multiview/__init__.py index 47661078..20a27f75 100644 --- a/Code/MonoMultiViewClassifiers/Multiview/__init__.py +++ b/Code/MonoMultiViewClassifiers/Multiview/__init__.py @@ -1,6 +1,5 @@ -from . import GetMultiviewDb +# from Code.MonoMultiViewClassifiers.MultiviewClassifiers import Fusion, Mumbo from . import ExecMultiview -from . import Mumbo -from . import Fusion +# from . import Mumbo __all__ = ['Fusion', 'Mumbo'] diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/FusionModule.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/FusionModule.py similarity index 92% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/FusionModule.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/FusionModule.py index f6445eac..c2d1a282 100644 --- a/Code/MonoMultiViewClassifiers/Multiview/Fusion/FusionModule.py +++ b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/FusionModule.py @@ -1,7 +1,8 @@ -import numpy as np import logging import pkgutil +import numpy as np + # from Methods import * try: @@ -19,16 +20,12 @@ __status__ = "Prototype" # Production, Development, Prototype def getBenchmark(benchmark, args=None): fusionModulesNames = [name for _, name, isPackage - in pkgutil.iter_modules(['./MonoMultiViewClassifiers/Multiview/Fusion/Methods']) if not isPackage] - fusionModules = [getattr(Methods, fusionModulesName) - for fusionModulesName in fusionModulesNames] - fusionClassifiers = [getattr(fusionModule, fusionModulesName + "Classifier") - for fusionModulesName, fusionModule in zip(fusionModulesNames, fusionModules)] + in pkgutil.iter_modules(['./MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods']) if not isPackage] fusionMethods = dict((fusionModulesName, [name for _, name, isPackage in pkgutil.iter_modules( - ["./MonoMultiViewClassifiers/Multiview/Fusion/Methods/" + fusionModulesName + "Package"]) + ["./MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/" + fusionModulesName + "Package"]) if not isPackage]) - for fusionModulesName, fusionClasse in zip(fusionModulesNames, fusionClassifiers)) + for fusionModulesName in fusionModulesNames) if args is None: allMonoviewAlgos = [name for _, name, isPackage in pkgutil.iter_modules(['./MonoMultiViewClassifiers/MonoviewClassifiers']) @@ -48,7 +45,7 @@ def getBenchmark(benchmark, args=None): if args.FU_late_methods == [""]: benchmark["Multiview"]["Fusion"]["Methods"]["LateFusion"] = [name for _, name, isPackage in pkgutil.iter_modules([ - "./MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage"]) + "./MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage"]) if not isPackage] else: benchmark["Multiview"]["Fusion"]["Methods"]["LateFusion"] = args.FU_late_methods @@ -56,7 +53,7 @@ def getBenchmark(benchmark, args=None): if args.FU_early_methods == [""]: benchmark["Multiview"]["Fusion"]["Methods"]["EarlyFusion"] = [name for _, name, isPackage in pkgutil.iter_modules([ - "./MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusionPackage"]) + "./MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusionPackage"]) if not isPackage] else: benchmark["Multiview"]["Fusion"]["Methods"]["EarlyFusion"] = args.FU_early_methods diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusion.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusion.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusion.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusion.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusionPackage/WeightedLinear.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusionPackage/WeightedLinear.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusionPackage/WeightedLinear.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusionPackage/WeightedLinear.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusionPackage/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusionPackage/__init__.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/EarlyFusionPackage/__init__.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/EarlyFusionPackage/__init__.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusion.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusion.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusion.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusion.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/BayesianInference.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/BayesianInference.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/BayesianInference.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/BayesianInference.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/MajorityVoting.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/MajorityVoting.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/MajorityVoting.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/MajorityVoting.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/SCMForLinear.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/SCMForLinear.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/SCMForLinear.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/SCMForLinear.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/SVMForLinear.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/SVMForLinear.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/SVMForLinear.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/SVMForLinear.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/WeightedLinear.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/WeightedLinear.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/WeightedLinear.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/WeightedLinear.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/__init__.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/LateFusionPackage/__init__.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/LateFusionPackage/__init__.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/__init__.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/Methods/__init__.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/Methods/__init__.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/__init__.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/__init__.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/__init__.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Fusion/analyzeResults.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/analyzeResults.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Fusion/analyzeResults.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Fusion/analyzeResults.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/DecisionTree.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/DecisionTree.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/DecisionTree.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/DecisionTree.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/Kover.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/Kover.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/Kover.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/Kover.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/ModifiedMulticlass.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/ModifiedMulticlass.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/ModifiedMulticlass.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/ModifiedMulticlass.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/SubSampling.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/SubSampling.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/SubSampling.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/SubSampling.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/__init__.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers/__init__.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers/__init__.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/MumboModule.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/MumboModule.py similarity index 99% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/MumboModule.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/MumboModule.py index d4cf238d..ac136161 100644 --- a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/MumboModule.py +++ b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/MumboModule.py @@ -1,14 +1,14 @@ -import numpy as np -import math -from joblib import Parallel, delayed import itertools -import time -import pkgutil import logging +import math +import pkgutil + +import numpy as np +from joblib import Parallel, delayed from sklearn.metrics import accuracy_score -from . import Classifiers from ...utils.Dataset import getV +from . import Classifiers # Author-Info __author__ = "Baptiste Bauvin" @@ -19,7 +19,7 @@ __status__ = "Prototype" # Production, Development, Prototype def getBenchmark(benchmark, args=None): allAlgos = [name for _, name, isPackage in - pkgutil.iter_modules("./MonoMultiViewClassifiers/Multiview/Mumbo/Classifiers") + pkgutil.iter_modules("./MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/Classifiers") if not isPackage and not name in ["SubSampling", "ModifiedMulticlass", "Kover"]] if args is None or args.MU_types != ['']: benchmark["Multiview"]["Mumbo"] = allAlgos diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/__init__.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/__init__.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/__init__.py diff --git a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/analyzeResults.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/analyzeResults.py similarity index 99% rename from Code/MonoMultiViewClassifiers/Multiview/Mumbo/analyzeResults.py rename to Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/analyzeResults.py index b38eead5..f5681f2f 100644 --- a/Code/MonoMultiViewClassifiers/Multiview/Mumbo/analyzeResults.py +++ b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/Mumbo/analyzeResults.py @@ -1,14 +1,12 @@ -import numpy as np -import matplotlib -import matplotlib.pyplot as plt import operator from datetime import timedelta as hms -# import logging -# import Mumbo -from . import Classifiers +import matplotlib.pyplot as plt +import numpy as np + from ... import Metrics from ...utils.Dataset import getV, getShape +from . import Classifiers # Author-Info __author__ = "Baptiste Bauvin" @@ -93,7 +91,7 @@ def getAlgoConfig(classifier, classificationKWARGS, nbCores, viewNames, hyperPar threshold = classificationKWARGS["threshold"] extractionTime, classificationTime = times weakClassifierConfigs = [getattr(getattr(Classifiers, classifierName), 'getConfig')(classifiersConfig) for classifiersConfig, - classifierName + classifierName in zip(classifier.classifiersConfigs, classifier.classifiersNames)] classifierAnalysis = [classifierName + " " + weakClassifierConfig + "on " + feature for classifierName, weakClassifierConfig, diff --git a/Code/MonoMultiViewClassifiers/MultiviewClassifiers/__init__.py b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/__init__.py new file mode 100644 index 00000000..3f1a1d3e --- /dev/null +++ b/Code/MonoMultiViewClassifiers/MultiviewClassifiers/__init__.py @@ -0,0 +1,9 @@ +import os + +for module in os.listdir(os.path.dirname(os.path.realpath(__file__))): + if module == '__init__.py' or module[-3:] == '.py' or module[-4:] == '.pyc' or module == '__pycache__' : + continue + print(module) + __import__(module, locals(), globals(), [], 1) +del module +del os diff --git a/Code/MonoMultiViewClassifiers/__init__.py b/Code/MonoMultiViewClassifiers/__init__.py index 7ad3b163..64731a57 100644 --- a/Code/MonoMultiViewClassifiers/__init__.py +++ b/Code/MonoMultiViewClassifiers/__init__.py @@ -1,3 +1,3 @@ -from . import ExecClassif, ResultAnalysis, Metrics, MonoviewClassifiers, Monoview, Multiview, utils +from . import ExecClassif, ResultAnalysis, Metrics, MonoviewClassifiers, Monoview, Multiview, utils, MultiviewClassifiers __all__ = ['Metrics', 'Monoview', 'MonoviewClassifiers', 'Multiview', 'utils'] diff --git a/Code/MonoMultiViewClassifiers/utils/Dataset.py b/Code/MonoMultiViewClassifiers/utils/Dataset.py index a2a1bd16..7c74fc76 100644 --- a/Code/MonoMultiViewClassifiers/utils/Dataset.py +++ b/Code/MonoMultiViewClassifiers/utils/Dataset.py @@ -1,10 +1,12 @@ -from scipy import sparse -import numpy as np import logging import os -import sys import select -from ..Multiview import GetMultiviewDb as DB +import sys + +import numpy as np +from scipy import sparse + +from . import GetMultiviewDb as DB def getV(DATASET, viewIndex, usedIndices=None): diff --git a/Code/MonoMultiViewClassifiers/Multiview/GetMultiviewDb.py b/Code/MonoMultiViewClassifiers/utils/GetMultiviewDb.py similarity index 100% rename from Code/MonoMultiViewClassifiers/Multiview/GetMultiviewDb.py rename to Code/MonoMultiViewClassifiers/utils/GetMultiviewDb.py -- GitLab