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
PySpark + Scikit-learn = Sparkit-learn

Sparkit-learn PySpark + Scikit-learn = Sparkit-learn GitHub: https://github.com/lensacom/sparkit-learn About Sparkit-learn aims to provide scikit-lear

Lensa 1.1k Jan 4, 2023
Auto updating website that tracks closed & open issues/PRs on scikit-learn/scikit-learn.

Repository Status for Scikit-learn Live webpage Auto updating website that tracks closed & open issues/PRs on scikit-learn/scikit-learn. Running local

Thomas J. Fan 6 Dec 27, 2022
To design and implement the Identification of Iris Flower species using machine learning using Python and the tool Scikit-Learn.

To design and implement the Identification of Iris Flower species using machine learning using Python and the tool Scikit-Learn.

Astitva Veer Garg 1 Jan 11, 2022
Painless Machine Learning for python based on scikit-learn

PlainML Painless Machine Learning Library for python based on scikit-learn. Install pip install plainml Example from plainml import KnnModel, load_ir

null 1 Aug 6, 2022
Automated Machine Learning with scikit-learn

auto-sklearn auto-sklearn is an automated machine learning toolkit and a drop-in replacement for a scikit-learn estimator. Find the documentation here

AutoML-Freiburg-Hannover 6.7k Jan 7, 2023
A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.

Master status: Development status: Package information: TPOT stands for Tree-based Pipeline Optimization Tool. Consider TPOT your Data Science Assista

Epistasis Lab at UPenn 8.9k Jan 9, 2023
Python Extreme Learning Machine (ELM) is a machine learning technique used for classification/regression tasks.

Python Extreme Learning Machine (ELM) Python Extreme Learning Machine (ELM) is a machine learning technique used for classification/regression tasks.

Augusto Almeida 84 Nov 25, 2022
An AutoML survey focusing on practical systems.

This project is a community effort in constructing and maintaining an up-to-date beginner-friendly introduction to AutoML, focusing on practical systems. AutoML is a big field, and continues to grow daily. Hence, we cannot hope to provide a comprehensive description of every interesting idea or approach available.

AutoGOAL 16 Aug 14, 2022
Pragmatic AI Labs 421 Dec 31, 2022
Probabilistic time series modeling in Python

GluonTS - Probabilistic Time Series Modeling in Python GluonTS is a Python toolkit for probabilistic time series modeling, built around Apache MXNet (

Amazon Web Services - Labs 3.3k Jan 3, 2023
Relevance Vector Machine implementation using the scikit-learn API.

scikit-rvm scikit-rvm is a Python module implementing the Relevance Vector Machine (RVM) machine learning technique using the scikit-learn API. Quicks

James Ritchie 204 Nov 18, 2022
A demo project to elaborate how Machine Learn Models are deployed on production using Flask API

This is a salary prediction website developed with the help of machine learning, this makes prediction of salary on basis of few parameters like interview score, experience test score.

null 1 Feb 10, 2022
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques

Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

Vowpal Wabbit 8.1k Dec 30, 2022
CD) in machine learning projectsImplementing continuous integration & delivery (CI/CD) in machine learning projects

CML with cloud compute This repository contains a sample project using CML with Terraform (via the cml-runner function) to launch an AWS EC2 instance

Iterative 19 Oct 3, 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
learn python in 100 days, a simple step could be follow from beginner to master of every aspect of python programming and project also include side project which you can use as demo project for your personal portfolio

learn python in 100 days, a simple step could be follow from beginner to master of every aspect of python programming and project also include side project which you can use as demo project for your personal portfolio

BDFD 6 Nov 5, 2022
Iris species predictor app is used to classify iris species created using python's scikit-learn, fastapi, numpy and joblib packages.

Iris Species Predictor Iris species predictor app is used to classify iris species using their sepal length, sepal width, petal length and petal width

Siva Prakash 5 Apr 5, 2022
Penguins species predictor app is used to classify penguins species created using python's scikit-learn, fastapi, numpy and joblib packages.

Penguins Classification App Penguins species predictor app is used to classify penguins species using their island, sex, bill length (mm), bill depth

Siva Prakash 3 Apr 5, 2022
K-Means clusternig example with Python and Scikit-learn

Unsupervised-Machine-Learning Flat Clustering K-Means clusternig example with Python and Scikit-learn Flat clustering Clustering algorithms group a se

Emin 1 Dec 13, 2021