From 258ada8c7e5025f984b03343596557abe8d3f5a4 Mon Sep 17 00:00:00 2001 From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr> Date: Tue, 15 Nov 2022 08:34:00 -0500 Subject: [PATCH] Expes th" --- .../monoview_classifiers/adaboost_graalpy.py | 1 + .../monoview_classifiers/adaboost_pregen.py | 2 +- .../monoview_classifiers/additions/CBBoostUtils.py | 4 ++-- .../multiview_platform/monoview_classifiers/bagged_spkm.py | 1 + summit/multiview_platform/monoview_classifiers/bagging.py | 1 + .../monoview_classifiers/bagging_pregen.py | 1 + summit/multiview_platform/monoview_classifiers/cb_boost.py | 7 +++++-- .../monoview_classifiers/cb_gradient_boost.py | 1 + summit/multiview_platform/monoview_classifiers/cg_desc.py | 1 + summit/multiview_platform/monoview_classifiers/cq_boost.py | 1 + .../monoview_classifiers/decision_tree_pregen.py | 1 + .../monoview_classifiers/gradient_boosting_pregen.py | 1 + .../monoview_classifiers/hm_gb_cbound.py | 1 + .../monoview_classifiers/ib_random_forest.py | 1 + .../monoview_classifiers/ib_random_scm.py | 1 + summit/multiview_platform/monoview_classifiers/ib_scm.py | 1 + .../monoview_classifiers/imbalance_bagging.py | 1 + summit/multiview_platform/monoview_classifiers/knn.py | 1 + summit/multiview_platform/monoview_classifiers/min_cq.py | 1 + .../monoview_classifiers/min_cq_graalpy.py | 1 + .../monoview_classifiers/pregen_gradient_boost.py | 5 +++-- .../monoview_classifiers/random_forest_pregen.py | 1 + .../multiview_platform/monoview_classifiers/scm_mazid.py | 1 + .../multiview_platform/monoview_classifiers/scm_pregen.py | 1 + .../multiview_platform/monoview_classifiers/self_opt_cb.py | 1 + .../monoview_classifiers/self_opt_cb_pseudo.py | 1 + .../monoview_classifiers/self_opt_cb_root.py | 1 + summit/multiview_platform/monoview_classifiers/sgd.py | 1 + summit/multiview_platform/monoview_classifiers/spkm.py | 1 + .../multiview_platform/monoview_classifiers/svm_linear.py | 2 +- summit/multiview_platform/monoview_classifiers/svm_poly.py | 2 +- summit/multiview_platform/multiview/multiview_utils.py | 4 +++- 32 files changed, 41 insertions(+), 10 deletions(-) diff --git a/summit/multiview_platform/monoview_classifiers/adaboost_graalpy.py b/summit/multiview_platform/monoview_classifiers/adaboost_graalpy.py index 6cf2425b..bca4883e 100644 --- a/summit/multiview_platform/monoview_classifiers/adaboost_graalpy.py +++ b/summit/multiview_platform/monoview_classifiers/adaboost_graalpy.py @@ -11,6 +11,7 @@ from ..monoview.monoview_utils import CustomRandint, \ BaseMonoviewClassifier, change_label_to_minus, change_label_to_zero classifier_class_name = "AdaboostGraalpy" +proto=True class AdaBoostGP(BaseEstimator, ClassifierMixin, BaseBoost): """Scikit-Learn compatible AdaBoost classifier. Original code by Pascal Germain, adapted by Jean-Francis Roy. diff --git a/summit/multiview_platform/monoview_classifiers/adaboost_pregen.py b/summit/multiview_platform/monoview_classifiers/adaboost_pregen.py index 43589981..5b32fed3 100644 --- a/summit/multiview_platform/monoview_classifiers/adaboost_pregen.py +++ b/summit/multiview_platform/monoview_classifiers/adaboost_pregen.py @@ -16,7 +16,7 @@ __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "AdaboostPregen" - +proto=True class AdaboostPregen(AdaBoostClassifier, BaseMonoviewClassifier, PregenClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/additions/CBBoostUtils.py b/summit/multiview_platform/monoview_classifiers/additions/CBBoostUtils.py index 8d473e08..5b700216 100644 --- a/summit/multiview_platform/monoview_classifiers/additions/CBBoostUtils.py +++ b/summit/multiview_platform/monoview_classifiers/additions/CBBoostUtils.py @@ -316,11 +316,11 @@ class CBBoostClassifier(BaseEstimator, ClassifierMixin, BaseBoost): def init_hypotheses(self, X, y): """Inintialization for the hyptotheses used to build the boosted vote""" - if self.estimators_generator is "Stumps": + if self.estimators_generator == "Stumps": self.estimators_generator = StumpsClassifiersGenerator( n_stumps_per_attribute=self.n_stumps, self_complemented=self.self_complemented) - if self.estimators_generator is "Trees": + if self.estimators_generator == "Trees": self.estimators_generator = TreeClassifiersGenerator( n_trees=self.n_stumps, max_depth=self.max_depth, self_complemented=self.self_complemented) diff --git a/summit/multiview_platform/monoview_classifiers/bagged_spkm.py b/summit/multiview_platform/monoview_classifiers/bagged_spkm.py index 1a74f064..ebf32547 100644 --- a/summit/multiview_platform/monoview_classifiers/bagged_spkm.py +++ b/summit/multiview_platform/monoview_classifiers/bagged_spkm.py @@ -11,6 +11,7 @@ from ..utils.hyper_parameter_search import CustomRandint from ..monoview_classifiers.spkm import SPKM classifier_class_name = "BaggedSPKM" +proto=True class BaggedSPKM(BaseMonoviewClassifier, SPKMlikeSklearn): diff --git a/summit/multiview_platform/monoview_classifiers/bagging.py b/summit/multiview_platform/monoview_classifiers/bagging.py index 56c51b77..0a89ace2 100644 --- a/summit/multiview_platform/monoview_classifiers/bagging.py +++ b/summit/multiview_platform/monoview_classifiers/bagging.py @@ -16,6 +16,7 @@ __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "Bagging" +proto=True class Bagging(BaggingClassifier, BaseMonoviewClassifier,): """ diff --git a/summit/multiview_platform/monoview_classifiers/bagging_pregen.py b/summit/multiview_platform/monoview_classifiers/bagging_pregen.py index f4c7c1a6..4edebd45 100644 --- a/summit/multiview_platform/monoview_classifiers/bagging_pregen.py +++ b/summit/multiview_platform/monoview_classifiers/bagging_pregen.py @@ -16,6 +16,7 @@ __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "BaggingPregen" +proto=True class BaggingPregen(BaggingClassifier, BaseMonoviewClassifier, PregenClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/cb_boost.py b/summit/multiview_platform/monoview_classifiers/cb_boost.py index bd91c954..56e980cb 100644 --- a/summit/multiview_platform/monoview_classifiers/cb_boost.py +++ b/summit/multiview_platform/monoview_classifiers/cb_boost.py @@ -77,8 +77,11 @@ class CBBoost(CBBoostClassifier, BaseMonoviewClassifier): ------- """ - interpret_string = self.getInterpretCBBoost(directory, base_file_name, y_test) - interpret_string += self.get_feature_importance(directory, base_file_name) + interpret_string = self.getInterpretCBBoost(directory, base_file_name, + y_test) + interpret_string += self.get_feature_importance(directory, + base_file_name, + feature_ids) return interpret_string def get_name_for_fusion(self): diff --git a/summit/multiview_platform/monoview_classifiers/cb_gradient_boost.py b/summit/multiview_platform/monoview_classifiers/cb_gradient_boost.py index b9c1c71f..9020de7c 100644 --- a/summit/multiview_platform/monoview_classifiers/cb_gradient_boost.py +++ b/summit/multiview_platform/monoview_classifiers/cb_gradient_boost.py @@ -23,6 +23,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "CBGradientBoosting" +proto=True class CustomDecisionTreeGB(DecisionTreeClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/cg_desc.py b/summit/multiview_platform/monoview_classifiers/cg_desc.py index a42547fc..ca04a97d 100644 --- a/summit/multiview_platform/monoview_classifiers/cg_desc.py +++ b/summit/multiview_platform/monoview_classifiers/cg_desc.py @@ -3,6 +3,7 @@ from ..monoview.monoview_utils import BaseMonoviewClassifier, CustomRandint classifier_class_name = "CGDesc" +proto=True class CGDesc(ColumnGenerationClassifierQar, BaseMonoviewClassifier): """ diff --git a/summit/multiview_platform/monoview_classifiers/cq_boost.py b/summit/multiview_platform/monoview_classifiers/cq_boost.py index 202829eb..d454b991 100644 --- a/summit/multiview_platform/monoview_classifiers/cq_boost.py +++ b/summit/multiview_platform/monoview_classifiers/cq_boost.py @@ -6,6 +6,7 @@ from ..monoview.monoview_utils import BaseMonoviewClassifier from ..utils.hyper_parameter_search import CustomRandint, CustomUniform classifier_class_name = "CQBoost" +proto=True class CQBoost(ColumnGenerationClassifier, BaseMonoviewClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/decision_tree_pregen.py b/summit/multiview_platform/monoview_classifiers/decision_tree_pregen.py index bbcb76f2..96b0aaa1 100644 --- a/summit/multiview_platform/monoview_classifiers/decision_tree_pregen.py +++ b/summit/multiview_platform/monoview_classifiers/decision_tree_pregen.py @@ -12,6 +12,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "DecisionTreePregen" +proto=True class DecisionTreePregen(DecisionTreeClassifier, BaseMonoviewClassifier, PregenClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/gradient_boosting_pregen.py b/summit/multiview_platform/monoview_classifiers/gradient_boosting_pregen.py index 1b302cc1..0ac5d519 100644 --- a/summit/multiview_platform/monoview_classifiers/gradient_boosting_pregen.py +++ b/summit/multiview_platform/monoview_classifiers/gradient_boosting_pregen.py @@ -17,6 +17,7 @@ __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "GradientBoostingPregen" +proto=True class GradientBoostingPregen(GradientBoostingClassifier, BaseMonoviewClassifier, PregenClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/hm_gb_cbound.py b/summit/multiview_platform/monoview_classifiers/hm_gb_cbound.py index cc1f1e11..24ee1097 100644 --- a/summit/multiview_platform/monoview_classifiers/hm_gb_cbound.py +++ b/summit/multiview_platform/monoview_classifiers/hm_gb_cbound.py @@ -7,6 +7,7 @@ import numpy.ma as ma import math classifier_class_name = "CBBoostGradientBoosting" +proto=True class CBBoostGradientBoosting(CBBoostClassifier, BaseMonoviewClassifier): """ diff --git a/summit/multiview_platform/monoview_classifiers/ib_random_forest.py b/summit/multiview_platform/monoview_classifiers/ib_random_forest.py index 2a96fa95..7f4517a1 100644 --- a/summit/multiview_platform/monoview_classifiers/ib_random_forest.py +++ b/summit/multiview_platform/monoview_classifiers/ib_random_forest.py @@ -8,6 +8,7 @@ from ..utils.base import base_boosting_estimators from ..utils.hyper_parameter_search import CustomRandint, CustomUniform classifier_class_name = "IBRF" +proto=True class IBRF(BaseMonoviewClassifier, BalancedBaggingClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/ib_random_scm.py b/summit/multiview_platform/monoview_classifiers/ib_random_scm.py index f6a2e6e9..11bd34b6 100644 --- a/summit/multiview_platform/monoview_classifiers/ib_random_scm.py +++ b/summit/multiview_platform/monoview_classifiers/ib_random_scm.py @@ -8,6 +8,7 @@ from ..utils.base import base_boosting_estimators from ..utils.hyper_parameter_search import CustomRandint, CustomUniform classifier_class_name = "IBRSCM" +proto=True class IBRSCM(BaseMonoviewClassifier, BalancedBaggingClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/ib_scm.py b/summit/multiview_platform/monoview_classifiers/ib_scm.py index aadbae57..d7e38613 100644 --- a/summit/multiview_platform/monoview_classifiers/ib_scm.py +++ b/summit/multiview_platform/monoview_classifiers/ib_scm.py @@ -7,6 +7,7 @@ from ..utils.base import base_boosting_estimators from ..utils.hyper_parameter_search import CustomRandint, CustomUniform classifier_class_name = "IBSCM" +proto=True class IBSCM(BaseMonoviewClassifier, BalancedBaggingClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/imbalance_bagging.py b/summit/multiview_platform/monoview_classifiers/imbalance_bagging.py index 525b52aa..f0b34878 100644 --- a/summit/multiview_platform/monoview_classifiers/imbalance_bagging.py +++ b/summit/multiview_platform/monoview_classifiers/imbalance_bagging.py @@ -7,6 +7,7 @@ from ..utils.base import base_boosting_estimators from ..utils.hyper_parameter_search import CustomRandint, CustomUniform classifier_class_name = "ImbalanceBagging" +proto=True class ImbalanceBagging(BaseMonoviewClassifier, BalancedBaggingClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/knn.py b/summit/multiview_platform/monoview_classifiers/knn.py index c23d4d3f..0281e4fc 100644 --- a/summit/multiview_platform/monoview_classifiers/knn.py +++ b/summit/multiview_platform/monoview_classifiers/knn.py @@ -8,6 +8,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "KNN" +proto=True class KNN(KNeighborsClassifier, BaseMonoviewClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/min_cq.py b/summit/multiview_platform/monoview_classifiers/min_cq.py index dfc294af..23298f1c 100644 --- a/summit/multiview_platform/monoview_classifiers/min_cq.py +++ b/summit/multiview_platform/monoview_classifiers/min_cq.py @@ -23,6 +23,7 @@ from .additions.BoostUtils import ConvexProgram as QP classifier_class_name = "MinCQ" +proto=True # from majority_vote import MajorityVote # from voter import StumpsVotersGenerator, KernelVotersGenerator diff --git a/summit/multiview_platform/monoview_classifiers/min_cq_graalpy.py b/summit/multiview_platform/monoview_classifiers/min_cq_graalpy.py index 6d1ea085..9c39e5ee 100644 --- a/summit/multiview_platform/monoview_classifiers/min_cq_graalpy.py +++ b/summit/multiview_platform/monoview_classifiers/min_cq_graalpy.py @@ -6,6 +6,7 @@ from ..monoview.monoview_utils import BaseMonoviewClassifier from ..utils.hyper_parameter_search import CustomRandint, CustomUniform classifier_class_name = "MinCQGraalpy" +proto=True class MinCQGraalpy(RegularizedBinaryMinCqClassifier, BaseMonoviewClassifier): """ diff --git a/summit/multiview_platform/monoview_classifiers/pregen_gradient_boost.py b/summit/multiview_platform/monoview_classifiers/pregen_gradient_boost.py index f9de6c81..3d11cea8 100644 --- a/summit/multiview_platform/monoview_classifiers/pregen_gradient_boost.py +++ b/summit/multiview_platform/monoview_classifiers/pregen_gradient_boost.py @@ -17,6 +17,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "PGradientBoosting" +proto=True class CustomDecisionTreeGB(DecisionTreeClassifier): @@ -59,11 +60,11 @@ class PGradientBoosting(GradientBoostingClassifier, BaseMonoviewClassifier, Base def pregen_voters(self, X, y=None, generator="Stumps"): if y is not None: neg_y = change_label_to_minus(y) - if generator is "Stumps": + if generator == "Stumps": self.estimators_generator = StumpsClassifiersGenerator( n_stumps_per_attribute=self.n_stumps, self_complemented=self.self_complemented) - elif generator is "Trees": + elif generator == "Trees": self.estimators_generator = TreeClassifiersGenerator( n_trees=self.n_stumps, max_depth=self.max_depth_pregen) self.estimators_generator.fit(X, neg_y) diff --git a/summit/multiview_platform/monoview_classifiers/random_forest_pregen.py b/summit/multiview_platform/monoview_classifiers/random_forest_pregen.py index fe54b17a..31795606 100644 --- a/summit/multiview_platform/monoview_classifiers/random_forest_pregen.py +++ b/summit/multiview_platform/monoview_classifiers/random_forest_pregen.py @@ -17,6 +17,7 @@ __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "RandomForestPregen" +proto=True class RandomForestPregen(RandomForestClassifier, BaseMonoviewClassifier, PregenClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/scm_mazid.py b/summit/multiview_platform/monoview_classifiers/scm_mazid.py index 023e92a3..f25d6e01 100644 --- a/summit/multiview_platform/monoview_classifiers/scm_mazid.py +++ b/summit/multiview_platform/monoview_classifiers/scm_mazid.py @@ -9,6 +9,7 @@ from ..monoview.monoview_utils import BaseMonoviewClassifier from ..utils.hyper_parameter_search import CustomUniform, CustomRandint classifier_class_name = 'DecisionStumpSCMNew' +proto=True class DecisionStumpSCMNew(BaseMonoviewClassifier): """ diff --git a/summit/multiview_platform/monoview_classifiers/scm_pregen.py b/summit/multiview_platform/monoview_classifiers/scm_pregen.py index 939661ce..dd2c8d50 100644 --- a/summit/multiview_platform/monoview_classifiers/scm_pregen.py +++ b/summit/multiview_platform/monoview_classifiers/scm_pregen.py @@ -12,6 +12,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "SCMPregen" +proto=True class SCMPregen(BaseMonoviewClassifier, PregenClassifier, scm): """ diff --git a/summit/multiview_platform/monoview_classifiers/self_opt_cb.py b/summit/multiview_platform/monoview_classifiers/self_opt_cb.py index 711e2629..aea3b0a8 100644 --- a/summit/multiview_platform/monoview_classifiers/self_opt_cb.py +++ b/summit/multiview_platform/monoview_classifiers/self_opt_cb.py @@ -1,6 +1,7 @@ from .additions.SelOptCB import SelfOptCBBoostClassifier classifier_class_name = "SelfOptCBBoostBaseStump" +proto=True class SelfOptCBBoostBaseStump(SelfOptCBBoostClassifier): def __init__(self, n_max_iterations=10, random_state=42, twice_the_same=True, diff --git a/summit/multiview_platform/monoview_classifiers/self_opt_cb_pseudo.py b/summit/multiview_platform/monoview_classifiers/self_opt_cb_pseudo.py index 18f028c8..80913fc1 100644 --- a/summit/multiview_platform/monoview_classifiers/self_opt_cb_pseudo.py +++ b/summit/multiview_platform/monoview_classifiers/self_opt_cb_pseudo.py @@ -1,6 +1,7 @@ from .additions.SelOptCB import SelfOptCBBoostClassifier classifier_class_name = "SelfOptCBBoostBaseStump" +proto=True class SelfOptCBBoostBaseStump(SelfOptCBBoostClassifier): def __init__(self, n_max_iterations=10, random_state=42, twice_the_same=True, diff --git a/summit/multiview_platform/monoview_classifiers/self_opt_cb_root.py b/summit/multiview_platform/monoview_classifiers/self_opt_cb_root.py index d7f671f0..385f3656 100644 --- a/summit/multiview_platform/monoview_classifiers/self_opt_cb_root.py +++ b/summit/multiview_platform/monoview_classifiers/self_opt_cb_root.py @@ -1,6 +1,7 @@ from .additions.SelOptCB import SelfOptCBBoostClassifier classifier_class_name = "SelfOptCBBoostBaseStump" +proto=True class SelfOptCBBoostBaseStump(SelfOptCBBoostClassifier): def __init__(self, n_max_iterations=10, random_state=42, twice_the_same=True, diff --git a/summit/multiview_platform/monoview_classifiers/sgd.py b/summit/multiview_platform/monoview_classifiers/sgd.py index 312a2bf2..18314c06 100644 --- a/summit/multiview_platform/monoview_classifiers/sgd.py +++ b/summit/multiview_platform/monoview_classifiers/sgd.py @@ -8,6 +8,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "SGD" +proto=True class SGD(SGDClassifier, BaseMonoviewClassifier): diff --git a/summit/multiview_platform/monoview_classifiers/spkm.py b/summit/multiview_platform/monoview_classifiers/spkm.py index 4c9aeebd..7c6f4c7c 100644 --- a/summit/multiview_platform/monoview_classifiers/spkm.py +++ b/summit/multiview_platform/monoview_classifiers/spkm.py @@ -9,6 +9,7 @@ from ..utils.hyper_parameter_search import CustomRandint from ..utils.dataset import get_samples_views_indices classifier_class_name = "SPKM" +proto=True class SPKM(BaseMonoviewClassifier, SPKMlikeSklearn): diff --git a/summit/multiview_platform/monoview_classifiers/svm_linear.py b/summit/multiview_platform/monoview_classifiers/svm_linear.py index e6f7fb1e..48e4d17b 100644 --- a/summit/multiview_platform/monoview_classifiers/svm_linear.py +++ b/summit/multiview_platform/monoview_classifiers/svm_linear.py @@ -8,7 +8,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "SVMLinear" - +proto=True class SVMLinear(SVCClassifier, BaseMonoviewClassifier): """ diff --git a/summit/multiview_platform/monoview_classifiers/svm_poly.py b/summit/multiview_platform/monoview_classifiers/svm_poly.py index c1c9da6e..7d950e94 100644 --- a/summit/multiview_platform/monoview_classifiers/svm_poly.py +++ b/summit/multiview_platform/monoview_classifiers/svm_poly.py @@ -11,7 +11,7 @@ __author__ = "Baptiste Bauvin" __status__ = "Prototype" # Production, Development, Prototype classifier_class_name = "SVMPoly" - +proto=True class SVMPoly(SVCClassifier, BaseMonoviewClassifier): """ diff --git a/summit/multiview_platform/multiview/multiview_utils.py b/summit/multiview_platform/multiview/multiview_utils.py index 93a56639..19fb7ee8 100644 --- a/summit/multiview_platform/multiview/multiview_utils.py +++ b/summit/multiview_platform/multiview/multiview_utils.py @@ -140,7 +140,9 @@ def get_available_monoview_classifiers(need_probas=False): available_classifiers = [module_name for module_name in dir(monoview_classifiers) if not ( - module_name.startswith("__") or module_name == "additions")] + module_name.startswith("__") or + module_name == "additions" or + hasattr(getattr(monoview_classifiers, module_name), "proto"))] if need_probas: proba_classifiers = [] for module_name in available_classifiers: -- GitLab