From c0391b2b009bebcf253f09f81cd2f6ae1168a420 Mon Sep 17 00:00:00 2001 From: Joshua Ivanhoe Date: Tue, 16 Jan 2024 17:17:57 +0000 Subject: [PATCH] Minor bug fixes --- .../workflows/{python-package.yml => ci.yml} | 0 .github/workflows/python-publish.yml | 39 ------------------- src/sparsely/regressor.py | 1 - src/sparsely/tune.py | 3 +- tests/test_tune.py | 2 +- 5 files changed, 3 insertions(+), 42 deletions(-) rename .github/workflows/{python-package.yml => ci.yml} (100%) delete mode 100644 .github/workflows/python-publish.yml diff --git a/.github/workflows/python-package.yml b/.github/workflows/ci.yml similarity index 100% rename from .github/workflows/python-package.yml rename to .github/workflows/ci.yml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml deleted file mode 100644 index bdaab28..0000000 --- a/.github/workflows/python-publish.yml +++ /dev/null @@ -1,39 +0,0 @@ -# This workflow will upload a Python Package using Twine when a release is created -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries - -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -name: Upload Python Package - -on: - release: - types: [published] - -permissions: - contents: read - -jobs: - deploy: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install build - - name: Build package - run: python -m build - - name: Publish package - uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/src/sparsely/regressor.py b/src/sparsely/regressor.py index f1cfcec..2de7599 100644 --- a/src/sparsely/regressor.py +++ b/src/sparsely/regressor.py @@ -83,7 +83,6 @@ def fit(self, X: np.ndarray, y: np.ndarray) -> SparseLinearRegressor: model.add_linear_constr(sum(selected) <= self.k_) model.optimize() selected = np.round([model.var_value(var) for var in selected]).astype(bool) - model.reset() # Compute coefficients self.coef_ = np.zeros(self.n_features_in_) diff --git a/src/sparsely/tune.py b/src/sparsely/tune.py index 29f7d28..f3a44b1 100644 --- a/src/sparsely/tune.py +++ b/src/sparsely/tune.py @@ -100,7 +100,8 @@ def tune_estimator( search_log = list() for k in tqdm( - range(k_min, k_max or X.shape[0], step_size), disable=not show_progress_bar + range(k_min, (k_max or X.shape[1]) + 1, step_size), + disable=not show_progress_bar, ): # Perform cross-validation output = cross_validate( diff --git a/tests/test_tune.py b/tests/test_tune.py index 99eeaed..24677f3 100644 --- a/tests/test_tune.py +++ b/tests/test_tune.py @@ -23,7 +23,7 @@ def test_tune_estimator( if return_search_log: estimator, search_log = output assert isinstance(search_log, pd.DataFrame) - assert search_log.columns == ["k", "score", "std"] + assert (search_log.columns == ["k", "score", "std"]).all() if max_iters_no_improvement is None: assert len(search_log) == 5 else: