Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muesli/regommend
Recommendation engine for Go
https://github.com/muesli/regommend
hacktoberfest
Last synced: 4 days ago
JSON representation
Recommendation engine for Go
- Host: GitHub
- URL: https://github.com/muesli/regommend
- Owner: muesli
- License: agpl-3.0
- Created: 2014-02-05T17:00:49.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-08-07T04:55:12.000Z (about 5 years ago)
- Last Synced: 2024-10-25T05:23:18.454Z (10 days ago)
- Topics: hacktoberfest
- Language: Go
- Size: 30.3 KB
- Stars: 313
- Watchers: 16
- Forks: 28
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - regommend - Recommendation & collaborative filtering engine. (Machine Learning / Search and Analytic Databases)
- awesome-golang-ai - regommend
- zero-alloc-awesome-go - regommend - Recommendation & collaborative filtering engine. (Machine Learning / Search and Analytic Databases)
- awesome-go - regommend - Recommendation engine for Go - ★ 219 (Machine Learning)
- awesome-go-extra - regommend - 02-05T17:00:49Z|2019-08-07T04:55:12Z| (Machine Learning / Advanced Console UIs)
- awesome-go-zh - regommend
README
regommend
=========Recommendation engine for Go
## Installation
Make sure you have a working Go environment (Go 1.2 or higher is required).
See the [install instructions](http://golang.org/doc/install.html).To install regommend, simply run:
go get github.com/muesli/regommend
To compile it from source:
cd $GOPATH/src/github.com/muesli/regommend
go get -u -v
go build && go test -v## Example
```go
package mainimport (
"github.com/muesli/regommend"
"fmt"
)func main() {
// Accessing a new regommend table for the first time will create it.
books := regommend.Table("books")booksChrisRead := make(map[interface{}]float64)
booksChrisRead["1984"] = 5.0
booksChrisRead["Robinson Crusoe"] = 4.0
booksChrisRead["Moby-Dick"] = 3.0
books.Add("Chris", booksChrisRead)booksJayRead := make(map[interface{}]float64)
booksJayRead["1984"] = 5.0
booksJayRead["Robinson Crusoe"] = 4.0
booksJayRead["Gulliver's Travels"] = 4.5
books.Add("Jay", booksJayRead)recs, _ := books.Recommend("Chris")
for _, rec := range recs {
fmt.Println("Recommending", rec.Key, "with score", rec.Distance)
}neighbors, _ := books.Neighbors("Chris")
...
}
```To run this example, go to example/ and run:
go run example.go
## Development
[![GoDoc](https://godoc.org/github.com/golang/gddo?status.svg)](https://godoc.org/github.com/muesli/regommend)