我有上千个表,每个表包含数百个单词和和它们在第二列中对应的分数。我需要计算每对表的相关性。在
因此,我开始阅读每个表,并将其转换为字典;每个单词都是字典键,其分数就是值。在
现在是计算相关性的时候了。我必须指出,并非所有的字典都有相同的键;有些多,有些少;每个字典都应该根据它的对进行扩展-这意味着如果一对字典有另一个字典中不存在的某个键,另一个字典应该用这些键更新,这些键的值应该是0,最后计算出相关系数。在
示例:dict1 = {'car': 0.1, 'dog':0.3, 'tiger':0.5, 'lion': 0.1, 'fish':0.2}
dict2 = {'goat':0.3, 'fish':0.3, 'shark':0.4, 'dog':0.3}
所以,dict1应该看起来像:
^{pr2}$
然后计算它们之间的相关性。在
我很欣赏如何根据字典的值有效地计算词典的相似性/相关性。在
更新
Here是一篇从技术上解释如何计算相关系数的帖子。在
这是最简单的版本import numpy
numpy.corrcoef(list1, list2)[0, 1]
但它只对“列表”有效。基本上,我是在计算了两个字典的相关系数后,对他们的关键字,以一种有效的方式。(较少的扩展和排序键)