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”。此外,你应该澄清这是你在最后一句话中提到的平均值。看起来你开始养成了不选择答案的习惯。如果有人回答了你满意的问题,你应该点击答案旁边的复选标记。