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
Fourier-Bayesian estimation of stochastic volatility models

fourier-bayesian-sv-estimation Fourier-Bayesian estimation of stochastic volatility models Code used to run the numerical examples of "Bayesian Approa

15 Jun 20, 2022
Machine Learning e Data Science com Python

Machine Learning e Data Science com Python Arquivos do curso de Data Science e Machine Learning com Python na Udemy, cliqe aqui para acessá-lo. O prin

Renan Barbosa 1 Jan 27, 2022
Crypto-trading - ML techiques are used to forecast short term returns in 14 popular cryptocurrencies

Crypto-trading - ML techiques are used to forecast short term returns in 14 popular cryptocurrencies. We have amassed a dataset of millions of rows of high-frequency market data dating back to 2018 w

Panagiotis (Panos) Mavritsakis 4 Sep 22, 2022
whylogs: A Data and Machine Learning Logging Standard

whylogs: A Data and Machine Learning Logging Standard whylogs is an open source standard for data and ML logging whylogs logging agent is the easiest

WhyLabs 2k Jan 06, 2023
NumPy-based implementation of a multilayer perceptron (MLP)

My own NumPy-based implementation of a multilayer perceptron (MLP). Several of its components can be tuned and played with, such as layer depth and size, hidden and output layer activation functions,

1 Feb 10, 2022
A Python toolkit for rule-based/unsupervised anomaly detection in time series

Anomaly Detection Toolkit (ADTK) Anomaly Detection Toolkit (ADTK) is a Python package for unsupervised / rule-based time series anomaly detection. As

Arundo Analytics 888 Dec 30, 2022
ml4h is a toolkit for machine learning on clinical data of all kinds including genetics, labs, imaging, clinical notes, and more

ml4h is a toolkit for machine learning on clinical data of all kinds including genetics, labs, imaging, clinical notes, and more

Broad Institute 65 Dec 20, 2022
This project has Classification and Clustering done Via kNN and K-Means respectfully

This project has Classification and Clustering done Via kNN and K-Means respectfully. It later tests its efficiency via F1/accuracy/recall/precision for kNN and Davies-Bouldin Index for Clustering. T

Mohammad Ali Mustafa 0 Jan 20, 2022
PySurvival is an open source python package for Survival Analysis modeling

PySurvival What is Pysurvival ? PySurvival is an open source python package for Survival Analysis modeling - the modeling concept used to analyze or p

Square 265 Dec 27, 2022
Predict the output which should give a fair idea about the chances of admission for a student for a particular university

Predict the output which should give a fair idea about the chances of admission for a student for a particular university.

ArvindSandhu 1 Jan 11, 2022
A python library for Bayesian time series modeling

PyDLM Welcome to pydlm, a flexible time series modeling library for python. This library is based on the Bayesian dynamic linear model (Harrison and W

Sam 438 Dec 17, 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
A python fast implementation of the famous SVD algorithm popularized by Simon Funk during Netflix Prize

⚡ funk-svd funk-svd is a Python 3 library implementing a fast version of the famous SVD algorithm popularized by Simon Funk during the Neflix Prize co

Geoffrey Bolmier 171 Dec 19, 2022
Self Organising Map (SOM) for clustering of atomistic samples through unsupervised learning.

Self Organising Map for Clustering of Atomistic Samples - V2 Description Self Organising Map (also known as Kohonen Network) implemented in Python for

Franco Aquistapace 0 Nov 16, 2021
Predicting Baseball Metric Clusters: Clustering Application in Python Using scikit-learn

Clustering Clustering Application in Python Using scikit-learn This repository contains the prediction of baseball metric clusters using MLB Statcast

Tom Weichle 2 Apr 18, 2022
Kaggle Competition using 15 numerical predictors to predict a continuous outcome.

Kaggle-Comp.-Data-Mining Kaggle Competition using 15 numerical predictors to predict a continuous outcome as part of a final project for a stats data

moisey alaev 1 Dec 28, 2021
Tools for Optuna, MLflow and the integration of both.

HPOflow - Sphinx DOC Tools for Optuna, MLflow and the integration of both. Detailed documentation with examples can be found here: Sphinx DOC Table of

Telekom Open Source Software 17 Nov 20, 2022
SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker.

SageMaker Python SDK SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker. With the S

Amazon Web Services 1.8k Jan 01, 2023
ThunderSVM: A Fast SVM Library on GPUs and CPUs

What's new We have recently released ThunderGBM, a fast GBDT and Random Forest library on GPUs. add scikit-learn interface, see here Overview The miss

Xtra Computing Group 1.4k Dec 22, 2022
MICOM is a Python package for metabolic modeling of microbial communities

Welcome MICOM is a Python package for metabolic modeling of microbial communities currently developed in the Gibbons Lab at the Institute for Systems

57 Dec 21, 2022