Python 返回与其中一个向量相同的值的numpy.dot
我有一本字典,它的键值对是Python 返回与其中一个向量相同的值的numpy.dot,python,numpy,dictionary,dot-product,Python,Numpy,Dictionary,Dot Product,我有一本字典,它的键值对是{'ph':12,'ie':14},在文本语料库中有一个双音素及其频率 biphone_frequency = get_biphone_dist(baseline_corpus_phonetic) 此函数用于从文本语料库返回具有上述规范的词典 我需要创建两个字典,其中一个uniform\u RP表示所有双声道的均匀百分比分布,另一个correlation\u CP显示双声道的实际百分比分布。因此,我认为: length_dict = len(bipho
{'ph':12,'ie':14}
,在文本语料库中有一个双音素及其频率
biphone_frequency = get_biphone_dist(baseline_corpus_phonetic)
此函数用于从文本语料库返回具有上述规范的词典
我需要创建两个字典,其中一个uniform\u RP
表示所有双声道的均匀百分比分布,另一个correlation\u CP
显示双声道的实际百分比分布。因此,我认为:
length_dict = len(biphone_frequency.values())
sum_dict = sum(biphone_frequency.values())
#calculating uniform distribution of all the biphones
rp = 1.0/float(length_dict)
# creating dictionary with constant values wrt every biphone
uniform_RP = {x : rp for x in biphone_frequency.keys()}
# creating dictionary with actual values wrt every biphone
correlation_CP = {}
for key, val in biphone_frequency.items():
cp = val/float(sum_dict) ##individual %age distribution
correlation_CP[key] = cp
我需要找到相关性\u CP.values()
和一致性\u RP.values()
之间的点积。因此,我使用:
RP_values = np.array(uniform_RP.values())
CP_values = np.array(correlation_CP.values())
correlation_coefficient = np.dot(RP_values, CP_values)
问题是点积总是与
uniform\u RP.values()
中的值相同。有人能解释为什么会发生这种事吗 之所以发生这种情况,是因为点积就是这样定义的。将每个元素乘以1/N,然后将它们相加。这是因为uniform\u RP
每个值包含1/N。结果将始终是相关性的平均值\u CP
对于扩张,我使用1/N而不是
1.0/length\u dict
。他们的意思是一样的 顺便说一句,correlation\u CP={k:v/sum\dict表示双音器中的k,v\u frequency.items()}
。在理解词典之前,别忘了把sum_dict
变成一个“float”。此外,你应该澄清这是你在最后一句话中提到的平均值。看起来你开始养成了不选择答案的习惯。如果有人回答了你满意的问题,你应该点击答案旁边的复选标记。