我有一个从外部来源收到的数据集,并且没有真正的控制权。我可以无限制地编辑它,但不能选择用于过滤集合的参数。绘制时,数据显示了两个点,其中有几个稀疏的无关点。这是一个示例图:
(抱歉,我没有足够的权限来嵌入图片)
左边有一堆点,聚集在(1,16)周围。这个丛实际上是一组点的一部分,这些点位于从(1,17.5)到(2.4,13)延伸的线上(或附近)。此外,从(1.75,18)到(2.75,12.5)有明显的曲线。最后,在第二条曲线上方有一些稀疏点,大约(2.5,17)。在视觉上,将这些点组分开并不困难。但是,我需要将数据文件中的这些点分成三组,我将其称为Line,Curve和Other(Curve组是我实际需要的组)。我想编写一个程序,可以很好地完成这个,而不需要在视觉上看到情节。
现在,我要添加一些使这更糟糕的项目。这只是一组样本数据。虽然曲线和线的形状从一个数据集到下一个数据集相对恒定,但位置不是。这些区域可以(并且确实)水平和垂直移动。唯一真正的常数是从图的左上角到右下角有一条负斜率线,从顶部中心到底部的〜$ \ frac {1} {x ^ 4} $曲线 - 右边,大部分稀疏点位于曲线上方的右上角。
我在Linux上,而且我没有想法。我可以告诉你我尝试过的方法,虽然它们做得不好。
对我来说似乎有道理的另一个想法是尝试识别点密度并通过这些参数将数据拆分为单独的文件。我认为这是这个问题的最佳候选者,因为它与点位置无关。但是,我不知道该怎么做,特别是因为线和曲线确实非常接近于较大的x值(在样本图中,它的x值大于约2)。
我知道这并不完全符合MWE的要求,但我不知道如何提供更经典的MWE。如果我能提供的其他东西会有所帮助,请询问。提前谢谢。