选择距离度量并测量相似度

数据挖掘 Python scikit-学习 聚类 无监督学习
2022-02-10 00:11:01

我正在尝试确定哪种特定算法最适合我的用例。

我有一个城市中大约 1000 座物理建筑物的数据集,具有位置、距离、建造年份和其他特征等特征空间。对于每个新数据点,一座建筑物,我想找到 3-5 座最相似的建筑物基于特征空间比较。

我将相似性定义为特征的加权比较。我想遍历整个特征空间(带过滤器的位置)并选择与新建筑物数据点匹配的 3-5 个最相似的建筑物。

这是我的数据的样子:

数据

我想知道什么相似性度量是有意义的?我在 python 中工作,所以更喜欢 pythonic/sci-kit 学习方式。

1个回答

在我看来,您在用例中寻找的不是聚类——它是一个距离度量。

当你得到一个新的数据点时,你想找到3-5个最相似的数据点;没有必要对它进行聚类。计算新数据点到每个“旧”数据点的距离,并选择前 3-5 个。

现在,选择哪个距离度量?有选项。如果您使用的是 SKLearn,我会查看此页面以了解距离(/相似度)指标的示例。

如果您的特征是连续的,您可以对其进行归一化并使用余弦相似度从这个开始,看看它是否合适。