您所问的最难的部分是如何实际定义接近度。您期望的输出是什么[5,10,15,20]
?分组是否与[500,1000,1500,2000]
?
关于什么[1,2,3,5,7,8,9]
?应该是一组还是三组? (或两个?)。
关于什么[1,2,3,5,7,8,9,1075,4000]
? 1075 和 4000 会组合在一起吗?样本中较大数字是否会改变较小数字的分组?
这个问题是整个机器学习领域提出的问题:聚类分析 http://en.wikipedia.org/wiki/Cluster_analysis或许这个相关问题 https://stackoverflow.com/questions/6147466/what-clustering-algorithm-to-use-on-1-d-data有帮助吗?
我想你想要的是K-均值聚类 http://en.wikipedia.org/wiki/K-means_clustering(在相关问题中有用链接),但您需要知道要将数据分成多少组才能使用它。