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