Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Knee point detection in Python :chart_with_upwards_trend:
| Date | Stars |
|---|---|
| 2026-07-24 | 817 |
| 2026-07-25 | 817 |
| 2026-07-28 | 817 |
| 2026-07-30 | 817 |
| 2026-08-06 | 817 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# kneed Knee-point detection in Python [](https://pypi.org/project/kneed/) [](https://pepy.tech/project/kneed) [](https://pepy.tech/project/kneed)  [](https://codecov.io/gh/arvkevi/kneed) [](https://zenodo.org/badge/latestdoi/113799037) A Python library for detecting knee (elbow) points in curves using the [Kneedle algorithm](https://www1.icsi.berkeley.edu/~barath/papers/kneedle-simplex11.pdf). Given a set of `x` and `y` values, `kneed` returns the point of maximum curvature.  ## Features - Detect knee/elbow points in concave or convex curves - Support for increasing and decreasing functions - Automatic curve shape detection with `find_shape()` - Multiple knee detection via online mode (`all_knees` / `all_elbows`) - Tunable sensitivity parameter (`S`) - Multiple interpolation methods (`interp1d`, `polynomial`) - Built-in plotting for quick visualizations ## Installation `kneed` has been tested with Python 3.8, 3.9, 3.10, 3.11, and 3.12. ### anaconda ```bash conda install -c conda-forge kneed ``` ### pip ```bash pip install kneed # knee-detection only pip install kneed[plot] # also install matplotlib for visualizations ``` ### Clone from GitHub ```bash git clone https://github.com/arvkevi/kneed.git && cd kneed pip install -e . ``` ## Quick Start ```python from kneed import KneeLocator, DataGenerator # Generate sample data x, y = DataGenerator.figure2() # Find the knee point kl = KneeLocator(x, y, curve="concave", direction="increasing") print(kl.knee) # 0.222 print(kl.knee_y) # 1.897 ``` If you're unsure about the curve type and direction, use `find_shape()` to auto-detect: ```python from kneed import find_shape direction, curve = find_shape(x, y) kl = KneeLocator(x, y, curve=curve, direction=direction) ``` ## Usage These steps reproduce Figure 2 from the original Kneedle manuscript. ### Input Data The `DataGenerator` class is a utility to generate sample datasets. > Note: `x` and `y` must be equal length arrays. ```python from kneed import DataGenerator, KneeLocator x, y = DataGenerator.figure2() print([round(i, 3) for i in x]) print([round(i, 3) for i in y]) [0.0, 0.111, 0.222, 0.333, 0.444, 0.556, 0.667, 0.778, 0.889, 1.0] [-5.0, 0.263, 1.897, 2.692, 3.163, 3.475, 3.696, 3.861, 3.989, 4.091] ``` ### Find Knee The knee (or elbow) point is calculated by instantiating the `KneeLocator` class with `x`, `y` and the appropriate `curve` and `direction`. Here, `kneedle.knee` and `kneedle.elbow` store the point of maximum curvature. ```python kneedle = KneeLocator(x, y, S=1.0, curve="concave", direction="increasing") print(round(kneedle.knee, 3)) 0.222 print(round(kneedle.elbow, 3)) 0.222 ``` The knee point returned is a value along the `x` axis. The `y` value at the knee can be identified: ```python print(round(kneedle.knee_y, 3)) 1.897 ``` ### Visualize The `KneeLocator` class has two plotting functions for quick visualizations. **Note that all (x, y) are transformed for the normalized plots** ```python # Normalized data, normalized knee, and normalized distance curve. kneedle.plot_knee_normalized() ```  ```python # Raw data and knee. kneedle.plot_knee() ```  ## Documentation Full documentation including parameter tuning guides, real-world examples, and API reference is available at [kneed
Excerpt of 5,264 characters
Read on GitHub319
5
3
3
2
2
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:c41b56ba67c57dd7, topic:scientific-computing