数据项如下所示:
item1 = {
"path": "/some/path",
"data": {
"a": [0, 1, 2, ...], #numpy array
"b": [4, 9, 4, ...], #numpy array
"c": [7, 1, 0, ...], #numpy array
}
}
然后我把每一个项目进行比较,然后我就有了这样的配对:
pairs = []
pair = {
"a": item1,
"b": item2,
"diff": 12345,
}
pairs.append(pair)
pair = {
"a": item1,
"b": item3,
"diff": 987654,
}
pairs.append(pair)
现在我想要所有相似项的聚类(组)。diff属性越小,项越相似。
我假设这可以用数据科学的方法来完成,但是我的数据不像一个x,y坐标系。(我添加了Pandas标签,因为我假设,它可能在这里有帮助)
如何使用最大相似性(=最小差异属性)将项目排列在聚类中?
1条答案
按热度按时间mnemlml81#
我找到了一个解决方案,一开始我通过对diff应用一个阈值来减少项目对(保持diff〈10000000的对)。
然后运行以下代码创建集群(组):
这将创建
groups
,其中每组类似项都有一个元素。