summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 12:47:25 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 12:47:25 +0000
commit1cbed2bec166b495bc4a0429fb08f7530f049c37 (patch)
tree658712fb0518d279f129eb07b295c60ddbdf0fbd
parent133c33978b9270a1e381064ef14c514e1a1105fa (diff)
automatic import of python-pyglmnetopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-pyglmnet.spec402
-rw-r--r--sources1
3 files changed, 404 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f55074e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyglmnet-1.1.tar.gz
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 <https://en.wikipedia.org/wiki/Generalized_linear_model>`__ 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 <http://statsmodels.sourceforge.net/devel/glm.html>`__
+ provides a wide range of link functions but no regularization.
+- `scikit-learn <http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html>`__
+ provides elastic net regularization but only for linear models.
+- `lightning <https://github.com/scikit-learn-contrib/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 <https://en.wikipedia.org/wiki/Proximal_gradient_methods_for_learning#Group_lasso>`__,
+ and `Tikhonov
+ regularization <https://en.wikipedia.org/wiki/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) <https://core.ac.uk/download/files/153/6287975.pdf>`__ and the
+ accompanying widely popular `R
+ package <https://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html>`__.
+- 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 <https://github.com/civisanalytics/python-glmnet>`__ and
+ `here <https://github.com/dwf/glmnet-python>`__) 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 <http://glm-tools.github.io/pyglmnet/auto_examples/index.html>`__.
+Tutorial
+~~~~~~~~
+Here is an `extensive
+tutorial <http://glm-tools.github.io/pyglmnet/tutorial.html>`__ on GLMs,
+optimization and pseudo-code.
+Here are
+`slides <https://pavanramkumar.github.io/pydata-chicago-2016>`__ from a
+talk at `PyData Chicago
+2016 <http://pydata.org/chicago2016/schedule/presentation/15/>`__,
+corresponding `tutorial
+notebooks <http://github.com/pavanramkumar/pydata-chicago-2016>`__ and a
+`video <https://www.youtube.com/watch?v=zXec96KD1uA>`__.
+How to contribute?
+~~~~~~~~~~~~~~~~~~
+We welcome pull requests. Please see our `developer documentation
+page <http://glm-tools.github.io/pyglmnet/developers.html>`__ for more
+details.
+Acknowledgments
+~~~~~~~~~~~~~~~
+- `Konrad Kording <http://kordinglab.com>`__ for funding and support
+- `Sara
+ Solla <http://www.physics.northwestern.edu/people/joint-faculty/sara-solla.html>`__
+ 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 <https://en.wikipedia.org/wiki/Generalized_linear_model>`__ 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 <http://statsmodels.sourceforge.net/devel/glm.html>`__
+ provides a wide range of link functions but no regularization.
+- `scikit-learn <http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html>`__
+ provides elastic net regularization but only for linear models.
+- `lightning <https://github.com/scikit-learn-contrib/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 <https://en.wikipedia.org/wiki/Proximal_gradient_methods_for_learning#Group_lasso>`__,
+ and `Tikhonov
+ regularization <https://en.wikipedia.org/wiki/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) <https://core.ac.uk/download/files/153/6287975.pdf>`__ and the
+ accompanying widely popular `R
+ package <https://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html>`__.
+- 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 <https://github.com/civisanalytics/python-glmnet>`__ and
+ `here <https://github.com/dwf/glmnet-python>`__) 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 <http://glm-tools.github.io/pyglmnet/auto_examples/index.html>`__.
+Tutorial
+~~~~~~~~
+Here is an `extensive
+tutorial <http://glm-tools.github.io/pyglmnet/tutorial.html>`__ on GLMs,
+optimization and pseudo-code.
+Here are
+`slides <https://pavanramkumar.github.io/pydata-chicago-2016>`__ from a
+talk at `PyData Chicago
+2016 <http://pydata.org/chicago2016/schedule/presentation/15/>`__,
+corresponding `tutorial
+notebooks <http://github.com/pavanramkumar/pydata-chicago-2016>`__ and a
+`video <https://www.youtube.com/watch?v=zXec96KD1uA>`__.
+How to contribute?
+~~~~~~~~~~~~~~~~~~
+We welcome pull requests. Please see our `developer documentation
+page <http://glm-tools.github.io/pyglmnet/developers.html>`__ for more
+details.
+Acknowledgments
+~~~~~~~~~~~~~~~
+- `Konrad Kording <http://kordinglab.com>`__ for funding and support
+- `Sara
+ Solla <http://www.physics.northwestern.edu/people/joint-faculty/sara-solla.html>`__
+ 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 <https://en.wikipedia.org/wiki/Generalized_linear_model>`__ 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 <http://statsmodels.sourceforge.net/devel/glm.html>`__
+ provides a wide range of link functions but no regularization.
+- `scikit-learn <http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html>`__
+ provides elastic net regularization but only for linear models.
+- `lightning <https://github.com/scikit-learn-contrib/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 <https://en.wikipedia.org/wiki/Proximal_gradient_methods_for_learning#Group_lasso>`__,
+ and `Tikhonov
+ regularization <https://en.wikipedia.org/wiki/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) <https://core.ac.uk/download/files/153/6287975.pdf>`__ and the
+ accompanying widely popular `R
+ package <https://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html>`__.
+- 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 <https://github.com/civisanalytics/python-glmnet>`__ and
+ `here <https://github.com/dwf/glmnet-python>`__) 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 <http://glm-tools.github.io/pyglmnet/auto_examples/index.html>`__.
+Tutorial
+~~~~~~~~
+Here is an `extensive
+tutorial <http://glm-tools.github.io/pyglmnet/tutorial.html>`__ on GLMs,
+optimization and pseudo-code.
+Here are
+`slides <https://pavanramkumar.github.io/pydata-chicago-2016>`__ from a
+talk at `PyData Chicago
+2016 <http://pydata.org/chicago2016/schedule/presentation/15/>`__,
+corresponding `tutorial
+notebooks <http://github.com/pavanramkumar/pydata-chicago-2016>`__ and a
+`video <https://www.youtube.com/watch?v=zXec96KD1uA>`__.
+How to contribute?
+~~~~~~~~~~~~~~~~~~
+We welcome pull requests. Please see our `developer documentation
+page <http://glm-tools.github.io/pyglmnet/developers.html>`__ for more
+details.
+Acknowledgments
+~~~~~~~~~~~~~~~
+- `Konrad Kording <http://kordinglab.com>`__ for funding and support
+- `Sara
+ Solla <http://www.physics.northwestern.edu/people/joint-faculty/sara-solla.html>`__
+ 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 <Python_Bot@openeuler.org> - 1.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..9625aad
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e7a90f472d7613162ad1deb372087b09 pyglmnet-1.1.tar.gz