From fe73f457448226c9a595b4c513d3079b1c833a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Alfaro=20Jim=C3=A9nez?= Date: Mon, 6 Jul 2020 15:45:03 +0200 Subject: [PATCH 1/2] FIX Change MRO for nearest neighbors estimators --- sklearn/neighbors/_classification.py | 12 ++++++++---- sklearn/neighbors/_regression.py | 10 ++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/sklearn/neighbors/_classification.py b/sklearn/neighbors/_classification.py index 7142ffccb6ddf..11f616075e514 100644 --- a/sklearn/neighbors/_classification.py +++ b/sklearn/neighbors/_classification.py @@ -23,8 +23,10 @@ from ..utils.validation import _deprecate_positional_args -class KNeighborsClassifier(NeighborsBase, KNeighborsMixin, - SupervisedIntegerMixin, ClassifierMixin): +class KNeighborsClassifier(KNeighborsMixin, + SupervisedIntegerMixin, + ClassifierMixin, + NeighborsBase): """Classifier implementing the k-nearest neighbors vote. Read more in the :ref:`User Guide `. @@ -256,8 +258,10 @@ def predict_proba(self, X): return probabilities -class RadiusNeighborsClassifier(NeighborsBase, RadiusNeighborsMixin, - SupervisedIntegerMixin, ClassifierMixin): +class RadiusNeighborsClassifier(RadiusNeighborsMixin, + ClassifierMixin, + SupervisedIntegerMixin, + NeighborsBase): """Classifier implementing a vote among neighbors within a given radius Read more in the :ref:`User Guide `. diff --git a/sklearn/neighbors/_regression.py b/sklearn/neighbors/_regression.py index fda61fbe75390..edd2aab5e3ca2 100644 --- a/sklearn/neighbors/_regression.py +++ b/sklearn/neighbors/_regression.py @@ -21,9 +21,10 @@ from ..utils.validation import _deprecate_positional_args -class KNeighborsRegressor(NeighborsBase, KNeighborsMixin, +class KNeighborsRegressor(KNeighborsMixin, SupervisedFloatMixin, - RegressorMixin): + RegressorMixin, + NeighborsBase): """Regression based on k-nearest neighbors. The target is predicted by local interpolation of the targets @@ -200,9 +201,10 @@ def predict(self, X): return y_pred -class RadiusNeighborsRegressor(NeighborsBase, RadiusNeighborsMixin, +class RadiusNeighborsRegressor(RadiusNeighborsMixin, SupervisedFloatMixin, - RegressorMixin): + RegressorMixin, + NeighborsBase): """Regression based on neighbors within a fixed radius. The target is predicted by local interpolation of the targets From e943a7aefb35c83df7b9ff7d52a625e8e7ab4b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Alfaro=20Jim=C3=A9nez?= Date: Mon, 6 Jul 2020 16:11:15 +0200 Subject: [PATCH 2/2] FIX Minor changes --- sklearn/neighbors/_classification.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/neighbors/_classification.py b/sklearn/neighbors/_classification.py index 11f616075e514..6dbf1b8cc9b0a 100644 --- a/sklearn/neighbors/_classification.py +++ b/sklearn/neighbors/_classification.py @@ -259,8 +259,8 @@ def predict_proba(self, X): class RadiusNeighborsClassifier(RadiusNeighborsMixin, - ClassifierMixin, SupervisedIntegerMixin, + ClassifierMixin, NeighborsBase): """Classifier implementing a vote among neighbors within a given radius