我希望通过像q-gram距离或简单的"包距离"或者Python中的Levenshtein距离来聚集~100,000个短字符串.我打算填写距离矩阵(100,000选择2比较),然后用pyCluster进行分层聚类.但是我甚至在开始之前遇到了一些记忆问题.例如,距离矩阵太大而不适合numpy.
aa = numpy.zeros((100000, 100000))
ValueError: array is too big.
Run Code Online (Sandbox Code Playgroud)
这看起来像是一件合理的事吗?或者我注定要在这项任务中记忆问题?谢谢你的帮助.
是否有一种通用的方法来转换相似度量和距离度量?
考虑一个相似性度量,例如两个字符串共有的2克数.
2-grams('beta', 'delta') = 1
2-grams('apple', 'dappled') = 4
Run Code Online (Sandbox Code Playgroud)
如果我需要将其提供给期望测量差异的优化算法,例如Levenshtein距离,该怎么办?
这只是一个例子......我正在寻找一个通用的解决方案,如果存在的话.比如如何从Levenshtein距离到相似度量?
我感谢您提供的任何指导.