pymc-learn: Practical Probabilistic Machine Learning in Python

Overview

pymc-learn: Practical Probabilistic Machine Learning in Python

Pymc-Learn logo

status Travis Coverage Documentation Status Hex.pm Pypi Binder

Contents:

  1. Github repo
  2. What is pymc-learn?
  3. Quick Install
  4. Quick Start
  5. Index

What is pymc-learn?

pymc-learn is a library for practical probabilistic machine learning in Python.

It provides a variety of state-of-the art probabilistic models for supervised and unsupervised machine learning. It is inspired by scikit-learn and focuses on bringing probabilistic 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, 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. 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

.@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

Familiar user interface

pymc-learn mimics scikit-learn. You don't have to completely rewrite your scikit-learn ML code.

from sklearn.linear_model \                         from pmlearn.linear_model \
  import LinearRegression                             import LinearRegression
lr = LinearRegression()                             lr = LinearRegression()
lr.fit(X, y)                                        lr.fit(X, y)

The difference between the two models is that pymc-learn estimates model parameters using Bayesian inference algorithms such as MCMC or variational inference. This produces calibrated quantities of uncertainty for model parameters and predictions.


Quick Install

pymc-learn requires a working Python interpreter (2.7 or 3.5+). It is recommend installing Python and key numerical libraries using the Anaconda Distribution, which has one-click installers available on all major platforms.

Assuming a standard Python environment is installed on your machine (including pip), pymc-learn itself can be installed in one line using pip:

You can install pymc-learn from PyPi using pip as follows:

pip install pymc-learn

Or from source as follows:

pip install git+https://github.com/pymc-learn/pymc-learn

Caution!

pymc-learn is under heavy development.

It is recommended installing pymc-learn in a Conda environment because it provides Math Kernel Library (MKL) routines to accelerate math functions. If you are having trouble, try using a distribution of Python that includes these packages like Anaconda.

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 for version information).


Quick Start

# For regression using Bayesian Nonparametrics
>>> from sklearn.datasets import make_friedman2
>>> from pmlearn.gaussian_process import GaussianProcessRegressor
>>> from pmlearn.gaussian_process.kernels import DotProduct, WhiteKernel
>>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0)
>>> kernel = DotProduct() + WhiteKernel()
>>> gpr = GaussianProcessRegressor(kernel=kernel).fit(X, y)
>>> gpr.score(X, y)
0.3680...
>>> gpr.predict(X[:2,:], return_std=True)
(array([653.0..., 592.1...]), array([316.6..., 316.6...]))

Scales to Big Data & Complex Models

Recent research has led to the development of variational inference algorithms that are fast and almost as flexible as MCMC. For instance Automatic Differentation Variational Inference (ADVI) is illustrated in the code below.

from pmlearn.neural_network import MLPClassifier
model = MLPClassifier()
model.fit(X_train, y_train, inference_type="advi")

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.


Citing pymc-learn

To cite pymc-learn in publications, please use the following:

Emaasit, Daniel (2018). Pymc-learn: Practical probabilistic machine
learning in Python. arXiv preprint arXiv:1811.00542.

Or using BibTex as follows:

@article{emaasit2018pymc,
  title={Pymc-learn: Practical probabilistic machine learning in {P}ython},
  author={Emaasit, Daniel and others},
  journal={arXiv preprint arXiv:1811.00542},
  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:

@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

New BSD-3 license


Index

Getting Started

.. toctree::
   :maxdepth: 1
   :hidden:
   :caption: Getting Started

   install.rst
   support.rst
   why.rst


User Guide

The main documentation. This contains an in-depth description of all models and how to apply them.

.. toctree::
   :maxdepth: 1
   :hidden:
   :caption: User Guide

   user_guide.rst


Examples

Pymc-learn provides probabilistic models for machine learning, in a familiar scikit-learn syntax.

.. toctree::
   :maxdepth: 1
   :hidden:
   :caption: Examples

   regression.rst
   classification.rst
   mixture.rst
   neural_networks.rst


API Reference

pymc-learn leverages and extends the Base template provided by the PyMC3 Models project: https://github.com/parsing-science/pymc3_models.

.. toctree::
   :maxdepth: 1
   :hidden:
   :caption: API Reference

   api.rst


Help & reference

.. toctree::
   :maxdepth: 1
   :hidden:
   :caption: Help & reference

   develop.rst
   support.rst
   changelog.rst
   cite.rst

Comments
  • Dependent packages are pinned too specifically

    Dependent packages are pinned too specifically

    An unfortunate consequence of the manner in which the package dependencies are specified in the requirements.txt file is that it forces obsolete versions of important packages like numpy, pandas and scikit-learn on anyone who installs via pip install pymc-learn. I think it would be best to change the requirements.txt file to use >= instead of == wherever possible, unless it has been demonstrated that newer versions of specific dependencies genuinely exhibit incompatibilities. Otherwise, it might be better to warn prospective users that they ought to create a brand new virtual environment to use this package.

    opened by alapite 3
  • PyMCon

    PyMCon

    Hi everyone!

    As you may have already seen on Twitter or on PyMC Discourse, we are planning a virtual conference for the PyMC community. All the information is available in the Discourse post.

    We are currently looking for conference chairs and volunteers and would be very grateful if you could share the word! We also want to encourage any of you to, if you are interested and available, apply to be a conference chair.

    opened by OriolAbril 1
  • No requirements.txt while in the PyPi release

    No requirements.txt while in the PyPi release

    When I download the pymc-learn whl from PyPi, it looks like it is missing the requirements.txt file. You may want to make sure the build and packaging are correct.

    opened by Emaasit 1
  • pymc-learn fails with a theano error

    pymc-learn fails with a theano error

    Hi

    First time trying to install and use pymc-learn on a Windows10, Anaconda, pymc (latest stable) environment

    Here are the commands I ran and the error I get from the pymc-learn quick start guide:

    (pymc_learn) C:\Users\sreedatta>python
    Python 3.10.2 | packaged by conda-forge | (main, Jan 14 2022, 07:58:58) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from sklearn.datasets import make_friedman2
    >>> from pmlearn.gaussian_process import GaussianProcessRegressor
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    The imported Theano(-PyMC) module is broken.
    It was imported from _NamespacePath(['C:\\Users\\sreedatta\\Anaconda3\\envs\\pymc_learn\\lib\\site-packages\\theano'])
    Try to uninstall/reinstall it after closing all active sessions/notebooks.
    Also see https://github.com/pymc-devs/pymc3/wiki for installation instructions.
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Users\sreedatta\Anaconda3\envs\pymc_learn\lib\site-packages\pmlearn\gaussian_process\__init__.py", line 12, in <module>
        from .gpr import GaussianProcessRegressor
      File "C:\Users\sreedatta\Anaconda3\envs\pymc_learn\lib\site-packages\pmlearn\gaussian_process\gpr.py", line 8, in <module>
        import pymc3 as pm
      File "C:\Users\sreedatta\Anaconda3\envs\pymc_learn\lib\site-packages\pymc3\__init__.py", line 79, in <module>
        __set_compiler_flags()
      File "C:\Users\sreedatta\Anaconda3\envs\pymc_learn\lib\site-packages\pymc3\__init__.py", line 61, in __set_compiler_flags
        current = theano.config.gcc__cxxflags
    AttributeError: module 'theano' has no attribute 'config'
    

    Here is my environment setup (conda list output) for pymc-learn:

    # Name                    Version                   Build  Channel
    alabaster                 0.7.12                   pypi_0    pypi
    arviz                     0.11.4             pyhd8ed1ab_0    conda-forge
    babel                     2.9.1                    pypi_0    pypi
    brotli                    1.0.9                h8ffe710_6    conda-forge
    brotli-bin                1.0.9                h8ffe710_6    conda-forge
    bzip2                     1.0.8                h8ffe710_4    conda-forge
    ca-certificates           2021.10.8            h5b45459_0    conda-forge
    cachetools                5.0.0                    pypi_0    pypi
    cairo                     1.16.0            h15b3021_1009    conda-forge
    certifi                   2021.10.8       py310h5588dad_1    conda-forge
    cftime                    1.5.1.1         py310h2873277_1    conda-forge
    charset-normalizer        2.0.10                   pypi_0    pypi
    colorama                  0.4.4                    pypi_0    pypi
    curl                      7.81.0               h789b8ee_0    conda-forge
    cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
    dill                      0.3.4                    pypi_0    pypi
    docutils                  0.17.1                   pypi_0    pypi
    expat                     2.4.3                h39d44d4_0    conda-forge
    fastprogress              1.0.0                    pypi_0    pypi
    filelock                  3.4.2                    pypi_0    pypi
    font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
    font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
    font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
    font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
    fontconfig                2.13.1            h1989441_1005    conda-forge
    fonts-conda-ecosystem     1                             0    conda-forge
    fonts-conda-forge         1                             0    conda-forge
    fonttools                 4.28.5          py310he2412df_0    conda-forge
    freetype                  2.10.4               h546665d_1    conda-forge
    fribidi                   1.0.10               h8d14728_0    conda-forge
    future                    0.18.2                   pypi_0    pypi
    getopt-win32              0.1                  h8ffe710_0    conda-forge
    gettext                   0.19.8.1          ha2e2712_1008    conda-forge
    graphite2                 1.3.13                     1000    conda-forge
    graphviz                  2.50.0               had6c3a3_2    conda-forge
    gts                       0.7.6                h7c369d9_2    conda-forge
    harfbuzz                  3.2.0                hc1763ed_0    conda-forge
    hdf4                      4.2.15               h0e5069d_3    conda-forge
    hdf5                      1.12.1          nompi_h57737ce_103    conda-forge
    icu                       69.1                 h0e60522_0    conda-forge
    idna                      3.3                      pypi_0    pypi
    imagesize                 1.3.0                    pypi_0    pypi
    importlib-metadata        4.10.1          py310h5588dad_0    conda-forge
    importlib_metadata        4.10.1               hd8ed1ab_0    conda-forge
    intel-openmp              2022.0.0          h57928b3_3663    conda-forge
    jbig                      2.1               h8d14728_2003    conda-forge
    jinja2                    3.0.3                    pypi_0    pypi
    joblib                    1.1.0                    pypi_0    pypi
    jpeg                      9d                   h8ffe710_0    conda-forge
    kiwisolver                1.3.2           py310h476a331_1    conda-forge
    krb5                      1.19.2               h6da9e4a_3    conda-forge
    lcms2                     2.12                 h2a16943_0    conda-forge
    lerc                      3.0                  h0e60522_0    conda-forge
    libblas                   3.9.0              12_win64_mkl    conda-forge
    libbrotlicommon           1.0.9                h8ffe710_6    conda-forge
    libbrotlidec              1.0.9                h8ffe710_6    conda-forge
    libbrotlienc              1.0.9                h8ffe710_6    conda-forge
    libcblas                  3.9.0              12_win64_mkl    conda-forge
    libcurl                   7.81.0               h789b8ee_0    conda-forge
    libdeflate                1.8                  h8ffe710_0    conda-forge
    libffi                    3.4.2                h8ffe710_5    conda-forge
    libgd                     2.3.3                h217ff3b_1    conda-forge
    libglib                   2.70.2               h3be07f2_1    conda-forge
    libiconv                  1.16                 he774522_0    conda-forge
    liblapack                 3.9.0              12_win64_mkl    conda-forge
    libnetcdf                 4.8.1           nompi_h1cc8e9d_101    conda-forge
    libpng                    1.6.37               h1d00b33_2    conda-forge
    libpython                 2.1             py310h5588dad_1    conda-forge
    libssh2                   1.10.0               h9a1e1f7_2    conda-forge
    libtiff                   4.3.0                hd413186_2    conda-forge
    libwebp                   1.2.1                h57928b3_0    conda-forge
    libwebp-base              1.2.1                h8ffe710_0    conda-forge
    libxcb                    1.13              hcd874cb_1004    conda-forge
    libxml2                   2.9.12               hf5bbc77_1    conda-forge
    libzip                    1.8.0                h519de47_1    conda-forge
    libzlib                   1.2.11            h8ffe710_1013    conda-forge
    llvmlite                  0.38.0          py310h2c03ce5_0    conda-forge
    lz4-c                     1.9.3                h8ffe710_1    conda-forge
    m2w64-gcc-libgfortran     5.3.0                         6    conda-forge
    m2w64-gcc-libs            5.3.0                         7    conda-forge
    m2w64-gcc-libs-core       5.3.0                         7    conda-forge
    m2w64-gmp                 6.1.0                         2    conda-forge
    m2w64-libwinpthread-git   5.0.0.4634.697f757               2    conda-forge
    markupsafe                2.0.1                    pypi_0    pypi
    matplotlib-base           3.5.1           py310h79a7439_0    conda-forge
    mkl                       2021.4.0           h0e2418a_729    conda-forge
    mkl-service               2.4.0           py310hcf6e17e_0    conda-forge
    msys2-conda-epoch         20160418                      1    conda-forge
    munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
    netcdf4                   1.5.8           nompi_py310h5489b47_101    conda-forge
    numba                     0.55.0          py310h77579ad_0    conda-forge
    numpy                     1.21.5          py310hcae7c84_0    conda-forge
    numpydoc                  1.1.0                    pypi_0    pypi
    olefile                   0.46               pyh9f0ad1d_1    conda-forge
    openjpeg                  2.4.0                hb211442_1    conda-forge
    openssl                   3.0.0                h8ffe710_2    conda-forge
    packaging                 21.3               pyhd8ed1ab_0    conda-forge
    pandas                    1.3.5           py310hf5e1058_0    conda-forge
    pango                     1.50.3               h6a11761_0    conda-forge
    patsy                     0.5.2                    pypi_0    pypi
    pcre                      8.45                 h0e60522_0    conda-forge
    pillow                    8.4.0           py310h22f3323_0    conda-forge
    pip                       21.3.1             pyhd8ed1ab_0    conda-forge
    pixman                    0.40.0               h8ffe710_0    conda-forge
    pthread-stubs             0.4               hcd874cb_1001    conda-forge
    pygments                  2.11.2                   pypi_0    pypi
    pymc-learn                0.0.1rc3                 pypi_0    pypi
    pymc3                     3.11.4                   pypi_0    pypi
    pyparsing                 3.0.6              pyhd8ed1ab_0    conda-forge
    python                    3.10.2          hcf16a7b_0_cpython    conda-forge
    python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
    python-graphviz           0.19.1             pyhaef67bd_0    conda-forge
    python_abi                3.10                    2_cp310    conda-forge
    pytz                      2021.3             pyhd8ed1ab_0    conda-forge
    requests                  2.27.1                   pypi_0    pypi
    scikit-learn              1.0.2                    pypi_0    pypi
    scipy                     1.7.3           py310h33db832_0    conda-forge
    seaborn                   0.11.2                   pypi_0    pypi
    semver                    2.13.0                   pypi_0    pypi
    setuptools                59.8.0          py310h5588dad_0    conda-forge
    six                       1.16.0             pyh6c4a22f_0    conda-forge
    snowballstemmer           2.2.0                    pypi_0    pypi
    sphinx                    4.4.0                    pypi_0    pypi
    sphinxcontrib-applehelp   1.0.2                    pypi_0    pypi
    sphinxcontrib-devhelp     1.0.2                    pypi_0    pypi
    sphinxcontrib-htmlhelp    2.0.0                    pypi_0    pypi
    sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
    sphinxcontrib-qthelp      1.0.3                    pypi_0    pypi
    sphinxcontrib-serializinghtml 1.1.5                    pypi_0    pypi
    sqlite                    3.37.0               h8ffe710_0    conda-forge
    tbb                       2021.5.0             h2d74725_0    conda-forge
    theano-pymc               1.1.2                    pypi_0    pypi
    threadpoolctl             3.0.0                    pypi_0    pypi
    tk                        8.6.11               h8ffe710_1    conda-forge
    tqdm                      4.62.3                   pypi_0    pypi
    typing_extensions         3.10.0.2           pyha770c72_0    conda-forge
    tzdata                    2021e                he74cb21_0    conda-forge
    ucrt                      10.0.20348.0         h57928b3_0    conda-forge
    urllib3                   1.26.8                   pypi_0    pypi
    vc                        14.2                 hb210afc_6    conda-forge
    vs2015_runtime            14.29.30037          h902a5da_6    conda-forge
    wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
    xarray                    0.20.2             pyhd8ed1ab_0    conda-forge
    xorg-kbproto              1.0.7             hcd874cb_1002    conda-forge
    xorg-libice               1.0.10               hcd874cb_0    conda-forge
    xorg-libsm                1.2.3             hcd874cb_1000    conda-forge
    xorg-libx11               1.7.2                hcd874cb_0    conda-forge
    xorg-libxau               1.0.9                hcd874cb_0    conda-forge
    xorg-libxdmcp             1.1.3                hcd874cb_0    conda-forge
    xorg-libxext              1.3.4                hcd874cb_1    conda-forge
    xorg-libxpm               3.5.13               hcd874cb_0    conda-forge
    xorg-libxt                1.2.1                hcd874cb_2    conda-forge
    xorg-xextproto            7.3.0             hcd874cb_1002    conda-forge
    xorg-xproto               7.0.31            hcd874cb_1007    conda-forge
    xz                        5.2.5                h62dcd97_1    conda-forge
    zipp                      3.7.0              pyhd8ed1ab_0    conda-forge
    zlib                      1.2.11            h8ffe710_1013    conda-forge
    zstd                      1.5.1                h6255e5f_0    conda-forge
    
    opened by sreedta8 2
  • PyMC3 has been renamed PyMC

    PyMC3 has been renamed PyMC

    Hi, PyMC3 has been renamed PyMC. If this affects you and you have questions, or you want someone to direct your rage at I'm available! Do let me know how i, or any of the PyMC devs can help.

    Ravin

    opened by canyon289 0
  • Optimizing test

    Optimizing test

    Hi,

    I was able to reduce the running time of TestGaussianProcessRegressorPredict::test_predict_returns_predictions test from 236 seconds to about 52 seconds on my local machine by changing n to 200.

    I also ran the test several times to ensure that the test is not flaky.

    Environment:

    python 3.8.5
    pymc3==3.4.1
    numpy==1.19.5
    

    Is this something that you guys will be interested in? If yes, then I can help you optimize some other tests in this repo as well. If you have any other suggestions/edits I will be happy to integrate them as well. Please let me know.

    Thanks!

    opened by loopylangur 0
  • Changed sample_ppc to the newer PyMC3 method

    Changed sample_ppc to the newer PyMC3 method

    Just one tiny change. Changed the pm dot sample_ppc to pm dot sample_posterior_predictive method introduced in newer PyMC3 v3.6+

    Full Disclosure : I'm very new to Bayesian statistics so it might be possible I don't know what I'm talking about.

    Anyway, I was trying to work through the tutorials from the site and specifically the one on bayesian linear regression. I got stuck at model.predict as I kept getting this error

    AttributeError                            Traceback (most recent call last)
    <ipython-input-15-f3f0823146e6> in <module>()
    ----> 1 y_predict = model.predict(X_test)
    
    /usr/local/lib/python3.6/dist-packages/pmlearn/base.py in predict(self, X, return_std)
        277                                'model_output': np.zeros(num_samples)})
        278 
    --> 279         ppc = pm.sample_ppc(self.trace, model=self.cached_model, samples=2000)
        280 
        281         if return_std:
    
    AttributeError: module 'pymc3' has no attribute 'sample_ppc'
    

    Upon Googling, found this issue and as far as I understand, sample_ppcis now sample_posterior_predictive. So that's all I changed.

    Platforms and Versions

    Tried this only on the Google Colab VM.

    import pmlearn
    import pymc3 as pm
    
    pmlearn.__version__
    0.0.1.rc3
    pm.__version__
    3.9.3 
    
    opened by sharmaabhishekk 0
  • pymc-learn: RuntimeError in JupterLab 1.2.6

    pymc-learn: RuntimeError in JupterLab 1.2.6

    I am learning to use pymc-learn. However, whenever I try to run an MCMC simulation with pymc-learn in JupterLab 1.2.6 , I get the following RuntimeError: RuntimeError: The communication pipe between the main process and its spawned children is broken.

    In Windows OS, this usually means that the child process raised an exception while it was being spawned, before it was setup to communicate to the main process. The exceptions raised by the child process while spawning cannot be caught or handled from the main process, and when running from an IPython or jupyter notebook interactive kernel, the child's exception and traceback appears to be lost. A known way to see the child's error, and try to fix or handle it, is to run the problematic code as a batch script from a system's Command Prompt. The child's exception will be printed to the Command Promt's stderr, and it should be visible above this error and traceback. Note that if running a jupyter notebook that was invoked from a Command Prompt, the child's exception should have been printed to the Command Prompt on which the notebook is running.

    As an example, I am using a copy-paste from the 'LinearRegression' example of the pymc-learn: model2 = LinearRegression() model2.fit(X_train, y_train, inference_type='nuts')

    opened by ZhiqiangZhangCUGB 0
Owner
pymc-learn
Repositories related to the pymc-learn library for practical probabilistic machine learning in Python.
pymc-learn
TensorFlowOnSpark brings TensorFlow programs to Apache Spark clusters.

TensorFlowOnSpark TensorFlowOnSpark brings scalable deep learning to Apache Hadoop and Apache Spark clusters. By combining salient features from the T

Yahoo 3.8k Jan 04, 2023
Tools for mathematical optimization region

Tools for mathematical optimization region

林景 15 Nov 30, 2022
Built various Machine Learning algorithms (Logistic Regression, Random Forest, KNN, Gradient Boosting and XGBoost. etc)

Built various Machine Learning algorithms (Logistic Regression, Random Forest, KNN, Gradient Boosting and XGBoost. etc). Structured a custom ensemble model and a neural network. Found a outperformed

Chris Yuan 1 Feb 06, 2022
Toolss - Automatic installer of hacking tools (ONLY FOR TERMUKS!)

Tools Автоматический установщик хакерских утилит (ТОЛЬКО ДЛЯ ТЕРМУКС!) Оригиналь

14 Jan 05, 2023
BioPy is a collection (in-progress) of biologically-inspired algorithms written in Python

BioPy is a collection (in-progress) of biologically-inspired algorithms written in Python. Some of the algorithms included are mor

Jared M. Smith 40 Aug 26, 2022
Probabilistic programming framework that facilitates objective model selection for time-varying parameter models.

Time series analysis today is an important cornerstone of quantitative science in many disciplines, including natural and life sciences as well as eco

Christoph Mark 129 Dec 24, 2022
Bodywork deploys machine learning projects developed in Python, to Kubernetes.

Bodywork deploys machine learning projects developed in Python, to Kubernetes. It helps you to: serve models as microservices execute batch jobs run r

Bodywork Machine Learning 409 Jan 01, 2023
QML: A Python Toolkit for Quantum Machine Learning

QML is a Python2/3-compatible toolkit for representation learning of properties of molecules and solids.

176 Dec 09, 2022
Anomaly Detection and Correlation library

luminol Overview Luminol is a light weight python library for time series data analysis. The two major functionalities it supports are anomaly detecti

LinkedIn 1.1k Jan 01, 2023
GroundSeg Clustering Optimized Kdtree

ground seg and clustering based on kitti velodyne data, and a additional optimized kdtree for knn and radius nn search

2 Dec 02, 2021
Examples and code for the Practical Machine Learning workshop series

Practical Machine Learning Workshop Series Practical Machine Learning for Quantitative Finance Post conference workshop at the WBS Spring Conference D

CompatibL 21 Jun 25, 2022
Highly interpretable classifiers for scikit learn, producing easily understood decision rules instead of black box models

Highly interpretable, sklearn-compatible classifier based on decision rules This is a scikit-learn compatible wrapper for the Bayesian Rule List class

Tamas Madl 482 Nov 19, 2022
Learn how to responsibly deliver value with ML.

Made With ML Applied ML · MLOps · Production Join 30K+ developers in learning how to responsibly deliver value with ML. 🔥 Among the top MLOps reposit

Goku Mohandas 32k Dec 30, 2022
A basic Ray Tracer that exploits numpy arrays and functions to work fast.

Python-Fast-Raytracer A basic Ray Tracer that exploits numpy arrays and functions to work fast. The code is written keeping as much readability as pos

Rafael de la Fuente 393 Dec 27, 2022
A collection of Scikit-Learn compatible time series transformers and tools.

tsfeast A collection of Scikit-Learn compatible time series transformers and tools. Installation Create a virtual environment and install: From PyPi p

Chris Santiago 0 Mar 30, 2022
Add built-in support for quaternions to numpy

Quaternions in numpy This Python module adds a quaternion dtype to NumPy. The code was originally based on code by Martin Ling (which he wrote with he

Mike Boyle 531 Dec 28, 2022
Steganography is the art of hiding the fact that communication is taking place, by hiding information in other information.

Steganography is the art of hiding the fact that communication is taking place, by hiding information in other information.

Priyansh Sharma 7 Nov 09, 2022
XManager: A framework for managing machine learning experiments 🧑‍🔬

XManager is a platform for packaging, running and keeping track of machine learning experiments. It currently enables one to launch experiments locally or on Google Cloud Platform (GCP). Interaction

DeepMind 620 Dec 27, 2022
Backtesting an algorithmic trading strategy using Machine Learning and Sentiment Analysis.

Trading Tesla with Machine Learning and Sentiment Analysis An interactive program to train a Random Forest Classifier to predict Tesla daily prices us

Renato Votto 31 Nov 17, 2022
A Python package for time series classification

pyts: a Python package for time series classification pyts is a Python package for time series classification. It aims to make time series classificat

Johann Faouzi 1.4k Jan 01, 2023