From ca68cf156bee65ffbf5f0a9dc6930c8361ab6470 Mon Sep 17 00:00:00 2001 From: Mrinal Tyagi Date: Tue, 30 Nov 2021 02:31:01 +0530 Subject: [PATCH 1/6] Base Version --- sklearn/linear_model/_stochastic_gradient.py | 8 ++++++-- sklearn/tests/test_common.py | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index c07232b6c23fe..3ea597bc5a6ab 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -6,6 +6,7 @@ Descent (SGD). """ +from typing import Type import numpy as np import warnings @@ -2098,12 +2099,10 @@ def __init__( average=False, ): - alpha = nu / 2 self.nu = nu super(SGDOneClassSVM, self).__init__( loss="hinge", penalty="l2", - alpha=alpha, C=1.0, l1_ratio=0, fit_intercept=fit_intercept, @@ -2127,6 +2126,11 @@ def _validate_params(self, for_partial_fit=False): """Validate input params.""" if not (0 < self.nu <= 1): raise ValueError("nu must be in (0, 1], got nu=%f" % self.nu) + + try: + self.alpha = self.nu / 2 + except: + raise ValueError("alpha and nu should be of type float") super(SGDOneClassSVM, self)._validate_params(for_partial_fit=for_partial_fit) diff --git a/sklearn/tests/test_common.py b/sklearn/tests/test_common.py index ee1259b0ff6a2..1583073e00e52 100644 --- a/sklearn/tests/test_common.py +++ b/sklearn/tests/test_common.py @@ -410,7 +410,6 @@ def test_transformers_get_feature_names_out(transformer): "GridSearchCV", "HalvingGridSearchCV", "Pipeline", - "SGDOneClassSVM", "TheilSenRegressor", "TweedieRegressor", ] From d8e871e2bb717673735f95789669e8671dc12c87 Mon Sep 17 00:00:00 2001 From: Mrinal Tyagi Date: Tue, 30 Nov 2021 09:57:36 +0530 Subject: [PATCH 2/6] Update _stochastic_gradient.py --- sklearn/linear_model/_stochastic_gradient.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index 3ea597bc5a6ab..5aa329cc3d9c1 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -2129,7 +2129,7 @@ def _validate_params(self, for_partial_fit=False): try: self.alpha = self.nu / 2 - except: + except ValueError as e: raise ValueError("alpha and nu should be of type float") super(SGDOneClassSVM, self)._validate_params(for_partial_fit=for_partial_fit) From f29b5d47710141a3ab8195172b57c59a3ff5f1e2 Mon Sep 17 00:00:00 2001 From: Mrinal Tyagi Date: Tue, 30 Nov 2021 10:00:36 +0530 Subject: [PATCH 3/6] Update _stochastic_gradient.py --- sklearn/linear_model/_stochastic_gradient.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index 5aa329cc3d9c1..7f203073efe80 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -2130,7 +2130,7 @@ def _validate_params(self, for_partial_fit=False): try: self.alpha = self.nu / 2 except ValueError as e: - raise ValueError("alpha and nu should be of type float") + raise ValueError("Nu %s is not supported. " % self.nu) from e super(SGDOneClassSVM, self)._validate_params(for_partial_fit=for_partial_fit) From 961e2510401a111105ce3d09d9280425213a2f54 Mon Sep 17 00:00:00 2001 From: Mrinal Tyagi Date: Tue, 30 Nov 2021 10:04:01 +0530 Subject: [PATCH 4/6] Update _stochastic_gradient.py --- sklearn/linear_model/_stochastic_gradient.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index 7f203073efe80..c5a188193cfc4 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -6,7 +6,6 @@ Descent (SGD). """ -from typing import Type import numpy as np import warnings From 02422d273a14c0cc272de51e5d3ae9e772df5247 Mon Sep 17 00:00:00 2001 From: Mrinal Tyagi Date: Tue, 30 Nov 2021 10:05:39 +0530 Subject: [PATCH 5/6] Update _stochastic_gradient.py --- sklearn/linear_model/_stochastic_gradient.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index c5a188193cfc4..7e727bbf5c0bc 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -2125,7 +2125,7 @@ def _validate_params(self, for_partial_fit=False): """Validate input params.""" if not (0 < self.nu <= 1): raise ValueError("nu must be in (0, 1], got nu=%f" % self.nu) - + try: self.alpha = self.nu / 2 except ValueError as e: From 0e5c1963ade2766232bf50e3d0ca7616e2284bd8 Mon Sep 17 00:00:00 2001 From: Mrinal Tyagi Date: Tue, 30 Nov 2021 10:06:58 +0530 Subject: [PATCH 6/6] Update _stochastic_gradient.py --- sklearn/linear_model/_stochastic_gradient.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index 7e727bbf5c0bc..a26e23408e9fb 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -2125,7 +2125,6 @@ def _validate_params(self, for_partial_fit=False): """Validate input params.""" if not (0 < self.nu <= 1): raise ValueError("nu must be in (0, 1], got nu=%f" % self.nu) - try: self.alpha = self.nu / 2 except ValueError as e: