我有一个android应用,我想查找与所选数据高度相似的所有数据。例如:
我的数据具有这样的价值。
No Name Distance Rating Price
1. Coffee Shop 1.3 KM 4.6 40
我想显示所有与上述数据具有相似性的数据(假设像“相似性得分”一样具有权重)。 哪种算法最适合我的情况并且最容易实现? 从我一直在寻找的东西中,我得到了几种我认为可行的算法
- K-Means Clustering
- K-Nearest Neighbor
- ElasticSearch
- Cosine Similarity
在目前的假设下,我仍在考虑使用K-Means,因为它是我之前学过的唯一算法
答案 0 :(得分:1)
如果您使用K-Means,则将获得聚集在一起的数据组。但是在这里,我认为k最近邻居更适合您的查询,因为据我了解,您将获得数据查询,并且您正在尝试查找与其相似的数据。使用k最近邻居,您可以说出最近的5个或50个邻居来调整要包含的数量。所以在这种情况下,我会选择kNN。
答案 1 :(得分:0)
使用MySQL之类的数据库。 SQL具有联接和对相似数据进行排序的方法。