diff --git a/CHANGELOG.md b/CHANGELOG.md index 0678ad3..b813ff3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## [0.0.1] - 2018-11-10 +## [0.4.0] - 2019-11-10 ### Added - First version of the library -- Gaussian process Regressor -- Student's t process Regressor -- Sparse Gaussian process Regressor +- Linear Regression - Documentation \ No newline at end of file diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 54337c2..175a86a 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,6 +1,6 @@ -Thank you for considering contributing to ``pymc-learn``! This project is intended to be a space where anyone can share models they've built. +Thank you for considering contributing to ``pymc-learn``! -Please read these guidelines before submitting anything to the project. As of the first release, I'm the only person working on this project so respecting these guidelines will help me get back to you more quickly. +Please read these guidelines before submitting anything to the project. Some ways to contribute: @@ -8,11 +8,12 @@ Some ways to contribute: - Improve the docs! - Add a new machine-learning model. Please follow the guidelines below. - Add/change existing functionality in the base function classes for ML. -- Something I haven't thought of? +- Something else. Pull/Merge Requests --------------------- -To create a Pull Request against this library, please fork the project and work from there. +To create a Pull Request against this library, +please fork the project and work from there. Steps ................ @@ -34,7 +35,8 @@ Steps git checkout -b my-new-feature-branch -Always use a ``feature`` branch. It's good practice to never routinely work on the ``master`` branch. +Always use a ``feature`` branch. It's good practice to never routinely work on +the ``master`` branch. 4. Install requirements (probably in a virtual environment) @@ -108,12 +110,3 @@ Notes: - Docstrings should be written as numpy docstrings - Your code should be Python 3 compatible - When in doubt, follow the style of the existing code - -Transitioning from PyMC3 to PyMC4 ------------------------------------ - -.. raw:: html - - -

.@pymc_learn has been following closely the development of #PyMC4 with the aim of switching its backend from #PyMC3 to PyMC4 as the latter grows to maturity. Core devs are invited. Here's the tentative roadmap for PyMC4: https://t.co/Kwjkykqzup cc @pymc_devs https://t.co/Ze0tyPsIGH

— pymc-learn (@pymc_learn) November 5, 2018
- \ No newline at end of file diff --git a/README.rst b/README.rst index 6965abf..698b481 100644 --- a/README.rst +++ b/README.rst @@ -33,29 +33,15 @@ and unsupervised machine learning. **It is inspired by** machine learning to non-specialists**. It uses a syntax that mimics scikit-learn. Emphasis is put on ease of use, productivity, flexibility, performance, documentation, and an API consistent with scikit-learn. It depends on scikit-learn -and `PyMC3 `_ and is distributed under the new BSD-3 license, +and `PyMC4 `_ and is distributed under the new BSD-3 license, encouraging its use in both academia and industry. Users can now have calibrated quantities of uncertainty in their models using powerful inference algorithms -- such as MCMC or Variational inference -- -provided by `PyMC3 `_. +provided by `PyMC4 `_. See :doc:`why` for a more detailed description of why ``pymc-learn`` was created. -.. NOTE:: - ``pymc-learn`` leverages and extends the Base template provided by the - PyMC3 Models project: https://github.com/parsing-science/pymc3_models - - -Transitioning from PyMC3 to PyMC4 -.................................. - -.. raw:: html - - - - - ---- Familiar user interface @@ -100,8 +86,8 @@ Or from source as follows: Dependencies ................ -``pymc-learn`` is tested on Python 2.7, 3.5 & 3.6 and depends on Theano, -PyMC3, Scikit-learn, NumPy, SciPy, and Matplotlib (see ``requirements.txt`` +``pymc-learn`` is tested on Python 2.7, 3.5 & 3.6 and depends on TensorFlow, +PyMC4, Scikit-learn, NumPy, SciPy, and Matplotlib (see ``requirements.txt`` for version information). ---- @@ -142,7 +128,7 @@ Differentation Variational Inference (ADVI) is illustrated in the code below. Instead of drawing samples from the posterior, these algorithms fit a distribution (e.g. normal) to the posterior turning a sampling problem into -an optimization problem. ADVI is provided PyMC3. +an optimization problem. ADVI is provided PyMC4. ---- @@ -165,24 +151,6 @@ Or using BibTex as follows: year={2018} } -If you want to cite ``pymc-learn`` for its API, you may also want to consider -this reference:: - - Carlson, Nicole (2018). Custom PyMC3 models built on top of the scikit-learn - API. https://github.com/parsing-science/pymc3_models - -Or using BibTex as follows: - -.. code-block:: latex - - @article{Pymc3_models, - title={pymc3_models: Custom PyMC3 models built on top of the scikit-learn API, - author={Carlson, Nicole}, - journal={}, - url={https://github.com/parsing-science/pymc3_models} - year={2018} - } - License .............. @@ -251,9 +219,6 @@ in a familiar scikit-learn syntax. **API Reference** -``pymc-learn`` leverages and extends the Base template provided by the PyMC3 -Models project: https://github.com/parsing-science/pymc3_models. - * :doc:`api` .. toctree:: diff --git a/docs/changelog.rst b/docs/changelog.rst index b562903..5a5a50d 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,14 +1,13 @@ Changelog ========= -0.0.1 / 2019-01-01 +0.4.0 / 2019-10-11 ------------------- Models +++++++ -- Added Gaussian process regression, students t process, sparse gaussian process -- Added Multilayer perceptron +- Added Linear Regression model Documentation diff --git a/docs/develop.rst b/docs/develop.rst index 8202cc4..069ce1b 100644 --- a/docs/develop.rst +++ b/docs/develop.rst @@ -1,9 +1,9 @@ Contributing ============= -Thank you for considering contributing to ``pymc-learn``! This project is intended to be a space where anyone can share models they've built. +Thank you for considering contributing to ``pymc-learn``! -Please read these guidelines before submitting anything to the project. As of the first release, I'm the only person working on this project so respecting these guidelines will help me get back to you more quickly. +Please read these guidelines before submitting anything to the project. Some ways to contribute: @@ -11,7 +11,7 @@ Some ways to contribute: - Improve the docs! - Add a new machine-learning model. Please follow the guidelines below. - Add/change existing functionality in the base function classes for ML. -- Something I haven't thought of? +- Something else. Pull/Merge Requests --------------------- @@ -107,7 +107,7 @@ For the most part, this library follows PEP8 with a couple of exceptions. Notes: - Indent with 4 spaces -- Lines can be 120 characters long +- Lines can be 80 characters long - Docstrings should be written as numpy docstrings - Your code should be Python 3 compatible - When in doubt, follow the style of the existing code @@ -117,13 +117,4 @@ Contact To report an issue with ``pymc-learn`` please use the `issue tracker `__. -Finally, if you need to get in touch for information about the project, `send us an e-mail `__. - -Transitioning from PyMC3 to PyMC4 ------------------------------------ - -.. raw:: html - - - - \ No newline at end of file +Finally, if you need to get in touch for information about the project, `send us an e-mail `__. \ No newline at end of file diff --git a/docs/install.rst b/docs/install.rst index 68a3fa5..ae2355d 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -26,15 +26,7 @@ Or from source as follows: ``pymc-learn`` is under heavy development. -This also installs required dependencies including Theano. -For alternative Theano installations (e.g., gpu), please see the -instructions on the main `Theano webpage `_. +This also installs required dependencies including TensorFlow. +For alternative TensorFlow installations (e.g., gpu), please see the +instructions on the main `TensorFlow webpage `_. -Transitioning from PyMC3 to PyMC4 -.................................. - -.. raw:: html - - - - \ No newline at end of file diff --git a/docs/why.rst b/docs/why.rst index 4723631..a135253 100644 --- a/docs/why.rst +++ b/docs/why.rst @@ -27,9 +27,9 @@ pymc-learn prioritizes user experience lr = LinearRegression() lr = LinearRegression() lr.fit(X, y) lr.fit(X, y) -- *Flexibility*: This ease of use does not come at the cost of reduced flexibility. Given that ``pymc-learn`` integrates with `PyMC3 `_, it enables you to implement anything you could have built in the base language. +- *Flexibility*: This ease of use does not come at the cost of reduced flexibility. Given that ``pymc-learn`` integrates with `PyMC4 `_, it enables you to implement anything you could have built in the base language. -- *Performance*. The primary inference algorithm is gradient-based automatic differentiation variational inference (ADVI) (Kucukelbir et al., 2017), which estimates a divergence measure between approximate and true posterior distributions. Pymc-learn scales to complex, high-dimensional models thanks to GPU-accelerated tensor math and reverse-mode automatic differentiation via Theano (Theano Development Team, 2016), and it scales to large datasets thanks to estimates computed over mini-batches of data in ADVI. +- *Performance*. The primary inference algorithm is gradient-based automatic differentiation variational inference (ADVI) (Kucukelbir et al., 2017), which estimates a divergence measure between approximate and true posterior distributions. Pymc-learn scales to complex, high-dimensional models thanks to GPU-accelerated tensor math and reverse-mode automatic differentiation via TensorFlow (TensorFlow Development Team, 2016), and it scales to large datasets thanks to estimates computed over mini-batches of data in ADVI. ---- @@ -75,18 +75,9 @@ on: (6) an API consistent with scikit-learn. -The underlying probabilistic models are built using pymc3 (Salvatier et al., 2016). +The underlying probabilistic models are built using pymc4 (Salvatier et al., 2019). -Transitioning from PyMC3 to PyMC4 -.................................. - -.. raw:: html - - - - - Python is the lingua franca of Data Science -------------------------------------------- @@ -112,27 +103,17 @@ notebooks, collaboration, and so forth. ---- -Why scikit-learn and PyMC3 +Why scikit-learn and PyMC4 --------------------------- -PyMC3 is a Python package for probabilistic machine learning that enables users +PyMC4 is a Python package for probabilistic machine learning that enables users to build bespoke models for their specific problems using a probabilistic -modeling framework. However, PyMC3 lacks the steps between creating a model and -reusing it with new data in production. The missing steps include: scoring a -model, saving a model for later use, and loading the model in production -systems. +modeling framework. -In contrast, *scikit-learn* which has become the standard +*scikit-learn* which has become the standard library for machine learning provides a simple API that makes it very easy for -users to train, score, save and load models in production. However, -*scikit-learn* may not have the model for a user's specific problem. -These limitations have led to the development of the open -source *pymc3-models* library which provides a template to build bespoke -PyMC3 models on top of the *scikit-learn* API and reuse them in -production. This enables users to easily and quickly train, score, save and -load their bespoke models just like in *scikit-learn*. - -The ``pymc-learn`` project adopted and extended the template in *pymc3-models* -to develop probabilistic versions of the estimators in *scikit-learn*. +users to train, score, save and load models in production. + +The ``pymc-learn`` project developed probabilistic versions of the estimators in *scikit-learn*. This provides users with probabilistic models in a simple workflow that mimics the scikit-learn API. @@ -190,10 +171,10 @@ References 4. Barber, D. (2012). Bayesian reasoning and machine learning. Cambridge University Press. -5. Salvatier, J., Wiecki, T. V., & Fonnesbeck, C. (2016). Probabilistic programming in Python using PyMC3. PeerJ Computer Science, 2, e55. +5. PyMC4. 6. Alp Kucukelbir, Dustin Tran, Rajesh Ranganath, Andrew Gelman, and David M Blei. Automatic differentiation variational inference. The Journal of Machine Learning Research, 18(1):430{474, 2017. 7. Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, et al. Scikit-learn: Machine learning in python. Journal of machine learning research, 12(Oct): 2825-2830, 2011. -8. Theano Development Team. Theano: A Python framework for fast computation of mathematical expressions. arXiv e-prints, abs/1605.02688, May 2016. URL http://arxiv.org/abs/1605.02688. \ No newline at end of file +8. TensorFlow \ No newline at end of file pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy