count-min-log
Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory)
About count-min-log
Count-Min-Log
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
import cml
...
sk, err := cml.NewDefaultSketch()
sk.IncreaseCount([]byte("scott pilgrim"))
...
sk.Frequency([]byte("scott pilgrim")) // ==> 1
Frequently Asked Questions
What is count-min-log?
count-min-log is a Data Structures and Algorithms library for the Go programming language. Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory)
How do I install count-min-log?
Install count-min-log with the Go module system using `go get seiflotfy/count-min-log`. Check the repository for the current installation instructions.
What category does count-min-log belong to?
count-min-log is listed under Data Structures and Algorithms, specifically Miscellaneous Data Structures and Algorithms.