zoukankan      html  css  js  c++  java
  • 简单的向量相似度计算实现

    
    
    import math
    from itertools import imap
    v1 = [30, 20, 20, 10, 0]
    v2 = [40, 0, 30, 20, 10]
    
    dot_product = sum(imap(lambda a, b: a * b, v1, v2))
    module_one = math.sqrt(sum(imap(lambda a, b: a * b, v1, v1)))
    module_two = math.sqrt(sum(imap(lambda a, b: a * b, v2, v2)))
    
    similarity = -1
    
    try:
       = float(dot_product) / (module_one * module_two)
    except Exception,e:
      print "ZeroDivisonError,check it"
    
    print similarity

    具体解释参考 http://cyxinda.blog.163.com/blog/static/3659618620136306469889/

  • 相关阅读:
    郑码
    AutoCAD 安装
    China Mobile 移动
    CCB 建行
    Word基础
    Java 继承
    Java 封装(内部类)
    Java 类与对象
    Java 方法
    Java 数组
  • 原文地址:https://www.cnblogs.com/jaw-crusher/p/3968696.html
Copyright © 2011-2022 走看看