From d3601a40483fac5ea68680052dce998aa3a0db7c Mon Sep 17 00:00:00 2001
From: Dominique Benielli <dominique.benielli@lis-lab.fr>
Date: Thu, 23 Jul 2020 16:07:11 +0200
Subject: [PATCH] change cumbo to combo

---
 copyrightstamp.txt                            |   2 +-
 doc/reference/api.rst                         |   2 +-
 ...x_glr_plot_cumbo_2_views_2_classes_001.png | Bin
 ...x_glr_plot_cumbo_3_views_3_classes_001.png | Bin
 ...glr_plot_cumbo_2_views_2_classes_thumb.png | Bin
 ...glr_plot_cumbo_3_views_3_classes_thumb.png | Bin
 .../plot_cumbo_2_views_2_classes.ipynb        |   0
 .../plot_cumbo_2_views_2_classes.py           |   0
 .../plot_cumbo_2_views_2_classes.py.md5       |   0
 .../plot_cumbo_2_views_2_classes.rst          |   0
 ...lot_cumbo_2_views_2_classes_codeobj.pickle | Bin
 .../plot_cumbo_3_views_3_classes.ipynb        |   0
 .../plot_cumbo_3_views_3_classes.py           |   0
 .../plot_cumbo_3_views_3_classes.py.md5       |   0
 .../plot_cumbo_3_views_3_classes.rst          |   0
 ...lot_cumbo_3_views_3_classes_codeobj.pickle | Bin
 .../{cumbo => combo}/sg_execution_times.rst   |   0
 examples/{cumbo => combo}/README.txt          |   0
 .../plot_combo_2_views_2_classes.py}          |   4 +-
 .../plot_combo_3_views_3_classes.py}          |   8 +-
 ...CuBo.py => plot_usecase_exampleMuComBo.py} |   2 +-
 multimodal/boosting/__init__.py               |   4 +-
 multimodal/boosting/boost.py                  |   4 +-
 multimodal/boosting/{cumbo.py => combo.py}    |  26 ++--
 multimodal/boosting/mumbo.py                  |   2 +-
 multimodal/kernels/lpMKL.py                   |   2 +-
 multimodal/kernels/mkernel.py                 |   2 +-
 multimodal/kernels/mvml.py                    |   2 +-
 .../tests/{test_cumbo.py => test_combo.py}    | 140 +++++++++---------
 multimodal/tests/test_data_sample.py          |   2 +-
 multimodal/tests/test_mkl.py                  |   2 +-
 multimodal/tests/test_mumbo.py                |   2 +-
 multimodal/tests/test_mvml.py                 |   2 +-
 setup.py                                      |   2 +-
 34 files changed, 105 insertions(+), 105 deletions(-)
 rename doc/tutorial/auto_examples/{cumbo => combo}/images/sphx_glr_plot_cumbo_2_views_2_classes_001.png (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/images/sphx_glr_plot_cumbo_3_views_3_classes_001.png (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/images/thumb/sphx_glr_plot_cumbo_2_views_2_classes_thumb.png (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/images/thumb/sphx_glr_plot_cumbo_3_views_3_classes_thumb.png (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_2_views_2_classes.ipynb (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_2_views_2_classes.py (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_2_views_2_classes.py.md5 (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_2_views_2_classes.rst (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_2_views_2_classes_codeobj.pickle (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_3_views_3_classes.ipynb (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_3_views_3_classes.py (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_3_views_3_classes.py.md5 (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_3_views_3_classes.rst (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/plot_cumbo_3_views_3_classes_codeobj.pickle (100%)
 rename doc/tutorial/auto_examples/{cumbo => combo}/sg_execution_times.rst (100%)
 rename examples/{cumbo => combo}/README.txt (100%)
 rename examples/{cumbo/plot_cumbo_2_views_2_classes.py => combo/plot_combo_2_views_2_classes.py} (97%)
 rename examples/{cumbo/plot_cumbo_3_views_3_classes.py => combo/plot_combo_3_views_3_classes.py} (95%)
 rename examples/usecase/{plot_usecase_exampleMuCuBo.py => plot_usecase_exampleMuComBo.py} (98%)
 rename multimodal/boosting/{cumbo.py => combo.py} (97%)
 rename multimodal/tests/{test_cumbo.py => test_combo.py} (93%)

diff --git a/copyrightstamp.txt b/copyrightstamp.txt
index b3d76ec..c863e02 100644
--- a/copyrightstamp.txt
+++ b/copyrightstamp.txt
@@ -23,7 +23,7 @@ Description:
 -----------
 
 The multimodal package implement classifiers multiview, 
-MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 compatible with sklearn
 
 Version:
diff --git a/doc/reference/api.rst b/doc/reference/api.rst
index e680643..da894f4 100644
--- a/doc/reference/api.rst
+++ b/doc/reference/api.rst
@@ -23,7 +23,7 @@ multimodal.boosting.mumbo
 multimodal.boosting.cumbo
 +++++++++++++++++++++++++
 
-.. automodule:: multimodal.boosting.cumbo
+.. automodule:: multimodal.boosting.combo
    :members:
    :inherited-members:
 
diff --git a/doc/tutorial/auto_examples/cumbo/images/sphx_glr_plot_cumbo_2_views_2_classes_001.png b/doc/tutorial/auto_examples/combo/images/sphx_glr_plot_cumbo_2_views_2_classes_001.png
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/images/sphx_glr_plot_cumbo_2_views_2_classes_001.png
rename to doc/tutorial/auto_examples/combo/images/sphx_glr_plot_cumbo_2_views_2_classes_001.png
diff --git a/doc/tutorial/auto_examples/cumbo/images/sphx_glr_plot_cumbo_3_views_3_classes_001.png b/doc/tutorial/auto_examples/combo/images/sphx_glr_plot_cumbo_3_views_3_classes_001.png
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/images/sphx_glr_plot_cumbo_3_views_3_classes_001.png
rename to doc/tutorial/auto_examples/combo/images/sphx_glr_plot_cumbo_3_views_3_classes_001.png
diff --git a/doc/tutorial/auto_examples/cumbo/images/thumb/sphx_glr_plot_cumbo_2_views_2_classes_thumb.png b/doc/tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_cumbo_2_views_2_classes_thumb.png
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/images/thumb/sphx_glr_plot_cumbo_2_views_2_classes_thumb.png
rename to doc/tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_cumbo_2_views_2_classes_thumb.png
diff --git a/doc/tutorial/auto_examples/cumbo/images/thumb/sphx_glr_plot_cumbo_3_views_3_classes_thumb.png b/doc/tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_cumbo_3_views_3_classes_thumb.png
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/images/thumb/sphx_glr_plot_cumbo_3_views_3_classes_thumb.png
rename to doc/tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_cumbo_3_views_3_classes_thumb.png
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.ipynb b/doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.ipynb
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.ipynb
rename to doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.ipynb
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.py b/doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.py
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.py
rename to doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.py
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.py.md5 b/doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.py.md5
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.py.md5
rename to doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.py.md5
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.rst b/doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.rst
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes.rst
rename to doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes.rst
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes_codeobj.pickle b/doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes_codeobj.pickle
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_2_views_2_classes_codeobj.pickle
rename to doc/tutorial/auto_examples/combo/plot_cumbo_2_views_2_classes_codeobj.pickle
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.ipynb b/doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.ipynb
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.ipynb
rename to doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.ipynb
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.py b/doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.py
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.py
rename to doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.py
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.py.md5 b/doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.py.md5
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.py.md5
rename to doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.py.md5
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.rst b/doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.rst
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes.rst
rename to doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes.rst
diff --git a/doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes_codeobj.pickle b/doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes_codeobj.pickle
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/plot_cumbo_3_views_3_classes_codeobj.pickle
rename to doc/tutorial/auto_examples/combo/plot_cumbo_3_views_3_classes_codeobj.pickle
diff --git a/doc/tutorial/auto_examples/cumbo/sg_execution_times.rst b/doc/tutorial/auto_examples/combo/sg_execution_times.rst
similarity index 100%
rename from doc/tutorial/auto_examples/cumbo/sg_execution_times.rst
rename to doc/tutorial/auto_examples/combo/sg_execution_times.rst
diff --git a/examples/cumbo/README.txt b/examples/combo/README.txt
similarity index 100%
rename from examples/cumbo/README.txt
rename to examples/combo/README.txt
diff --git a/examples/cumbo/plot_cumbo_2_views_2_classes.py b/examples/combo/plot_combo_2_views_2_classes.py
similarity index 97%
rename from examples/cumbo/plot_cumbo_2_views_2_classes.py
rename to examples/combo/plot_combo_2_views_2_classes.py
index 77d0588..7c25791 100644
--- a/examples/cumbo/plot_cumbo_2_views_2_classes.py
+++ b/examples/combo/plot_combo_2_views_2_classes.py
@@ -23,7 +23,7 @@ rightly classify the points.
 """
 
 import numpy as np
-from multimodal.boosting.cumbo import MuCumboClassifier
+from multimodal.boosting.combo import MuComboClassifier
 from matplotlib import pyplot as plt
 
 
@@ -59,7 +59,7 @@ y[2*n_samples:] = 1
 views_ind = np.array([0, 2, 4])
 
 n_estimators = 3
-clf = MuCumboClassifier(n_estimators=n_estimators)
+clf = MuComboClassifier(n_estimators=n_estimators)
 clf.fit(X, y, views_ind)
 
 print('\nAfter 3 iterations, the MuCuMBo classifier reaches exact '
diff --git a/examples/cumbo/plot_cumbo_3_views_3_classes.py b/examples/combo/plot_combo_3_views_3_classes.py
similarity index 95%
rename from examples/cumbo/plot_cumbo_3_views_3_classes.py
rename to examples/combo/plot_combo_3_views_3_classes.py
index 058b2dc..205c61d 100644
--- a/examples/cumbo/plot_cumbo_3_views_3_classes.py
+++ b/examples/combo/plot_combo_3_views_3_classes.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
 ==================================
-MuCumbo 3 views, 3 classes example
+MuCombo 3 views, 3 classes example
 ==================================
 
 In this toy example, we generate data from three classes, split between three
@@ -12,12 +12,12 @@ well seperated, while the points for the third class are not seperated with
 the two other classes. That means that, taken separately, none of the single
 views allows for a good classification of the data.
 
-Nevertheless, the MuCuMbo algorithm take adavantage of the complementarity of
+Nevertheless, the MuCoMbo algorithm take adavantage of the complementarity of
 the views to rightly classify the points.
 """
 
 import numpy as np
-from multimodal.boosting.cumbo import MuCumboClassifier
+from multimodal.boosting.combo import MuComboClassifier
 from matplotlib import pyplot as plt
 
 
@@ -56,7 +56,7 @@ y[2*n_samples:] = 2
 views_ind = np.array([0, 2, 4, 6])
 
 n_estimators = 4
-clf = MuCumboClassifier(n_estimators=n_estimators)
+clf = MuComboClassifier(n_estimators=n_estimators)
 clf.fit(X, y, views_ind)
 
 print('\nAfter 4 iterations, the MuCuMBo classifier reaches exact '
diff --git a/examples/usecase/plot_usecase_exampleMuCuBo.py b/examples/usecase/plot_usecase_exampleMuComBo.py
similarity index 98%
rename from examples/usecase/plot_usecase_exampleMuCuBo.py
rename to examples/usecase/plot_usecase_exampleMuComBo.py
index f3d7254..dc6ddba 100644
--- a/examples/usecase/plot_usecase_exampleMuCuBo.py
+++ b/examples/usecase/plot_usecase_exampleMuComBo.py
@@ -20,7 +20,7 @@ from multimodal.datasets.base import load_dict, save_dict
 from multimodal.tests.data.get_dataset_path import get_dataset_path
 from multimodal.datasets.data_sample import MultiModalArray
 
-from multimodal.boosting.cumbo import MuCumboClassifier
+from multimodal.boosting.combo import MuComboClassifier
 import numpy as np
 import matplotlib.pyplot as plt
 import matplotlib._color_data as mcd
diff --git a/multimodal/boosting/__init__.py b/multimodal/boosting/__init__.py
index bb0d1af..7aaa2a2 100644
--- a/multimodal/boosting/__init__.py
+++ b/multimodal/boosting/__init__.py
@@ -1,6 +1,6 @@
 from .mumbo import MumboClassifier
-from .cumbo import MuCumboClassifier
+from .combo import MuComboClassifier
 
-__all__ = ['MumboClassifier', 'MuCumboClassifier']
+__all__ = ['MumboClassifier', 'MuComboClassifier']
 
 
diff --git a/multimodal/boosting/boost.py b/multimodal/boosting/boost.py
index 3fd7f15..182a1fd 100644
--- a/multimodal/boosting/boost.py
+++ b/multimodal/boosting/boost.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
@@ -53,7 +53,7 @@ from multimodal.datasets.data_sample import MultiModalData, MultiModalArray, Mul
 
 class UBoosting(metaclass=ABCMeta):
     """
-    Abstract class MuCumboClassifier and  MumboClassifier should inherit from
+    Abstract class MuComboClassifier and  MumboClassifier should inherit from
     UBoosting for methods
     """
 
diff --git a/multimodal/boosting/cumbo.py b/multimodal/boosting/combo.py
similarity index 97%
rename from multimodal/boosting/cumbo.py
rename to multimodal/boosting/combo.py
index d32965b..2adfa87 100644
--- a/multimodal/boosting/cumbo.py
+++ b/multimodal/boosting/combo.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
@@ -42,7 +42,7 @@
 r"""
 
 This module contains a **Mu**\ lti\ **C**\ onfusion **M**\ Matrix **B**\ osting (**CuMBo**)
-estimator for classification implemented in the ``MuCumboClassifier`` class.
+estimator for classification implemented in the ``MuComboClassifier`` class.
 """
 
 import numpy as np
@@ -61,7 +61,7 @@ from .boost import UBoosting
 import warnings
 
 
-class MuCumboClassifier(BaseEnsemble, ClassifierMixin, UBoosting):
+class MuComboClassifier(BaseEnsemble, ClassifierMixin, UBoosting):
     r"""It then iterates the process on the same dataset but where the weights of
     incorrectly classified instances are adjusted such that subsequent
     classifiers focus more on difficult cases.
@@ -121,27 +121,27 @@ class MuCumboClassifier(BaseEnsemble, ClassifierMixin, UBoosting):
 
     Examples
     --------
-    >>> from multimodal.boosting.cumbo import MuCumboClassifier
+    >>> from multimodal.boosting.cumbo import MuComboClassifier
     >>> from sklearn.datasets import load_iris
     >>> X, y = load_iris(return_X_y=True)
     >>> views_ind = [0, 2, 4]  # view 0: sepal data, view 1: petal data
-    >>> clf = MuCumboClassifier(random_state=0)
+    >>> clf = MuComboClassifier(random_state=0)
     >>> clf.fit(X, y, views_ind)  # doctest: +NORMALIZE_WHITESPACE
-    MuCumboClassifier(base_estimator=None, n_estimators=50, random_state=0)
+    MuComboClassifier(base_estimator=None, n_estimators=50, random_state=0)
     >>> print(clf.predict([[ 5.,  3.,  1.,  1.]]))
     [0]
     >>> views_ind = [[0, 2], [1, 3]]  # view 0: length data, view 1: width data
-    >>> clf = MuCumboClassifier(random_state=0)
+    >>> clf = MuComboClassifier(random_state=0)
     >>> clf.fit(X, y, views_ind)  # doctest: +NORMALIZE_WHITESPACE
-    MuCumboClassifier(base_estimator=None, n_estimators=50, random_state=0)
+    MuComboClassifier(base_estimator=None, n_estimators=50, random_state=0)
     >>> print(clf.predict([[ 5.,  3.,  1.,  1.]]))
     [0]
 
     >>> from sklearn.tree import DecisionTreeClassifier
     >>> base_estimator = DecisionTreeClassifier(max_depth=2)
-    >>> clf = MuCumboClassifier(base_estimator=base_estimator, random_state=1)
+    >>> clf = MuComboClassifier(base_estimator=base_estimator, random_state=1)
     >>> clf.fit(X, y, views_ind)  # doctest: +NORMALIZE_WHITESPACE
-    MuCumboClassifier(base_estimator=DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=2,
+    MuComboClassifier(base_estimator=DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=2,
             max_features=None, max_leaf_nodes=None,
             min_impurity_decrease=0.0, min_impurity_split=None,
             min_samples_leaf=1, min_samples_split=2,
@@ -177,14 +177,14 @@ class MuCumboClassifier(BaseEnsemble, ClassifierMixin, UBoosting):
                  base_estimator=None,
                  n_estimators=50,
                  random_state=None): # n_estimators=50,
-        super(MuCumboClassifier, self).__init__(
+        super(MuComboClassifier, self).__init__(
             base_estimator=base_estimator,
             n_estimators=n_estimators)
         self.random_state = random_state
 
     def _validate_estimator(self):
         """Check the estimator and set the base_estimator_ attribute."""
-        super(MuCumboClassifier, self)._validate_estimator(
+        super(MuComboClassifier, self)._validate_estimator(
             default=DecisionTreeClassifier(max_depth=1))
 
         if not has_fit_parameter(self.base_estimator_, "sample_weight"):
@@ -688,7 +688,7 @@ class MuCumboClassifier(BaseEnsemble, ClassifierMixin, UBoosting):
         score : float
             Mean accuracy of self.predict(X) wrt. y.
         """
-        return super(MuCumboClassifier, self).score(X, y)
+        return super(MuComboClassifier, self).score(X, y)
 
     def staged_score(self, X, y):
         """Return staged mean accuracy on the given test data and labels.
diff --git a/multimodal/boosting/mumbo.py b/multimodal/boosting/mumbo.py
index 90d4704..4b5244b 100644
--- a/multimodal/boosting/mumbo.py
+++ b/multimodal/boosting/mumbo.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/kernels/lpMKL.py b/multimodal/kernels/lpMKL.py
index f0c33d9..12f6901 100644
--- a/multimodal/kernels/lpMKL.py
+++ b/multimodal/kernels/lpMKL.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/kernels/mkernel.py b/multimodal/kernels/mkernel.py
index a6b7527..7334e79 100644
--- a/multimodal/kernels/mkernel.py
+++ b/multimodal/kernels/mkernel.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/kernels/mvml.py b/multimodal/kernels/mvml.py
index 9a3a4c6..e261661 100644
--- a/multimodal/kernels/mvml.py
+++ b/multimodal/kernels/mvml.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/tests/test_cumbo.py b/multimodal/tests/test_combo.py
similarity index 93%
rename from multimodal/tests/test_cumbo.py
rename to multimodal/tests/test_combo.py
index 0c5176e..52c59f0 100644
--- a/multimodal/tests/test_cumbo.py
+++ b/multimodal/tests/test_combo.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
@@ -60,11 +60,11 @@ from sklearn.linear_model import Lasso
 from sklearn.tree import DecisionTreeClassifier
 from sklearn import datasets
 from sklearn.utils.estimator_checks import check_estimator
-from multimodal.boosting.cumbo import MuCumboClassifier
+from multimodal.boosting.combo import MuComboClassifier
 from multimodal.tests.data.get_dataset_path import get_dataset_path
 from multimodal.datasets.data_sample import MultiModalArray
 
-class TestMuCumboClassifier(unittest.TestCase):
+class TestMuComboClassifier(unittest.TestCase):
 
     @classmethod
     def setUpClass(clf):
@@ -75,11 +75,11 @@ class TestMuCumboClassifier(unittest.TestCase):
 
 
     def test_init(self):
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         self.assertEqual(clf.random_state, None)
         self.assertEqual(clf.n_estimators, 50)
         n_estimators = 3
-        clf = MuCumboClassifier(n_estimators=n_estimators)
+        clf = MuComboClassifier(n_estimators=n_estimators)
         #self.assertEqual(clf.view_mode_)
 
     def test_init_var(self):
@@ -98,7 +98,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         expected_predicted_classes_shape = ((n_views, y.shape[0]))
         expected_n_yi_s = np.array([1, 1, 2])
         expected_beta_class = np.ones((n_views, n_classes)) / n_classes
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.n_classes_ = n_classes
         (cost,  label_score, label_score_glob, predicted_classes, score_function, beta_class, n_yi_s) \
             = clf._init_var(n_views, y)
@@ -121,7 +121,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         expected_dist = np.array(
             [[0.25, 0.25, 0.25, 0.25], [0.5, 0.5, -2., 2.], [-0.5, 0.5, -1., 2.]])
 
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         dist = clf._compute_dist(cost, y)
 
         np.testing.assert_equal(dist, expected_dist)
@@ -156,7 +156,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     expected_coop_coef = np.array([[1, 0, 1, 0], [1, 1, 1, 0], [0, 0, 1, 1]],
     #                                   dtype=np.float64)
     #
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     coop_coef = clf._compute_coop_coef(predicted_classes, y)
     #
     #     assert_array_equal(coop_coef, expected_coop_coef)
@@ -172,7 +172,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         y = np.array([0, 2, 1, 2])
         expected_edges = np.array([1.25, 0.75, 0.25])
 
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         edges = clf._compute_edges(cost, predicted_classes, y)
 
         np.testing.assert_equal(edges, expected_edges)
@@ -183,7 +183,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         expected_alpha = 0.5
         edge = (np.e-1.) / (np.e+1.)
 
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         alpha = clf._compute_alphas(edge)
         self.assertAlmostEqual(alpha, expected_alpha, decimal)
 
@@ -197,7 +197,7 @@ class TestMuCumboClassifier(unittest.TestCase):
 
 
     def test_prepare_beta_solver(self):
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.n_views_ = 3
         clf.n_classes_ = 3
         A, b, G, h, l = clf._prepare_beta_solver()
@@ -239,7 +239,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         self.assertEqual(l, {'l': 18})
 
     def test_solver_cp_forbeta(self):
-            clf = MuCumboClassifier()
+            clf = MuComboClassifier()
             clf.n_views_ = 3
             clf.n_classes_ = 3
             clf.n_yi_ = np.array([1, 1, 2])
@@ -265,7 +265,7 @@ class TestMuCumboClassifier(unittest.TestCase):
             np.testing.assert_almost_equal(s_r, np.ones(3, dtype=np.float), 9)
 
     def test_solver_compute_betas(self):
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.n_views_ = 3
         clf.n_classes_ = 3
         clf.n_yi_ = np.array([1, 1, 2])
@@ -295,7 +295,7 @@ class TestMuCumboClassifier(unittest.TestCase):
 
 
     def test_indicatrice(self):
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.n_views_ = 3
         clf.n_classes_ = 3
         y_i = np.array([0, 1, 2, 0])
@@ -331,7 +331,7 @@ class TestMuCumboClassifier(unittest.TestCase):
                  [[-2, 1, 0.5], [1, 1, -1], [1, -2, 0.5], [1, 1, -1]]],
                 dtype=np.float64)
         score_function_Tminus1 =10 *np.ones((3,4,3), dtype=np.float)
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.n_views_ = 3
         clf.n_classes_ = 3
         clf.n_yi_ = np.array([1, 1, 2])
@@ -380,7 +380,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #          [[8, 2, -4], [2, 4, 0.], [4, 1, -2], [8, 4., 1]]],
     #         dtype=np.float64)
     #
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     cost, label_score = clf._compute_cost(label_score, pred_classes, y, alphas,
     #                                           use_coop_coef=True)
     #
@@ -413,7 +413,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #          [[-9., 1., 8.], [1., 0.125, -1.125], [4., -4.5, 0.5], [1., 8., -9.]]],
     #         dtype=np.float64)
     #
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     cost, label_score = clf._compute_cost(label_score, pred_classes, y, alphas,
     #                                           use_coop_coef=False)
     #
@@ -447,7 +447,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #          [[-2., 1., 1.], [1., 0.125, -1.125], [0.5, -1., 0.5], [1., 8., -9.]]],
     #         dtype=np.float64)
     #
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     cost, label_score = clf._compute_cost(label_score, pred_classes, y, alphas,
     #                                           use_coop_coef=True)
     #
@@ -461,19 +461,19 @@ class TestMuCumboClassifier(unittest.TestCase):
     #
     #     n_estimators = 10
     #
-    #     clf = MuCumboClassifier(n_estimators=n_estimators, best_view_mode='edge')
+    #     clf = MuComboClassifier(n_estimators=n_estimators, best_view_mode='edge')
     #     clf.fit(iris.data, iris.target, iris.views_ind)
     #     score = clf.score(iris.data, iris.target)
     #     assert_greater(score, 0.95, "Failed with score = {}".format(score))
     #
-    #     clf = MuCumboClassifier(n_estimators=n_estimators, best_view_mode='error')
+    #     clf = MuComboClassifier(n_estimators=n_estimators, best_view_mode='error')
     #     clf.fit(iris.data, iris.target, iris.views_ind)
     #     score = clf.score(iris.data, iris.target)
     #     assert_greater(score, 0.95, "Failed with score = {}".format(score))
     #
-    #     assert_raises(ValueError, MuCumboClassifier(), best_view_mode='test')
+    #     assert_raises(ValueError, MuComboClassifier(), best_view_mode='test')
     #
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.best_view_mode = 'test'
     #     assert_raises(ValueError, clf.fit, iris.data, iris.target, iris.views_ind)
     #
@@ -483,7 +483,7 @@ class TestMuCumboClassifier(unittest.TestCase):
        X = np.array([[1., 1., 1.], [-1., -1., -1.]])
        y = np.array([0, 1])
        expected_views_ind = np.array([0, 1, 3])
-       clf = MuCumboClassifier()
+       clf = MuComboClassifier()
        clf.fit(X, y)
        # np.testing.assert_equal(clf.X_.views_ind, expected_views_ind)
 
@@ -495,12 +495,12 @@ class TestMuCumboClassifier(unittest.TestCase):
         X = np.array([[1., 1., 1.], [-1., -1., -1.]])
         views_ind = np.array([0, 1, 3])
         y = np.array([3, 1])
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.fit(X, y, views_ind)
         np.testing.assert_almost_equal(clf.predict(X), y)
 
         y = np.array(["class_1", "class_2"])
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.fit(X, y)
         np.testing.assert_equal(clf.predict(X), y)
         # Check that misformed or inconsistent inputs raise expections
@@ -517,70 +517,70 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     X = np.array([[1., 1., 1.], [-1., -1., -1.]])
     #     y = np.array([1])
     #     views_ind = np.array([0, 1, 3])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     y = np.array([1, 0, 0, 1])
     #     views_ind = np.array([0, 1, 3])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     y = np.array([3.2, 1.1])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     y = np.array([0, 1])
     #     views_ind = np.array([0, 3, 1])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([-1, 1, 3])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([0, 1, 4])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([0.5, 1, 3])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array("test")
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.zeros((3, 2, 4))
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([[-1], [1, 2]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([[3], [1, 2]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([[0.5], [1, 2]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([[-1, 0], [1, 2]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([[0, 3], [1, 2]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #     views_ind = np.array([[0.5], [1], [2]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y, views_ind)
     #
     #
     def test_decision_function(self):
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.fit(self.iris.data, self.iris.target, self.iris.views_ind)
         X = np.zeros((4, 3))
         with self.assertRaises(ValueError):
@@ -591,7 +591,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         np.testing.assert_almost_equal(dec, dec_expected, 9)
 
     def test_predict(self):
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         X = np.array([[0., 0.5, 0.7], [1., 1.5, 1.7], [2., 2.5, 2.7]])
         y = np.array([1, 1, 1])
         clf.fit(X, y)
@@ -605,13 +605,13 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     # Check that using empty data raises an exception
     #     X = np.array([[]])
     #     y = np.array([])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     assert_raises(ValueError, clf.fit, X, y)
     #
     #     # Check that fit() works for the smallest possible dataset
     #     X = np.array([[0.]])
     #     y = np.array([0])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y)
     #     assert_array_equal(clf.predict(X), y)
     #     assert_array_equal(clf.predict(np.array([[1.]])), np.array([0]))
@@ -620,7 +620,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     X = np.array([[0., 0.5, 0.7], [1., 1.5, 1.7], [2., 2.5, 2.7]])
     #     y = np.array([1, 1, 1])
     #     views_ind = np.array([0, 1, 3])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     assert_array_equal(clf.predict(np.array([[-1., 0., 1.]])), np.array([1]))
@@ -628,7 +628,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     X = np.array([[0., 0.5, 0.7], [1., 1.5, 1.7], [2., 2.5, 2.7]])
     #     y = np.array([1, 1, 1])
     #     views_ind = np.array([[0, 2], [1]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     assert_array_equal(clf.predict(np.array([[-1., 0., 1.]])), np.array([1]))
@@ -647,7 +647,7 @@ class TestMuCumboClassifier(unittest.TestCase):
              [-0.3, -1.3]])
         y = np.array([0, 0, 0, 1, 1, 1])
         views_ind = np.array([0, 2])
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.fit(X, y, views_ind)
         #assert_array_equal(clf.predict(X), y)
         #assert_array_equal(clf.predict(np.array([[1., 1.], [-1., -1.]])),
@@ -655,7 +655,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         #assert_equal(clf.decision_function(X).shape, y.shape)
 
         views_ind = np.array([[1, 0]])
-        clf = MuCumboClassifier()
+        clf = MuComboClassifier()
         clf.fit(X, y, views_ind)
         np.testing.assert_almost_equal(clf.predict(X), y)
 
@@ -676,7 +676,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #          [-0.3, -1.3, -1.4]])
     #     y = np.array([0, 0, 0, 1, 1, 1])
     #     views_ind = np.array([0, 2, 3])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     assert_array_equal(clf.predict(np.array([[1., 1., 1.], [-1., -1., -1.]])),
@@ -684,7 +684,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     assert_equal(clf.decision_function(X).shape, y.shape)
     #
     #     views_ind = np.array([[2, 0], [1]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     assert_array_equal(clf.predict(np.array([[1., 1., 1.], [-1., -1., -1.]])),
@@ -701,7 +701,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #          [-0.3, -1.3, -1.4, -0.6, -0.7]])
     #     y = np.array([0, 0, 0, 1, 1, 1])
     #     views_ind = np.array([0, 2, 3, 5])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     data = np.array([[1., 1., 1., 1., 1.], [-1., -1., -1., -1., -1.]])
@@ -709,7 +709,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     assert_equal(clf.decision_function(X).shape, y.shape)
     #
     #     views_ind = np.array([[2, 0], [1], [3, 4]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     data = np.array([[1., 1., 1., 1., 1.], [-1., -1., -1., -1., -1.]])
@@ -726,7 +726,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #          [-0.3, -1.3, -1.4, -0.6, -0.7]])
     #     y = np.array([0, 0, 1, 1, 2, 2])
     #     views_ind = np.array([0, 2, 3, 5])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     data = np.array(
@@ -737,7 +737,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     assert_equal(clf.decision_function(X).shape, (X.shape[0], 3))
     #
     #     views_ind = np.array([[1, 0], [2], [3, 4]])
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(X, y, views_ind)
     #     assert_array_equal(clf.predict(X), y)
     #     data = np.array(
@@ -767,7 +767,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     y = np.zeros(2*n_samples, dtype=np.int64)
     #     y[n_samples:] = 1
     #     views_ind = np.array([0, 2, 4])
-    #     clf = MuCumboClassifier(n_estimators=1)
+    #     clf = MuComboClassifier(n_estimators=1)
     #     clf.fit(X, y, views_ind)
     #     assert_equal(clf.score(X, y), 1.)
     #
@@ -786,7 +786,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     y = np.zeros(4*n_samples, dtype=np.int64)
     #     y[2*n_samples:] = 1
     #     views_ind = np.array([0, 2, 4])
-    #     clf = MuCumboClassifier(n_estimators=3)
+    #     clf = MuComboClassifier(n_estimators=3)
     #     clf.fit(X, y, views_ind)
     #     assert_equal(clf.score(X, y), 1.)
     #
@@ -808,7 +808,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     y[n_samples:2*n_samples] = 1
     #     y[2*n_samples:] = 2
     #     views_ind = np.array([0, 2, 4, 6])
-    #     clf = MuCumboClassifier(n_estimators=3)
+    #     clf = MuComboClassifier(n_estimators=3)
     #     clf.fit(X, y, views_ind)
     #     assert_equal(clf.score(X, y), 1.)
     #
@@ -830,13 +830,13 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     y[n_samples:2*n_samples] = 1
     #     y[2*n_samples:] = 2
     #     views_ind = np.array([0, 2, 4, 6])
-    #     clf = MuCumboClassifier(n_estimators=4)
+    #     clf = MuComboClassifier(n_estimators=4)
     #     clf.fit(X, y, views_ind)
     #     assert_equal(clf.score(X, y), 1.)
     #
 
     def test_classifier(self):
-        return check_estimator(MuCumboClassifier)
+        return check_estimator(MuComboClassifier)
     #
     #
     # def test_iris():
@@ -847,7 +847,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     classes = np.unique(iris.target)
     #
     #     for views_ind in [iris.views_ind, np.array([[0, 2], [1, 3]])]:
-    #         clf = MuCumboClassifier(n_estimators=n_estimators)
+    #         clf = MuComboClassifier(n_estimators=n_estimators)
     #
     #         clf.fit(iris.data, iris.target, views_ind)
     #
@@ -884,7 +884,7 @@ class TestMuCumboClassifier(unittest.TestCase):
 
     #
         for X, y, views_ind in data:
-            clf = MuCumboClassifier(n_estimators=n_estimators, random_state=seed)
+            clf = MuComboClassifier(n_estimators=n_estimators, random_state=seed)
             clf.fit(X, y, views_ind)
             staged_dec_func = [dec_f for dec_f in clf.staged_decision_function(X)]
             staged_predict = [predict for predict in clf.staged_predict(X)]
@@ -897,7 +897,7 @@ class TestMuCumboClassifier(unittest.TestCase):
             # assert_equal(len(staged_score), n_estimators)
     #
     #         for ind in range(n_estimators):
-    #             clf = MuCumboClassifier(n_estimators=ind+1, random_state=seed)
+    #             clf = MuComboClassifier(n_estimators=ind+1, random_state=seed)
     #             clf.fit(X, y, views_ind)
     #             dec_func = clf.decision_function(X)
     #             predict = clf.predict(X)
@@ -911,7 +911,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #     np.random.seed(seed)
     #
     #     # Check that base trees can be grid-searched.
-        mumbo = MuCumboClassifier(base_estimator=DecisionTreeClassifier())
+        mumbo = MuComboClassifier(base_estimator=DecisionTreeClassifier())
         parameters = {'n_estimators': (1, 2),
                       'base_estimator__max_depth': (1, 2)}
         clf = GridSearchCV(mumbo, parameters)
@@ -929,7 +929,7 @@ class TestMuCumboClassifier(unittest.TestCase):
     #
     #     # Check pickability.
     #
-    #     clf = MuCumboClassifier()
+    #     clf = MuComboClassifier()
     #     clf.fit(iris.data, iris.target, iris.views_ind)
     #     score = clf.score(iris.data, iris.target)
     #     dump = pickle.dumps(clf)
@@ -945,19 +945,19 @@ class TestMuCumboClassifier(unittest.TestCase):
     #
         """ Test different base estimators."""
         n_estimators = 5
-        clf = MuCumboClassifier(RandomForestClassifier(), n_estimators=n_estimators)
+        clf = MuComboClassifier(RandomForestClassifier(), n_estimators=n_estimators)
         clf.fit(self.iris.data, self.iris.target, self.iris.views_ind)
         score = clf.score(self.iris.data, self.iris.target)
         self.assertGreater(score, 0.95, "Failed with score = {}".format(score))
 
-        clf = MuCumboClassifier(SVC(), n_estimators=n_estimators)
+        clf = MuComboClassifier(SVC(), n_estimators=n_estimators)
         clf.fit(self.iris.data, self.iris.target, self.iris.views_ind)
         score = clf.score(self.iris.data, self.iris.target)
         self.assertGreater(score, 0.95, "Failed with score = {}".format(score))
 
     #     # Check that using a base estimator that doesn't support sample_weight
     #     # raises an error.
-        clf = MuCumboClassifier(Lasso())
+        clf = MuComboClassifier(Lasso())
         self.assertRaises(ValueError, clf.fit, self.iris.data, self.iris.target, self.iris.views_ind)
     #     assert_raises(ValueError, clf.fit, iris.data, iris.target, iris.views_ind)
     #
@@ -985,13 +985,13 @@ class TestMuCumboClassifier(unittest.TestCase):
     #         for views_ind in (iris.views_ind, np.array([[0, 2], [1, 3]])):
     #             X_sparse = sparse_format(X_dense)
     #
-    #             clf_sparse = MuCumboClassifier(
+    #             clf_sparse = MuComboClassifier(
     #                 base_estimator=CustomSVC(),
     #                 random_state=seed,
     #                 n_estimators=n_estimators)
     #             clf_sparse.fit(X_sparse, y, views_ind)
     #
-    #             clf_dense = MuCumboClassifier(
+    #             clf_dense = MuComboClassifier(
     #                 base_estimator=CustomSVC(),
     #                 random_state=seed,
     #                 n_estimators=n_estimators)
@@ -1032,5 +1032,5 @@ class TestMuCumboClassifier(unittest.TestCase):
 if __name__ == '__main__':
     unittest.main()
     # suite = unittest.TestLoader().loadTestsFromTestCase
-    # (TestMuCumboClassifier().test_class_variation())
+    # (TestMuComboClassifier().test_class_variation())
     # unittest.TextTestRunner(verbosity=2).run(suite)
\ No newline at end of file
diff --git a/multimodal/tests/test_data_sample.py b/multimodal/tests/test_data_sample.py
index 47a5754..469ba50 100644
--- a/multimodal/tests/test_data_sample.py
+++ b/multimodal/tests/test_data_sample.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/tests/test_mkl.py b/multimodal/tests/test_mkl.py
index e1c147f..b384db4 100644
--- a/multimodal/tests/test_mkl.py
+++ b/multimodal/tests/test_mkl.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/tests/test_mumbo.py b/multimodal/tests/test_mumbo.py
index 486045d..38f846c 100644
--- a/multimodal/tests/test_mumbo.py
+++ b/multimodal/tests/test_mumbo.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/multimodal/tests/test_mvml.py b/multimodal/tests/test_mvml.py
index 30da4a9..9f33c3b 100644
--- a/multimodal/tests/test_mvml.py
+++ b/multimodal/tests/test_mvml.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
diff --git a/setup.py b/setup.py
index 541026e..fa4dd7e 100644
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,7 @@
 # -----------
 #
 # The multimodal package implement classifiers multiview, 
-# MumboClassifier class, MuCumboClassifier class, MVML class, MKL class.
+# MumboClassifier class, MuComboClassifier class, MVML class, MKL class.
 # compatible with sklearn
 #
 # Version:
-- 
GitLab