From 1cbed2bec166b495bc4a0429fb08f7530f049c37 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 12:47:25 +0000 Subject: automatic import of python-pyglmnet --- python-pyglmnet.spec | 402 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 402 insertions(+) create mode 100644 python-pyglmnet.spec (limited to 'python-pyglmnet.spec') diff --git a/python-pyglmnet.spec b/python-pyglmnet.spec new file mode 100644 index 0000000..9c1fe62 --- /dev/null +++ b/python-pyglmnet.spec @@ -0,0 +1,402 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyglmnet +Version: 1.1 +Release: 1 +Summary: Elastic-net regularized generalized linear models. +License: MIT +URL: http://glm-tools.github.io/pyglmnet/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b3/b4/862550f7a6289752abd9c5ceb534259530c57a930371485c0704944ec1d4/pyglmnet-1.1.tar.gz +BuildArch: noarch + + +%description +A python implementation of elastic-net regularized generalized linear models +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +|License| |Travis| |Codecov| |Circle| |Gitter| |DOI| +`[Documentation (stable version)]`_ `[Documentation (development version)]`_ +`Generalized linear +models `__ are +well-established tools for regression and classification and are widely +applied across the sciences, economics, business, and finance. They are +uniquely identifiable due to their convex loss and easy to interpret due +to their point-wise non-linearities and well-defined noise models. +In the era of exploratory data analyses with a large number of predictor +variables, it is important to regularize. Regularization prevents +overfitting by penalizing the negative log likelihood and can be used to +articulate prior knowledge about the parameters in a structured form. +Despite the attractiveness of regularized GLMs, the available tools in +the Python data science eco-system are highly fragmented. More +specifically, +- `statsmodels `__ + provides a wide range of link functions but no regularization. +- `scikit-learn `__ + provides elastic net regularization but only for linear models. +- `lightning `__ + provides elastic net and group lasso regularization, but only for + linear and logistic regression. +**Pyglmnet** is a response to this fragmentation. It runs on Python 3.5+, +and here are some of the highlights. +- Pyglmnet provides a wide range of noise models (and paired canonical + link functions): ``'gaussian'``, ``'binomial'``, ``'probit'``, + ``'gamma'``, '``poisson``', and ``'softplus'``. +- It supports a wide range of regularizers: ridge, lasso, elastic net, + `group + lasso `__, + and `Tikhonov + regularization `__. +- Pyglmnet's API is designed to be compatible with scikit-learn, so you + can deploy ``Pipeline`` tools such as ``GridSearchCV()`` and + ``cross_val_score()``. +- We follow the same approach and notations as in `Friedman, J., + Hastie, T., & Tibshirani, R. + (2010) `__ and the + accompanying widely popular `R + package `__. +- We have implemented a cyclical coordinate descent optimizer with + Newton update, active sets, update caching, and warm restarts. This + optimization approach is identical to the one used in R package. +- A number of Python wrappers exist for the R glmnet package (e.g. + `here `__ and + `here `__) but in contrast to + these, Pyglmnet is a pure python implementation. Therefore, it is + easy to modify and introduce additional noise models and regularizers + in the future. +Installation +~~~~~~~~~~~~ +Install the stable PyPI version with ``pip`` + $ pip install pyglmnet +For the bleeding edge development version: +Clone the repository. + $ pip install https://api.github.com/repos/glm-tools/pyglmnet/zipball/master +Getting Started +~~~~~~~~~~~~~~~ +Here is an example on how to use the ``GLM`` estimator. + import numpy as np + import scipy.sparse as sps + from pyglmnet import GLM, simulate_glm + n_samples, n_features = 1000, 100 + distr = 'poisson' + # sample a sparse model + beta0 = np.random.rand() + beta = np.random.random(n_features) + beta[beta < 0.9] = 0 + # simulate data + Xtrain = np.random.normal(0.0, 1.0, [n_samples, n_features]) + ytrain = simulate_glm('poisson', beta0, beta, Xtrain) + Xtest = np.random.normal(0.0, 1.0, [n_samples, n_features]) + ytest = simulate_glm('poisson', beta0, beta, Xtest) + # create an instance of the GLM class + glm = GLM(distr='poisson', score_metric='deviance') + # fit the model on the training data + glm.fit(Xtrain, ytrain) + # predict using fitted model on the test data + yhat = glm.predict(Xtest) + # score the model on test data + deviance = glm.score(Xtest, ytest) +`More pyglmnet examples and use +cases `__. +Tutorial +~~~~~~~~ +Here is an `extensive +tutorial `__ on GLMs, +optimization and pseudo-code. +Here are +`slides `__ from a +talk at `PyData Chicago +2016 `__, +corresponding `tutorial +notebooks `__ and a +`video `__. +How to contribute? +~~~~~~~~~~~~~~~~~~ +We welcome pull requests. Please see our `developer documentation +page `__ for more +details. +Acknowledgments +~~~~~~~~~~~~~~~ +- `Konrad Kording `__ for funding and support +- `Sara + Solla `__ + for masterful GLM lectures +License +~~~~~~~ +MIT License Copyright (c) 2016-2019 Pavan Ramkumar + +%package -n python3-pyglmnet +Summary: Elastic-net regularized generalized linear models. +Provides: python-pyglmnet +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyglmnet +A python implementation of elastic-net regularized generalized linear models +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +|License| |Travis| |Codecov| |Circle| |Gitter| |DOI| +`[Documentation (stable version)]`_ `[Documentation (development version)]`_ +`Generalized linear +models `__ are +well-established tools for regression and classification and are widely +applied across the sciences, economics, business, and finance. They are +uniquely identifiable due to their convex loss and easy to interpret due +to their point-wise non-linearities and well-defined noise models. +In the era of exploratory data analyses with a large number of predictor +variables, it is important to regularize. Regularization prevents +overfitting by penalizing the negative log likelihood and can be used to +articulate prior knowledge about the parameters in a structured form. +Despite the attractiveness of regularized GLMs, the available tools in +the Python data science eco-system are highly fragmented. More +specifically, +- `statsmodels `__ + provides a wide range of link functions but no regularization. +- `scikit-learn `__ + provides elastic net regularization but only for linear models. +- `lightning `__ + provides elastic net and group lasso regularization, but only for + linear and logistic regression. +**Pyglmnet** is a response to this fragmentation. It runs on Python 3.5+, +and here are some of the highlights. +- Pyglmnet provides a wide range of noise models (and paired canonical + link functions): ``'gaussian'``, ``'binomial'``, ``'probit'``, + ``'gamma'``, '``poisson``', and ``'softplus'``. +- It supports a wide range of regularizers: ridge, lasso, elastic net, + `group + lasso `__, + and `Tikhonov + regularization `__. +- Pyglmnet's API is designed to be compatible with scikit-learn, so you + can deploy ``Pipeline`` tools such as ``GridSearchCV()`` and + ``cross_val_score()``. +- We follow the same approach and notations as in `Friedman, J., + Hastie, T., & Tibshirani, R. + (2010) `__ and the + accompanying widely popular `R + package `__. +- We have implemented a cyclical coordinate descent optimizer with + Newton update, active sets, update caching, and warm restarts. This + optimization approach is identical to the one used in R package. +- A number of Python wrappers exist for the R glmnet package (e.g. + `here `__ and + `here `__) but in contrast to + these, Pyglmnet is a pure python implementation. Therefore, it is + easy to modify and introduce additional noise models and regularizers + in the future. +Installation +~~~~~~~~~~~~ +Install the stable PyPI version with ``pip`` + $ pip install pyglmnet +For the bleeding edge development version: +Clone the repository. + $ pip install https://api.github.com/repos/glm-tools/pyglmnet/zipball/master +Getting Started +~~~~~~~~~~~~~~~ +Here is an example on how to use the ``GLM`` estimator. + import numpy as np + import scipy.sparse as sps + from pyglmnet import GLM, simulate_glm + n_samples, n_features = 1000, 100 + distr = 'poisson' + # sample a sparse model + beta0 = np.random.rand() + beta = np.random.random(n_features) + beta[beta < 0.9] = 0 + # simulate data + Xtrain = np.random.normal(0.0, 1.0, [n_samples, n_features]) + ytrain = simulate_glm('poisson', beta0, beta, Xtrain) + Xtest = np.random.normal(0.0, 1.0, [n_samples, n_features]) + ytest = simulate_glm('poisson', beta0, beta, Xtest) + # create an instance of the GLM class + glm = GLM(distr='poisson', score_metric='deviance') + # fit the model on the training data + glm.fit(Xtrain, ytrain) + # predict using fitted model on the test data + yhat = glm.predict(Xtest) + # score the model on test data + deviance = glm.score(Xtest, ytest) +`More pyglmnet examples and use +cases `__. +Tutorial +~~~~~~~~ +Here is an `extensive +tutorial `__ on GLMs, +optimization and pseudo-code. +Here are +`slides `__ from a +talk at `PyData Chicago +2016 `__, +corresponding `tutorial +notebooks `__ and a +`video `__. +How to contribute? +~~~~~~~~~~~~~~~~~~ +We welcome pull requests. Please see our `developer documentation +page `__ for more +details. +Acknowledgments +~~~~~~~~~~~~~~~ +- `Konrad Kording `__ for funding and support +- `Sara + Solla `__ + for masterful GLM lectures +License +~~~~~~~ +MIT License Copyright (c) 2016-2019 Pavan Ramkumar + +%package help +Summary: Development documents and examples for pyglmnet +Provides: python3-pyglmnet-doc +%description help +A python implementation of elastic-net regularized generalized linear models +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +|License| |Travis| |Codecov| |Circle| |Gitter| |DOI| +`[Documentation (stable version)]`_ `[Documentation (development version)]`_ +`Generalized linear +models `__ are +well-established tools for regression and classification and are widely +applied across the sciences, economics, business, and finance. They are +uniquely identifiable due to their convex loss and easy to interpret due +to their point-wise non-linearities and well-defined noise models. +In the era of exploratory data analyses with a large number of predictor +variables, it is important to regularize. Regularization prevents +overfitting by penalizing the negative log likelihood and can be used to +articulate prior knowledge about the parameters in a structured form. +Despite the attractiveness of regularized GLMs, the available tools in +the Python data science eco-system are highly fragmented. More +specifically, +- `statsmodels `__ + provides a wide range of link functions but no regularization. +- `scikit-learn `__ + provides elastic net regularization but only for linear models. +- `lightning `__ + provides elastic net and group lasso regularization, but only for + linear and logistic regression. +**Pyglmnet** is a response to this fragmentation. It runs on Python 3.5+, +and here are some of the highlights. +- Pyglmnet provides a wide range of noise models (and paired canonical + link functions): ``'gaussian'``, ``'binomial'``, ``'probit'``, + ``'gamma'``, '``poisson``', and ``'softplus'``. +- It supports a wide range of regularizers: ridge, lasso, elastic net, + `group + lasso `__, + and `Tikhonov + regularization `__. +- Pyglmnet's API is designed to be compatible with scikit-learn, so you + can deploy ``Pipeline`` tools such as ``GridSearchCV()`` and + ``cross_val_score()``. +- We follow the same approach and notations as in `Friedman, J., + Hastie, T., & Tibshirani, R. + (2010) `__ and the + accompanying widely popular `R + package `__. +- We have implemented a cyclical coordinate descent optimizer with + Newton update, active sets, update caching, and warm restarts. This + optimization approach is identical to the one used in R package. +- A number of Python wrappers exist for the R glmnet package (e.g. + `here `__ and + `here `__) but in contrast to + these, Pyglmnet is a pure python implementation. Therefore, it is + easy to modify and introduce additional noise models and regularizers + in the future. +Installation +~~~~~~~~~~~~ +Install the stable PyPI version with ``pip`` + $ pip install pyglmnet +For the bleeding edge development version: +Clone the repository. + $ pip install https://api.github.com/repos/glm-tools/pyglmnet/zipball/master +Getting Started +~~~~~~~~~~~~~~~ +Here is an example on how to use the ``GLM`` estimator. + import numpy as np + import scipy.sparse as sps + from pyglmnet import GLM, simulate_glm + n_samples, n_features = 1000, 100 + distr = 'poisson' + # sample a sparse model + beta0 = np.random.rand() + beta = np.random.random(n_features) + beta[beta < 0.9] = 0 + # simulate data + Xtrain = np.random.normal(0.0, 1.0, [n_samples, n_features]) + ytrain = simulate_glm('poisson', beta0, beta, Xtrain) + Xtest = np.random.normal(0.0, 1.0, [n_samples, n_features]) + ytest = simulate_glm('poisson', beta0, beta, Xtest) + # create an instance of the GLM class + glm = GLM(distr='poisson', score_metric='deviance') + # fit the model on the training data + glm.fit(Xtrain, ytrain) + # predict using fitted model on the test data + yhat = glm.predict(Xtest) + # score the model on test data + deviance = glm.score(Xtest, ytest) +`More pyglmnet examples and use +cases `__. +Tutorial +~~~~~~~~ +Here is an `extensive +tutorial `__ on GLMs, +optimization and pseudo-code. +Here are +`slides `__ from a +talk at `PyData Chicago +2016 `__, +corresponding `tutorial +notebooks `__ and a +`video `__. +How to contribute? +~~~~~~~~~~~~~~~~~~ +We welcome pull requests. Please see our `developer documentation +page `__ for more +details. +Acknowledgments +~~~~~~~~~~~~~~~ +- `Konrad Kording `__ for funding and support +- `Sara + Solla `__ + for masterful GLM lectures +License +~~~~~~~ +MIT License Copyright (c) 2016-2019 Pavan Ramkumar + +%prep +%autosetup -n pyglmnet-1.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pyglmnet -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 1.1-1 +- Package Spec generated -- cgit v1.2.3