我有这样一个输入表:
In [182]: data_set
Out[182]:
name ID
0 stackoverflow 123
1 stikoverflow 322
2 stack, overflow 411
3 internet.com 531
4 internet 112
5 football 001
我想根据fuzzyfuzzy对相似的字符串进行分组。因此,在应用模糊匹配之后,所有具有超过某个相似度阈值(比如,>;%90相似度)的字符串将组合在一起。因此,期望的输出是:
^{pr2}$我在搜索不同的主题时发现this和{a2}它们只是名称匹配,没有进行聚类。另外this一个只显示最佳匹配,它对我没有帮助。这个page还解释了k-均值聚类,它需要预先设置簇的数量,这在本例中是不实际的。在
更新:
我发现fuzzywuzzy
包中的process
方法可以在一定程度上解决我的问题。但此方法只比较字符串与列表,而不比较列表与列表:
from fuzzywuzzy import process
with open("data-set.txt", "r") as f:
data = f.read().split("\n")
process.extract("stackoverflow",data, limit=3)
输出:
[('stackoverflow', 100), ('stack, overflow', 93), ('stikoverflow', 88)]
但是我还是不知道如何使用它来聚类。在
目前没有回答
相关问题 更多 >
编程相关推荐