Displaying 1 to 20 from 21 results

BoomFilters - Probabilistic data structures for processing continuous, unbounded streams.

  •    Go

Boom Filters are probabilistic data structures for processing continuous, unbounded streams. This includes Stable Bloom Filters, Scalable Bloom Filters, Counting Bloom Filters, Inverse Bloom Filters, Cuckoo Filters, several variants of traditional Bloom filters, HyperLogLog, Count-Min Sketch, and MinHash.Classic Bloom filters generally require a priori knowledge of the data set in order to allocate an appropriately sized bit array. This works well for offline processing, but online processing typically involves unbounded data streams. With enough data, a traditional Bloom filter "fills up", after which it has a false-positive probability of 1.

PyMC3 - Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano

  •    Python

PyMC3 is a Python package for Bayesian statistical modeling and Probabilistic Machine Learning which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms. Its flexibility and extensibility make it applicable to a large suite of problems.Note: Running pip install pymc will install PyMC 2.3, not PyMC3, from PyPI.

edward - A probabilistic programming language in TensorFlow

  •    Jupyter

Edward is a Python library for probabilistic modeling, inference, and criticism. It is a testbed for fast experimentation and research with probabilistic models, ranging from classical hierarchical models on small data sets to complex deep probabilistic models on large data sets. Edward fuses three fields: Bayesian statistics and machine learning, deep learning, and probabilistic programming. Edward is built on top of TensorFlow. It enables features such as computational graphs, distributed training, CPU/GPU integration, automatic differentiation, and visualization with TensorBoard.

probability - Probabilistic reasoning and statistical analysis in TensorFlow

  •    Jupyter

TensorFlow Probability is a library for probabilistic reasoning and statistical analysis in TensorFlow. As part of the TensorFlow ecosystem, TensorFlow Probability provides integration of probabilistic methods with deep networks, gradient-based inference via automatic differentiation, and scalability to large datasets and models via hardware acceleration (e.g., GPUs) and distributed computation. Our probabilistic machine learning tools are structured as follows.

pystan - PyStan, the Python interface to Stan

  •    Python

PyStan provides a Python interface to Stan, a package for Bayesian inference using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo. For more information on Stan and its modeling language, see the Stan User's Guide and Reference Manual at http://mc-stan.org/.

Pyro - Deep universal probabilistic programming with Python and PyTorch

  •    Python

Pyro is a universal probabilistic programming language (PPL) written in Python and supported by PyTorch on the backend. Pyro enables flexible and expressive deep probabilistic modeling, unifying the best of modern deep learning and Bayesian modeling.

Turing.jl - The Turing language for probabilistic programming

  •    Julia

News: Turing.jl is now Julia 1.0 compatible now! Be aware that some things still might fail. Turing was originally created and is now managed by Hong Ge. Current and past Turing team members include Hong Ge, Adam Scibior, Matej Balog, Zoubin Ghahramani, Kai Xu, Emma Smith, Emile Mathieu, Martin Trapp. You can see the full list of on Github: https://github.com/TuringLang/Turing.jl/graphs/contributors.

miller-rabin - The Miller-Rabin probabilistic primality test in C++ w/GMP

  •    C++

The Miller-Rabin primality test is a probabilistic algorithm for determining if a number is prime or not. By its probabilistic nature, it runs fast --- in O(k log3 n) time --- but there is a chance for false positives; it can report that a number is prime while it is not. False negatives are impossible, though. If it reports a number is composite, it is.

DNest4 - Diffusive Nested Sampling

  •    C++

DNest4 is a C++11 implementation of Diffusive Nested Sampling, a Markov Chain Monte Carlo (MCMC) algorithm for Bayesian Inference and Statistical Mechanics. There is a manuscript describing DNest4 installation and usage in the paper/ directory of this repository. You can compile it with pdflatex. Alternatively, you can get the preprint here.

DBDA-python - Doing Bayesian Data Analysis, 2nd Edition (Kruschke, 2015): Python/PyMC3 code

  •    Jupyter

Note that the code is in Jupyter Notebook format and requires modification to use with other datasets. Some of the general concepts from the book are discussed in papers by Kruschke & Liddell. See references below.

hakaru - A probabilistic programming language

  •    Haskell

It can be used to aid in the creation of machine-learning applications and stochastic modeling to help answer variable queries and distributions. Warning: This code is alpha and experimental.

LoMRF - LoMRF is an open-source implementation of Markov Logic Networks

  •    Scala

LoMRF is an open-source implementation of Markov Logic Networks (MLNs) written in Scala programming language. Latest documentation.

cplint - cplint is a suite of programs for reasoning with probabilistic logic programs

  •    C

cplint is a suite of programs for reasoning with probabilistic logic programs. It contains programs for both inference and learning. This is a SWI-Prolog (http://www.swi-prolog.org/) pack.


  •    Julia

Kernel Density Estimation with product approximation using multiscale Gibbs sampling. The package has built in plotting functionality, using Gadfly. This package is heavily used by IncrementalInference. Comments welcome.

Stheno.jl - Probabilistic Programming with Gaussian processes in Julia

  •    Julia

Stheno is designed to make doing non-standard things with Gaussian processes straightforward. It has an intuitive modeling syntax, is inherently able to handle both multi-input and multi-output problems, trivially supports interdomain pseudo-point approximations, and has some support for structure-exploiting algebra. First, a note for statistics / ML people who aren't too familiar with Julia: the first execution of the examples below will take a while as Julia has to compile the code. On subsequent runs (e.g. if you were repeatedly evaluating the logpdf for kernel parameter learning) it will progress much faster.

bopp - BOPP: Bayesian Optimization for Probabilistic Programs

  •    Clojure

See our NIPS Spotlight video for TLDR. BOPP is a package for automated marginal maximum a posteriori inference (MMAP) based around the probabilistic programming system Anglican. The user only needs to write their model in the same manner as existing Anglican programs and by using the defopt construct instead of defquery, select the variables to be optimized, with the rest marginalized out. It can also be used as a means of exploiting the target source code to improve Bayesian optimization, delivering things such as automatic domain scaling, unbounded optimization, and implicit constraint satisfaction including equality constraints. The key idea is to use a series of code transformations to extract from the original program all the things that are needed to carry out the MMAP problem, such as the target function itself and a program for optimizing the acquisition function subject to the implicit constraints. These are then passed to our other package Deodorant, which uses these to solve the problem probabilistic programs creates for BO. The following paper should be referred to for full algorithmic details and we ask that you cite this paper if you use BOPP in your work.

webppl-agents - Webppl library for generating Gridworld MDPs. JS library for displaying Gridworld.

  •    Javascript

This may print warnings (npm WARN ENOENT...) which can be ignored. For the agent functions, you will also need to install webppl-dp.