如何有效计算两部词典的内积

2024-05-19 14:43:19 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我使用字典表示一个特征向量(为什么?因为我知道这些特性是稀疏的,但是,以后会有更多的介绍)。

我应该如何实现两个这样的字典的内积(表示,A,B)

我尝试了天真的方法:

for k in A:
  if k in B:
    sum += A[k] * B[k]

但结果却很慢。

更多细节:

  • 我用字典来表示特征是因为

    1. 功能键是字符串
    2. 可能有2万把钥匙
    3. 每个向量都是稀疏的(比如,大约1000个非零元素)。
  • 我对计算N=2000个不同字典(即它们的线性内核)的成对内积非常感兴趣。


Tags: 方法字符串inforif字典特征特性