diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9ce1edc..a622ee1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/python/black - rev: 22.1.0 + rev: 24.2.0 hooks: - id: black language_version: python3.9 diff --git a/examples/compare_group_lasso_performance.py b/examples/compare_group_lasso_performance.py index 3960762..8059b7a 100644 --- a/examples/compare_group_lasso_performance.py +++ b/examples/compare_group_lasso_performance.py @@ -14,6 +14,7 @@ pip install group-lasso ``` """ + import groupyr as gpr import matplotlib.pyplot as plt import numpy as np diff --git a/examples/plot_balanced_classifier.py b/examples/plot_balanced_classifier.py index 923022d..49b5f9b 100644 --- a/examples/plot_balanced_classifier.py +++ b/examples/plot_balanced_classifier.py @@ -11,6 +11,7 @@ scoring shows a modest increase in both F1 score and accuracy. """ + import numpy as np from matplotlib import pyplot as plt from groupyr import LogisticSGLCV diff --git a/examples/plot_classifier.py b/examples/plot_classifier.py index 69e6e9c..48a0a0f 100644 --- a/examples/plot_classifier.py +++ b/examples/plot_classifier.py @@ -8,6 +8,7 @@ ground-truth. """ + import numpy as np from matplotlib import pyplot as plt from groupyr import LogisticSGLCV diff --git a/examples/plot_regressor.py b/examples/plot_regressor.py index ffc55b3..b299cf2 100644 --- a/examples/plot_regressor.py +++ b/examples/plot_regressor.py @@ -8,6 +8,7 @@ the results of a Lasso model. """ + import groupyr as gpr import matplotlib.pyplot as plt import numpy as np diff --git a/examples/plot_sgl_path.py b/examples/plot_sgl_path.py index 5752d54..a2c8b66 100644 --- a/examples/plot_sgl_path.py +++ b/examples/plot_sgl_path.py @@ -19,6 +19,7 @@ In practise it is necessary to tune alpha (and l1_ratio) to best fit the training data. """ + import groupyr as gpr import matplotlib.pyplot as plt import numpy as np diff --git a/groupyr/__init__.py b/groupyr/__init__.py index 03ff1a1..ceecac1 100755 --- a/groupyr/__init__.py +++ b/groupyr/__init__.py @@ -4,6 +4,7 @@ It provides scikit-learn compatible estimators, including cross-validation estimators. See https://richford.github.io/groupyr for more details. """ + from . import datasets # noqa from . import utils # noqa from .sgl import * # noqa diff --git a/groupyr/_base.py b/groupyr/_base.py index 91e278b..02262ef 100644 --- a/groupyr/_base.py +++ b/groupyr/_base.py @@ -1,4 +1,5 @@ """Create base classes based on the sparse group lasso.""" + import contextlib import copt as cp import numpy as np diff --git a/groupyr/_prox.py b/groupyr/_prox.py index 7e4b37f..75dbf11 100755 --- a/groupyr/_prox.py +++ b/groupyr/_prox.py @@ -1,4 +1,5 @@ """Define custom proximal operators for use with copt package.""" + from __future__ import absolute_import, division, print_function import numpy as np diff --git a/groupyr/datasets.py b/groupyr/datasets.py index dccd4d0..5c28c5e 100755 --- a/groupyr/datasets.py +++ b/groupyr/datasets.py @@ -1,4 +1,5 @@ """Generate samples of synthetic data sets.""" + import numpy as np from sklearn.datasets import make_classification, make_regression diff --git a/groupyr/decomposition.py b/groupyr/decomposition.py index 71f6f83..b5c702d 100644 --- a/groupyr/decomposition.py +++ b/groupyr/decomposition.py @@ -1,4 +1,5 @@ """Perform group-wise functional PCA of feature matrices with grouped covariates.""" + import inspect import numpy as np diff --git a/groupyr/logistic.py b/groupyr/logistic.py index 44c447e..99fb89d 100644 --- a/groupyr/logistic.py +++ b/groupyr/logistic.py @@ -1,4 +1,5 @@ """Create logistic estimators based on the sparse group lasso.""" + import contextlib import logging import numpy as np diff --git a/groupyr/sgl.py b/groupyr/sgl.py index 77f9ae1..cfcbf71 100644 --- a/groupyr/sgl.py +++ b/groupyr/sgl.py @@ -1,4 +1,5 @@ """Create regression estimators based on the sparse group lasso.""" + import contextlib import logging import numpy as np @@ -244,7 +245,7 @@ def _alpha_grid( n_samples = len(y) if Xy is None: X = check_array(X, accept_sparse=False, copy=(copy_X and fit_intercept)) - X, y, _, _, _ = _preprocess_data(X, y, fit_intercept, normalize, copy=False) + X, y, _, _, _ = _preprocess_data(X, y, fit_intercept=fit_intercept, copy=False) Xy = safe_sparse_dot(X.T, y, dense_output=True) if Xy.ndim == 1: diff --git a/groupyr/tests/test_transform.py b/groupyr/tests/test_transform.py index 7c4add6..4294e7f 100644 --- a/groupyr/tests/test_transform.py +++ b/groupyr/tests/test_transform.py @@ -297,12 +297,12 @@ def test_GroupAggregator(): X_ref = np.array([np.array([1, 4, 7, 9]) + i * 10 for i in range(10)]) assert np.allclose(X_tr, X_ref) # nosec - ga = GroupAggregator(func=["mean", np.max], groups=groups, group_names=group_names) + ga = GroupAggregator(func=["mean", np.amax], groups=groups, group_names=group_names) X_tr = ga.fit_transform(X) feature_names_ref = [] for grp in group_names: feature_names_ref.append("__".join([grp, "mean"])) - feature_names_ref.append("__".join([grp, "max"])) + feature_names_ref.append("__".join([grp, "amax"])) assert ga.feature_names_out_ == feature_names_ref # nosec X_ref = np.array([np.array([1, 2, 4, 5, 7, 8, 9, 9]) + i * 10 for i in range(10)]) diff --git a/groupyr/transform.py b/groupyr/transform.py index d7632c9..ed7264e 100644 --- a/groupyr/transform.py +++ b/groupyr/transform.py @@ -1,4 +1,5 @@ """Transform feature matrices with grouped covariates.""" + import logging import numpy as np diff --git a/groupyr/utils.py b/groupyr/utils.py index 11d3d28..6c899ed 100755 --- a/groupyr/utils.py +++ b/groupyr/utils.py @@ -1,4 +1,5 @@ """Utility functions for SGL-based estimators.""" + import numpy as np from collections.abc import Sequence diff --git a/setup.cfg b/setup.cfg index 46d6374..1c14fa3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -37,6 +37,7 @@ install_requires = scipy scikit-optimize==0.9.0 tqdm + numpy>=1.22.4 zip_safe = False include_package_data = True packages = find: diff --git a/setup.py b/setup.py index ee1dbcf..fe7fdea 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ """A scikit-learn compatible library for penalized regression with grouped data.""" + from setuptools import setup import string import os.path as op