我正在尝试确定哪种特定算法最适合我的用例。
我有一个城市中大约 1000 座物理建筑物的数据集,具有位置、距离、建造年份和其他特征等特征空间。对于每个新数据点,一座建筑物,我想找到 3-5 座最相似的建筑物基于特征空间比较。
我将相似性定义为特征的加权比较。我想遍历整个特征空间(带过滤器的位置)并选择与新建筑物数据点匹配的 3-5 个最相似的建筑物。
这是我的数据的样子:
我想知道什么相似性度量是有意义的?我在 python 中工作,所以更喜欢 pythonic/sci-kit 学习方式。
在我看来,您在用例中寻找的不是聚类——它是一个距离度量。
当你得到一个新的数据点时,你想找到3-5个最相似的数据点;没有必要对它进行聚类。计算新数据点到每个“旧”数据点的距离,并选择前 3-5 个。
现在,选择哪个距离度量?有选项。如果您使用的是 SKLearn,我会查看此页面以了解距离(/相似度)指标的示例。
如果您的特征是连续的,您可以对其进行归一化并使用余弦相似度;从这个开始,看看它是否合适。