我正在尝试智能地对已排序的集合进行分类。我有条数据的集合。但我知道这些数据适合个大小不等的箱子。我不知道如何智能地选择端点以正确拟合数据。例如:
假设我的收藏中有 12 件物品,并且我知道这些数据可以放入 3 个箱子中:
Index: 1 2 3 4 5 6 7 8 9 10 11 12
Value: 1 1 1 3 3 3 3 3 3 5 5 6
如何智能地为的 bin 选择断点?
我当前的实现将数据分成大小均匀的箱,然后取端点的平均值来找到箱末端的索引。所以它是这样工作的:
Index: 1 2 3 4 5 6 7 8 9 10 11 12
Value: 1 1 1 3 3 3 3 3 3 5 5 6
first break evenly: i = 1-4, 5-8, 9-12
mean endpoints: between 4 and 5: (3+3)/2 = 3
between 8 and 9: (3+3)/2 = 3
所以现在低于 3 的任何东西都适合 bin 1,高于 3 但低于 3 的任何东西都适合 bin 2,高于 3 的任何东西都适合 bin 3。你可以看到我的问题是什么。如果数据具有不相等的箱,我的方法将失败。
一个朋友提到了k-最近邻算法,但我不确定。