10000 fix tests. Add whats new on the current changes · scikit-learn/scikit-learn@10d0282 · GitHub
[go: up one dir, main page]

Skip to content

Commit 10d0282

Browse files
author
ciku
committed
fix tests. Add whats new on the current changes
1 parent f3535cf commit 10d0282

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

doc/whats_new/v1.1.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ Changelog
120120
A warning will always be raised upon the removal of empty columns.
121121
:pr:`21448` by :user:`Oleh Kozynets <OlehKSS>` and
122122
:user:`Christian Ritter <chritter>`.
123+
:user:`Christian Ritter <chritter>.
123124
124125
- |Fix| Fix a bug in :class:`linear_model.RidgeClassifierCV` where the method
125126
`predict` was performing an `argmax` on the scores obtained from
@@ -173,6 +174,12 @@ Changelog
173174
instead of `__init__`.
174175
:pr:`21434` by :user:`Krum Arnaudov <krumeto>`.
175176

177+
178+
:mod: `sklearn.decomposition.KernelPCA`
179+
..........................
180+
-[Fix] :class:`decomposition.KernelPCA` now validates input parameters in `fit` instead of `__init__`
181+
:pr:`21567` by :user: `Maggie Chege <MaggieChege>`
182+
176183
:mod:`sklearn.svm`
177184
..................
178185

sklearn/decomposition/_kernel_pca.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -427,14 +427,13 @@ def fit(self, X, y=None):
427427
self : object
428428
Returns the instance itself.
429429
"""
430+
if self.fit_inverse_transform and self.kernel == "precomputed":
431+
raise ValueError("Cannot fit_inverse_transform with a precomputed kernel.")
430432
X = self._validate_data(X, accept_sparse="csr", copy=self.copy_X)
431433
self._centerer = KernelCenterer()
432434
K = self._get_kernel(X)
433435
self._fit_transform(K)
434436

435-
if self.fit_inverse_transform and self.kernel == "precomputed":
436-
raise ValueError("Cannot fit_inverse_transform with a precomputed kernel.")
437-
438437
if self.fit_inverse_transform:
439438
# no need to use the kernel to transform X, use shortcut expression
440439
X_transformed = self.eigenvectors_ * np.sqrt(self.eigenvalues_)

sklearn/decomposition/tests/test_kernel_pca.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ def test_kernel_pca_invalid_parameters():
7979
ValueError.
8080
"""
8181
with pytest.raises(ValueError):
82-
KernelPCA(10, fit_inverse_transform=True, kernel="precomputed")
82+
estimator = KernelPCA(
83+
n_components=10, fit_inverse_transform=True, kernel="precomputed"
84+
)
85+
estimator.fit(np.random.randn(10, 10))
8386

8487

8588
def test_kernel_pca_consistent_transform():

0 commit comments

Comments
 (0)
0