From 299a5389e0a96fe0d673f502a79db4054f069acd Mon Sep 17 00:00:00 2001
From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr>
Date: Thu, 25 Feb 2021 08:06:36 -0500
Subject: [PATCH] compatible with sklearn 00.24

---
 multimodal/tests/test_combo.py | 11 +++++++++--
 multimodal/tests/test_mumbo.py |  5 +++--
 setup.py                       |  2 +-
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/multimodal/tests/test_combo.py b/multimodal/tests/test_combo.py
index c44a8d9..f058893 100644
--- a/multimodal/tests/test_combo.py
+++ b/multimodal/tests/test_combo.py
@@ -64,6 +64,12 @@ 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 NoSampleWeightLasso(Lasso):
+
+    def fit(self, X, y, check_input=True):
+        return Lasso.fit(self, X, y, sample_weight=None, check_input=True)
+
+
 class TestMuComboClassifier(unittest.TestCase):
 
     @classmethod
@@ -836,7 +842,7 @@ class TestMuComboClassifier(unittest.TestCase):
     #
 
     def test_classifier(self):
-        return check_estimator(MuComboClassifier)
+        return check_estimator(MuComboClassifier())
     #
     #
     # def test_iris():
@@ -957,7 +963,8 @@ class TestMuComboClassifier(unittest.TestCase):
 
     #     # Check that using a base estimator that doesn't support sample_weight
     #     # raises an error.
-        clf = MuComboClassifier(Lasso())
+        clf = MuComboClassifier(NoSampleWeightLasso())
+
         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)
     #
diff --git a/multimodal/tests/test_mumbo.py b/multimodal/tests/test_mumbo.py
index 38f846c..7169c8b 100644
--- a/multimodal/tests/test_mumbo.py
+++ b/multimodal/tests/test_mumbo.py
@@ -57,6 +57,7 @@ from sklearn.tree import DecisionTreeClassifier
 from sklearn import datasets
 from multimodal.boosting.mumbo import MumboClassifier
 
+from multimodal.tests.test_combo import NoSampleWeightLasso
 
 class TestMuCumboClassifier(unittest.TestCase):
 
@@ -730,7 +731,7 @@ class TestMuCumboClassifier(unittest.TestCase):
         # e = MumboClassifier()
         # e.fit(X_zero_features, y)
         # print(e.predict(X_zero_features))
-        return check_estimator(MumboClassifier)
+        return check_estimator(MumboClassifier())
 
     def test_iris(self):
         # Check consistency on dataset iris.
@@ -840,7 +841,7 @@ class TestMuCumboClassifier(unittest.TestCase):
 
         # Check that using a base estimator that doesn't support sample_weight
         # raises an error.
-        clf = MumboClassifier(Lasso())
+        clf = MumboClassifier(NoSampleWeightLasso())
         self.assertRaises(ValueError, clf.fit, self.iris.data, self.iris.target, self.iris.views_ind)
 
 
diff --git a/setup.py b/setup.py
index 62c350a..a4e76c4 100644
--- a/setup.py
+++ b/setup.py
@@ -176,7 +176,7 @@ def setup_package():
     keywords = ('machine learning, supervised learning, classification, '
                 'ensemble methods, boosting, kernel')
     packages = find_packages(exclude=['*.tests'])
-    install_requires = ['scikit-learn>=0.22', 'numpy', 'scipy', 'cvxopt' ]
+    install_requires = ['scikit-learn>=0.24', 'numpy', 'scipy', 'cvxopt' ]
     python_requires = '>=3.5'
     extras_require = {
         'dev': ['pytest', 'pytest-cov'],
-- 
GitLab