/keanu

A probabilistic approach from an Improbabilistic company

Primary LanguageJavaMIT LicenseMIT

    __ __                      
   / //_/__  ____ _____  __  __
  / ,< / _ \/ __ `/ __ \/ / / /
 / /| /  __/ /_/ / / / / /_/ / 
/_/ |_\___/\__,_/_/ /_/\__,_/  

Build Status Quality Gate

Overview

Keanu is a general purpose probabilistic programming library built in Java and developed by Improbable's research team. It enables you to build Bayesian networks through which you can make probablistic predictions about large, complex and multifaceted problems.

This is an early stage, pre-alpha version of Keanu. We have an ambitious team attempting to build an even more ambitious product with the help of the open source community.

Contributing Guidelines

We have decided to open source Keanu at such an early stage in order to solicit user feedback and help guide the product to success.

Whilst we will always welcome contributions, we would value your time more if it were spent applying Keanu to challenging problems and locating its strengths and weaknesses.

Please create a Github Issue if you encounter any bugs or have a feature request.

Features

  • Probabilistic Programming Operators and Distributions
  • Auto-differentiation
  • Inference
    • Maximum a posteriori
    • Metropolis Hastings
    • Hamiltonian Monte Carlo
    • Sequential Monte Carlo (Particle Filtering)
  • Support for Kotlin

Getting Started

Want to see an example and run it yourself? Head over to Getting Started.

Documentation

Want to learn more? Head over to the Documentation.

Future

What does the future entail for Keanu? Find out at Future.

Examples

Interested in more technical examples? Explore Examples.

Hiring

Interested in working for Improbable on cool problems? Start here