zoukankan      html  css  js  c++  java
  • 两矩阵行向量余弦相似度计算向量化操作

    余弦相似度计算:

    1 ```math
    2 cos(f{v_1}, f{v_2}) = frac{left(
    3 v_1 	imes v_2 
    ight)}{||v_1|| * ||v_2|| }
    4 
    5 ```
     1 ### 矩阵矢量化操作
     2 ### 按行计算余弦相似度
     3 ### 两矩阵计算相似度向量应为同维度
     4 ### 返回值RES为A矩阵每行对B矩阵每行向量余弦值
     5 ### RES[i,j] 表示A矩阵第i行向量与B矩阵第j行向量余弦相似度
     6 
     7 def cosine_Matrix(_matrixA, _matrixB):
     8   import numpy
     9   _matrixA_matrixB = _matrixA * _matrixB.transpose()
    10   ### 按行求和,生成一个列向量
    11   ### 即各行向量的模
    12   _matrixA_norm = numpy.sqrt(numpy.multiply(_matrixA,_matrixA).sum(axis=1))
    13   _matrixB_norm = numpy.sqrt(numpy.multiply(_matrixB,_matrixB).sum(axis=1))
    14   return numpy.divide(_matrixA_matrixB, _matrixA_norm * _matrixB_norm.transpose())
    15 
    16 ### 向量计算余弦相似度
    17 ### 计算两向量余弦相似度
    18 ### 返回_vec1和_vec2余弦相似度
    19 ### 此处用于计算向量余弦相似度,验证矩阵相似度计算结果
    20 
    21 def cosine(_vec1, _vec2):
    22   import numpy
    23   return float(numpy.sum(_vec1*_vec2))/(numpy.linalg.norm(_vec1)*numpy.linalg.norm(_vec2))
  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    配置SpringMVC(两天)
    layui学习4(三天的)动态表格
    layui的学习使用3表单
  • 原文地址:https://www.cnblogs.com/suanec/p/9121082.html
Copyright © 2011-2022 走看看