我正在处理一个问题,我想自动将一个集合分为两个子集,因为我知道集合 A 中的几乎所有对象在所有维度上的值都比集合 B 中的对象大。
我知道我可以使用机器学习,但我需要它完全自动化,因为在问题实例中,集合 A 和集合 B 的对象将具有不同的值(因此问题实例 2 的集合 B 中的值可能是大于问题实例 1 的集合 A 中的值!)。
我想解决方案可能是找到最能代表这两组的对象(它们周围的对象的密度是最高的)。 找到两组的 N 个最佳代表对我来说就足够了。
有人知道问题的名称和/或可以提出解决方案吗? (Python 更佳)。
干杯!
最佳答案
你可以尝试一些聚类方法,属于无监督机器学习。结果取决于您的数据及其分布方式。根据你的图片我认为K-means算法可以工作。有一个用于机器学习的 python 库 scikit-learn,它已经包含 k-means 实现:http://scikit-learn.org/stable/modules/clustering.html#k-means
关于python - 分类为两组之一(无需学习),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181001/