https://github.com/seiflotfy/count-min-log
Go implementation of Count-Min-Log
https://github.com/seiflotfy/count-min-log
Last synced: 8 months ago
JSON representation
Go implementation of Count-Min-Log
- Host: GitHub
- URL: https://github.com/seiflotfy/count-min-log
- Owner: seiflotfy
- License: mit
- Created: 2015-08-16T22:31:36.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-04T03:04:48.000Z (9 months ago)
- Last Synced: 2025-04-14T22:55:16.619Z (8 months ago)
- Language: Go
- Homepage:
- Size: 43 KB
- Stars: 67
- Watchers: 3
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go-cn - count-min-log - Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。 [![godoc][D]](https://godoc.org/github.com/seiflotfy/count-min-log) (数据结构与算法 / 杂项数据结构和算法)
- awesome-go-plus - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).  (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- fucking-awesome-go - :octocat: count-min-log - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). :star: 20 :fork_and_knife: 3 (Data Structures / Advanced Console UIs)
- awesome-go-cn - count-min-log - Min-Log sketch `算法(类似 Count-Min sketch 算法,但是使用的内存更少) (数据结构 / 标准 CLI)
- awesome-go - count-min-log - Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). | - | - | - | (Data Structures / Advanced Console UIs)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go - count-min-log - Go implementation of Count-Min-Log - ★ 39 (Data Structures)
- awesome-go - seiflotfy/count-min-log - Min-Log ☆`69` (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go-with-stars - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- fucking-awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go-cn - count-min-log - Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。 [![近三年未更新][Y]](https://github.com/seiflotfy/count-min-log) [![godoc][D]](https://godoc.org/github.com/seiflotfy/count-min-log) (数据结构与算法 / 杂项数据结构和算法)
- awesome-Char - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures / Advanced Console UIs)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). - :arrow_down:2 - :star:23 (Data Structures / Advanced Console UIs)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures / Advanced Console UIs)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms)
- awesome-go-extra - count-min-log - Min-Log|57|5|0|2015-08-16T22:31:36Z|2017-02-12T13:09:21Z| (Generators / Miscellaneous Data Structures and Algorithms)
- awesome-go - count-min-log - 执行Count-Min-Log草图:用近似计数器近似计数(与Count-Min草图类似,但使用较少的内存)。 (<span id="数据结构-data-structures">数据结构 Data Structures</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-cn - count-min-log - Min-Log草图:使用近似计数器进行近似计数(如使用Count-Min草图,但使用较少的内存)。 (Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).) (数据结构 / Advanced Console UIs)
- awesome-go - count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). (Data Structures / Advanced Console UIs)
README
# Count-Min-Log
[](https://godoc.org/github.com/seiflotfy/count-min-log)
[Count-Min-Log sketch: Approximately counting with approximate counters - Guillaume Pitel & Geoffroy Fouquier](http://iswag-symposium.org/2015/pdfs/shortpaper1.pdf)
TL;DR: Count-Min-Log Sketch for improved Average Relative Error on low frequency events
Count-Min Sketch is a widely adopted algorithm for approximate event counting in large scale processing. However, the original version of the Count-Min-Sketch (CMS) suffers of some deficiences, especially if one is interested in the low-frequency items, such as in text- mining related tasks. Several variants of CMS have been proposed to compensate for the high relative error for low-frequency events, but the proposed solutions tend to correct the errors instead of preventing them. In this paper, we propose the Count-Min-Log sketch, which uses logarithm-based, approximate counters instead of linear counters to improve the average relative error of CMS at constant memory footprint.
## Example Usage
```go
import cml
...
sk, err := cml.NewDefaultSketch()
sk.IncreaseCount([]byte("scott pilgrim"))
...
sk.Frequency([]byte("scott pilgrim")) // ==> 1
```