I’m trying to use TF-IDF将文件分类.我已经计算了一些文档的tf_idf,但是现在当我尝试计算这两个文档之间的余弦相似度时,我得到一个追溯说:
#len(u)==201, len(v)==246
cosine_distance(u, v)
ValueError: objects are not aligned
#this works though:
cosine_distance(u[:200], v[:200])
>> 0.52230249969265641
正在切片矢量,以便len(u)== len(v)正确的方法?我会认为余弦相似性可以与不同长度的矢量一起使用.
def cosine_distance(u, v):
"""
Returns the cosine of the angle between vectors v and u. This is equal to
u.v / |u||v|.
"""
return numpy.dot(u, v) / (math.sqrt(numpy.dot(u, u)) * math.sqrt(numpy.dot(v, v)))
另外 – 载体中tf_idf值的顺序是否重要?是否应该排序 – 或者这个计算不重要吗?