可能重复:
最佳地聚类一维数据?
所以,假设我有一个这样的数组:
[1,1,2,3,10,11,13,67,71]
Run Code Online (Sandbox Code Playgroud)
有没有一种方便的方法将数组分区为这样的东西?
[[1,1,2,3],[10,11,13],[67,71]]
Run Code Online (Sandbox Code Playgroud)
我查看了类似的问题,但是大多数人建议使用k-means来聚集点,比如scipy,这对像我这样的初学者来说非常混乱.另外我认为k-means更适合两维或更多维聚类吧?有没有办法根据数字将N个数组分组到多个分区/聚类?
有些人还提出了严格的范围分区,但并不总是按预期呈现结果
arrays cluster-analysis data-mining dimension partition-problem
有没有人有一篇论文解释了Ckmeans.1d.dp算法是如何工作的?
或者:在一维中进行k均值聚类的最佳方法是什么?
我正在开发一个应用程序,我需要像Cam Scanner这样的功能,在图像中检测文档.为此,我使用Canny Edge检测,然后使用Hough Transform.
结果看起来很有希望,但文档中的文字正在创建问题,如下图所示:
我的问题在于第三张图像,底部附近的原始图像中的文本强制进行hough变换以检测水平线(从底部开始的第二个簇).
我知道我可以采用最大的四边形,并且在大多数情况下都可以正常工作,但我仍然想知道在这个处理过程中我可以忽略文本对边缘的影响的任何其他方式.
任何帮助,将不胜感激.
我有一个像这样的一维列表
public class Zeit_und_Eigenschaft
{
[Feature]
public double Sekunden { get; set; }
}
//...
List<Zeit_und_Eigenschaft> lzue = new List<Zeit_und_Eigenschaft>();
//fill lzue
Run Code Online (Sandbox Code Playgroud)
lzue可以
lzue.Sekunden
1
2
3
4
8
9
10
22
55
...
Run Code Online (Sandbox Code Playgroud)
目标是在该列表中找到群集,即在此示例中可以形成像fi这样的群组的元素
lzue.Sekunden
1
2
3
4
8
9
10
22
55
Run Code Online (Sandbox Code Playgroud)
哪种聚类算法是合适的(我不知道聚类数k)?GMM?PCA?K均值?其他?