我有一组数据,数据的散点图是这样的: plot http://www.avayequran.ir/rapid/files/figure_111.png
我已经通过红色区域显示了正确的答案,它几乎位于两个分支的中心。 (散点图是' V'形式) 我需要一种算法来查找此区域并收集此区域中包含的所有分散数据。 (因为有另外这样的设定数据) x,y数据都已上传到此处: Data
答案 0 :(得分:1)
根据你目前的问题,很难知道如何评估什么是正确的(即为什么这个区域是正确的?是基于点的值/坐标,区域中的点密度?是否基于关于较大结构(即分支中心)等的位置。)。
有人说;有很多机器学习算法可用;例如。 scikit-learn用于python。使用监督学习算法,您可以训练求解器的某些数据,然后它可以(尝试)找到其他数据的正确答案。
在重新提出问题之前,很难提供更多答案。
如果您的所有数据都是这样的,一个选项可能是对数据执行PCA(即降维)以将分支分成两个群集。然后,您将获得一些数据点,这些数据点无法清楚地标识为仅属于一个分支,然后您可以选择(scikit-learn's PCA docs)。请注意,虽然它应该相当准确,但使用它永远不会得到一个完美的圆圈。
如果您只需要这个已经知道“半径”和中心的数据集,则可以使用半主要(& minor){{1}来识别圆的中心(椭圆) }(& a
)轴然后使用其canonical form计算距离。
然而,使用正方形可能会更简单。
所以它看起来像这样(假设1d numpy.ndarrays):
b
通过查看图片,估计了x0,y0,a和b的值。