A Go package for the Kneedle algorithm which can be used to detect a knee in a list of values. This package is adapted into Go from the Java implementation at github.com/lukehb/137-stopmove.
Use go get github.com/jagandecapri/kneedle
testData := [][]float64{
{0,0},
{0.1, 0.55},
{0.2, 0.75},
{0.35, 0.825},
{0.45, 0.875},
{0.55, 0.9},
{0.675, 0.925},
{0.775, 0.95},
{0.875, 0.975},
{1,1},
}
kneePoints, _ := kneedle.Run(testData, 1, 1, false)
for _, kneePoint := range kneePoints{
fmt.Println("Knee point:", kneePoint)
}
Ville Satopää, Jeannie Albrecht, David Irwin, Barath Raghavan. Finding a "Kneedle" in a Haystack: Detecting Knee Points in System Behavior. 31st International Conference on Distributed Computing Systems Workshops, pp. 166-171, Minneapolis, Minnesota, USA, June 2011.
- Jagatheesan Jack - Initial work
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details