Skip to content

Commit 54a0d0b

Browse files
fetch upstream main, edit whats new, and add intercept to unit test
2 parents 1173877 + 6a4ee61 commit 54a0d0b

File tree

6 files changed

+20
-191
lines changed

6 files changed

+20
-191
lines changed

doc/changes/0.5.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. _changes_0_5:
22

3-
Version 0.5 (in progress)
4-
-------------------------
3+
Version 0.5 (29/07/2025)
4+
-----------------------
55
- Add support for fitting an intercept in :ref:`SqrtLasso <skglm.experimental.SqrtLasso>` (PR: :gh:`298`)
66
- Add experimental :ref:`QuantileHuber <skglm.experimental.QuantileHuber>` and :ref:`SmoothQuantileRegressor <skglm.experimental.SmoothQuantileRegressor>` for quantile regression (PR: :gh:`312`).
77
- Add :ref:`GeneralizedLinearEstimatorCV <skglm.GeneralizedLinearEstimatorCV>` for cross-validation with automatic parameter selection for L1 and elastic-net penalties (PR: :gh:`299`)

doc/changes/0.6.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. _changes_0_6:
2+
3+
Version 0.6 (in progress)
4+
-------------------------
5+
6+
- :class:`skglm.solvers.LBFGS` now supports fitting an intercept with the `fit_intercept` parameter.

doc/changes/whats_new.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ What's new
55

66
.. currentmodule:: skglm
77

8+
.. include:: 0.6.rst
9+
810
.. include:: 0.5.rst
911

1012
.. include:: 0.4.rst

issue320.py

Lines changed: 0 additions & 184 deletions
This file was deleted.

skglm/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '0.5dev'
1+
__version__ = '0.6dev'
22

33
from skglm.estimators import ( # noqa F401
44
Lasso, WeightedLasso, ElasticNet, MCPRegression, MultiTaskLasso, LinearSVC,

skglm/tests/test_lbfgs_solver.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313

1414
@pytest.mark.parametrize("X_sparse", [True, False])
15-
def test_lbfgs_L2_logreg(X_sparse):
15+
@pytest.mark.parametrize("fit_intercept", [True, False])
16+
def test_lbfgs_L2_logreg(X_sparse, fit_intercept):
1617
reg = 1.0
1718
X_density = 1.0 if not X_sparse else 0.5
1819
n_samples, n_features = 100, 50
@@ -28,17 +29,21 @@ def test_lbfgs_L2_logreg(X_sparse):
2829
# fit L-BFGS
2930
datafit = Logistic()
3031
penalty = L2(reg)
31-
w, *_ = LBFGS(tol=1e-12).solve(X, y, datafit, penalty)
32+
w, *_ = LBFGS(tol=1e-12, fit_intercept=fit_intercept).solve(X, y, datafit, penalty)
3233

3334
# fit scikit learn
3435
estimator = LogisticRegression(
3536
penalty="l2",
3637
C=1 / (n_samples * reg),
37-
fit_intercept=False,
38+
fit_intercept=fit_intercept,
3839
tol=1e-12,
3940
).fit(X, y)
4041

41-
np.testing.assert_allclose(w, estimator.coef_.flatten(), atol=1e-5)
42+
if fit_intercept:
43+
np.testing.assert_allclose(w[:-1], estimator.coef_.flatten(), atol=1e-5)
44+
np.testing.assert_allclose(w[-1], estimator.intercept_[0], atol=1e-5)
45+
else:
46+
np.testing.assert_allclose(w, estimator.coef_.flatten(), atol=1e-5)
4247

4348

4449
@pytest.mark.parametrize("use_efron", [True, False])

0 commit comments

Comments
 (0)