膝盖或肘部曲线检测

kneebow的Python项目详细描述


膝盖弓

找到曲线的膝盖或肘部。

Codacy BadgeBuild Statuscodecov

工作原理

Kneebow建立在一个非常简单的想法之上:如果我们想找到一条曲线的肘部,我们可以简单地旋转数据,使曲线向下看,然后取最小值。如果我们想找到曲线的拐点,我们就取最大值。就这么简单。

安装

您可以通过pip:

pip install kneebow

或者,您也可以从github安装最新版本:

pip install git+https://github.com/georg-un/kneebow.git

用法

假设,我们试图找到以下数据的肘部:

importnumpyasnpdata=np.array([[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],# linear until (8,8)[9,16],[10,32],[11,64],[12,128],[13,256],[14,512]])# exponential afterwards

让我们来看看这些数据的峰值情况:

data_plot

为了找到肘部,我们创建了Rotor类的一个实例,并使用其fit_rotate方法:

fromkneebow.rotorimportRotorrotor=Rotor()rotor.fit_rotate(data)

现在我们可以得到肘部的指数如下:

elbow_idx=rotor.get_elbow_index()print(elbow_idx)# 11

Rotor类还附带了plot方法,可以直观地检查数据以及估计的肘/膝:

rotor.plot_elbow()

rotor_plot

许可证

根据麻省理工学院的许可证发行。有关详细信息,请参见LICENSE

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法使用windows x86上的Java验证在linux x64上签名的数字签名   java Firebase通过键从子级检索数据   Java缓存网络文件   java独立jdbcpool实现内存泄漏   java为什么MVN在成功构建时返回1?   java maven正在抛出BoundsException数组   Java:是否可以有“嵌套”映射方法(Java.util.stream)?   java无法使用GSON解析JSON文件   java Spring Groovy集成   java使用SAX解析器,需要所有xml元素(在特定元素下)作为字符串   java列出内容提供商Android 3.1中的内容   java如何使用带有spring api的JPA查询进行软删除?   java隐藏我的socket构造函数以隐藏IP和端口   Java将(JEP359)记录为Spring控制器请求和响应DTO   java在数组中循环时忽略空值   RESTAPI端点的java发现模式   java HTTPs在jmeter中发布带有头的请求测试,并将测试结果保存在mongodb中,并在grafana中显示