jagandecapri / kneedle

A Go package for the Kneedle algorithm which can be used to detect a knee in a list of values.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kneedle-Go

Description

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.

Installing

Use go get github.com/jagandecapri/kneedle

Example use

	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)
    	}

References

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.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

About

A Go package for the Kneedle algorithm which can be used to detect a knee in a list of values.

License:MIT License


Languages

Language:Go 100.0%