Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/e-dard/godist
Probability distributions and associated methods in Go
https://github.com/e-dard/godist
Last synced: 11 days ago
JSON representation
Probability distributions and associated methods in Go
- Host: GitHub
- URL: https://github.com/e-dard/godist
- Owner: e-dard
- License: mit
- Created: 2014-09-05T09:48:51.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-05-11T10:38:48.000Z (over 9 years ago)
- Last Synced: 2024-10-25T05:23:09.065Z (14 days ago)
- Language: Go
- Size: 195 KB
- Stars: 39
- Watchers: 6
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - godist - Various probability distributions, and associated methods. (Machine Learning / Search and Analytic Databases)
- awesome-golang-ai - godist
- zero-alloc-awesome-go - godist - Various probability distributions, and associated methods. (Machine Learning / Search and Analytic Databases)
- awesome-go - godist - Probability distributions and associated methods in Go - ★ 20 (Machine Learning)
- awesome-go-extra - godist - 09-05T09:48:51Z|2015-05-11T10:38:48Z| (Machine Learning / Advanced Console UIs)
- awesome-go-zh - godist
README
godist
======[![Build Status](https://drone.io/github.com/e-dard/godist/status.png)](https://drone.io/github.com/e-dard/godist/latest)
[![GoDoc](https://godoc.org/github.com/e-dard/godist?status.svg)](http://godoc.org/github.com/e-dard/godist)
`godist` provides some Go implementations of useful continuous and
discrete probability distributions, as well as some handy methods for
working with them.The general idea is that I will add to these over time, but that each
distribution will implement the following interface:```go
type Distribution interface{
// distribution mean
Mean() (float64, error)// distribution median
Median() (float64, error)// distribution mode
Mode() (float64, error)// distribution variance
Variance() (float64, error)// generate a random value according to the probability distribution
Float64() (float64, error)
}
```In practice, distributions may also provide other useful methods, where
appropriate.The intentions of `godist` is not to provide the fastest, most efficient
implementations, but instead to provide idiomatic Go implementations
that can be easily understood and extended. Having said that, where
there are useful and well-understood numerical tricks and tools to
improve performance, these have been utilised and documented.Contributions welcome!
### Current Distributions
- Beta Distribution
- Empirical Distribution