美文网首页
cosine top-k rank 计算方法

cosine top-k rank 计算方法

作者: freeJoey | 来源:发表于2018-07-13 21:01 被阅读0次

    import numpy as np

    from sklearn.metrics.pairwise import cosine_similarity

    feature_numpy=[[1,2,3],[3,4,5],[8,6,7],[219,392,1],[23,1,2]]

    query_vector=[[3,42,33]]

    result=cosine_similarity(feature_numpy,query_vector)

    result=result.flatten()

    >>> result

    array([ 0.92921051,  0.90407881,  0.77639014,  0.71409719,  0.14317521])

    ind = np.argpartition(result,-2)[-2:]   # 返回 top2 numpy 1.8版本才有

    >>> ind

    array([1, 0])

    >>> result[ind]

    array([ 0.90407881,  0.92921051])

    ind= ind[np.argsort(-result[ind])]  # 降序排列


    至此就是通过query查询特征矩阵相似度的完整计算方法,但是我并未对性能做评估,需要考虑当特征矩阵过大时的计算速度,如果超过千万甚至更多的矩阵需要考虑分布式计算方式来满足大量特征topk的计算

    相关文章

      网友评论

          本文标题:cosine top-k rank 计算方法

          本文链接:https://www.haomeiwen.com/subject/jrwspftx.html