diff --git a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/BoostUtils.py b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/BoostUtils.py index 964f92254908fc9fe76b8fcb33173d79eb82a9a5..90dca128ea48bdbff1633cf854200c8e5ef8ebfb 100644 --- a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/BoostUtils.py +++ b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/BoostUtils.py @@ -202,12 +202,12 @@ class StumpsClassifiersGenerator(ClassifiersGenerator): self.estimators_ += [DecisionStumpClassifier(i, (different[stump_number]+different[ stump_number+1])/2, 1).fit(X, y) - for stump_number in range(nb_different-1)] + for stump_number in range(int(nb_different)-1)] if self.self_complemented: self.estimators_ += [DecisionStumpClassifier(i, (different[stump_number] + different[ stump_number + 1]) / 2, -1).fit(X, y) - for stump_number in range(nb_different-1)] + for stump_number in range(int(nb_different)-1)] else: self.estimators_ += [DecisionStumpClassifier(i, minimums[i] + ranges[i] * stump_number, 1).fit(X, y) for stump_number in range(1, self.n_stumps_per_attribute + 1) diff --git a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py index c7ebf500968c67104e7f1e4594a26352c6286e46..18367d718432c643db1dab378ae9f9a70a59c7f2 100644 --- a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py +++ b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py @@ -22,7 +22,7 @@ class ColumnGenerationClassifier(BaseEstimator, ClassifierMixin, BaseBoost): self.dual_constraint_rhs = dual_constraint_rhs self.mu = mu self.train_time = 0 - self.plotted_metric = Metrics.accuracy_score + self.plotted_metric = Metrics.zero_one_loss def fit(self, X, y): start = time.time() diff --git a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/QarBoostUtils.py b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/QarBoostUtils.py index 09277d17ee7114bb687b9c862f5e53d72dbdf5b9..bc2aac34ad9427fb780206c836a92bae50fdc727 100644 --- a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/QarBoostUtils.py +++ b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/QarBoostUtils.py @@ -502,6 +502,7 @@ class ColumnGenerationClassifierQar(BaseEstimator, ClassifierMixin, BaseBoost): np.savetxt(directory+"y_train.csv", self.y_train, delimiter=',') np.savetxt(directory + "raw_weights.csv", self.raw_weights, delimiter=',') np.savetxt(directory + "c_bounds.csv", self.c_bounds, delimiter=',') + np.savetxt(directory + "train_metrics.csv", self.train_metrics, delimiter=',') args_dict = dict( (arg_name, str(self.__dict__[arg_name])) for arg_name in self.printed_args_name_list) diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py index 0bdc49779defbcd502fc5f4a3f45563791e87659..68c1b2d083bec665a07663a16091da789e30b57a 100644 --- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py +++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/Adaboost.py @@ -46,6 +46,7 @@ class Adaboost(AdaBoostClassifier, BaseMonoviewClassifier): interpretString += "\n\n Estimator error | Estimator weight\n" interpretString += "\n".join([str(error) +" | "+ str(weight/sum(self.estimator_weights_)) for error, weight in zip(self.estimator_errors_, self.estimator_weights_)]) get_accuracy_graph(self.metrics, "Adaboost", directory+"metrics.png", self.plotted_metric_name, bounds=list(self.bounds)) + np.savetxt(directory + "train_metrics.csv", self.metrics, delimiter=',') return interpretString diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py index 3d57fe81f33c75423a1ab8518c39b57ae9528e64..ea3c4f1eaffc39da995a16132522ec5e9b9734e4 100644 --- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py +++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py @@ -2,6 +2,7 @@ from ..Monoview.MonoviewUtils import CustomUniform, CustomRandint, BaseMonoviewC from ..Monoview.Additions.CQBoostUtils import ColumnGenerationClassifier from ..Monoview.Additions.BoostUtils import getInterpretBase +import numpy as np class CQBoost(ColumnGenerationClassifier, BaseMonoviewClassifier): @@ -22,6 +23,7 @@ class CQBoost(ColumnGenerationClassifier, BaseMonoviewClassifier): return True def getInterpret(self, directory, y_test): + np.savetxt(directory + "train_metrics.csv", self.train_metrics, delimiter=',') return getInterpretBase(self, directory, "CQBoost", self.weights_, y_test)