python - 通过它们在 python 中的接近度来聚类值(机器学习?)

标签 python machine-learning cluster-analysis data-mining

<分区>

我有一个在一组对象上运行的算法。该算法产生一个分值,该分值指示集合中元素之间的差异。

排序后的输出是这样的:

[1,1,5,6,1,5,10,22,23,23,50,51,51,52,100,112,130,500,512,600,12000,12230]

如果您将这些值放在电子表格中,您会看到它们组成了组

[1,1,5,6,1,5] [10,22,23,23] [50,51,51,52] [100,112,130] [500,512,600] [12000,12230]

有没有办法以编程方式获取这些分组?

也许是一些使用机器学习库的聚类算法?还是我想多了?

我看过 scikit,但他们的例子对于我的问题来说太高级了......

最佳答案

不要对一维数据使用聚类

聚类算法专为多元数据而设计。当您拥有一维数据时,对其进行排序,并寻找最大的间隙。这在 1d 中是微不足道且快速的,而在 2d 中是不可能的。如果您想要更高级的东西,请使用核密度估计 (KDE) 并寻找局部最小值来拆分数据集。

这个问题有很多重复:

关于python - 通过它们在 python 中的接近度来聚类值(机器学习?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364026/

相关文章:

perl - 如何基于ssdeep进行聚类?

r - 在R中,有一种算法可以创建大小近似相等的簇

python - 什么是如何阅读 TensorBoard 的直方图特征的一个很好的解释?

machine-learning - 使用元音 wabbit 进行装袋/增强

cluster-analysis - k-means 集群中可以有重叠吗?

python - 使用 Apache2 (mod_wsgi) 的 Django 问题,偶尔是 "unable to import from module",没有明显原因

python - 使用转换时 Scikit Learn 分类器加载问题 : Vocabulary wasn't fitted or is empty!

python - 将事件数据帧重新采样为 10 分钟间隔并对事件进行计数

javascript - 抓取数据、 headless 浏览器和 Python

python - Python 中 sin(x) 的泰勒级数循环