膝盖或肘部曲线检测
kneebow的Python项目详细描述
膝盖弓
找到曲线的膝盖或肘部。
工作原理
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
让我们来看看这些数据的峰值情况:
为了找到肘部,我们创建了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()
许可证
根据麻省理工学院的许可证发行。有关详细信息,请参见LICENSE
。