Python中的近邻矩阵
计算非常大且稀疏的向量之间的距离或接近度矩阵,最好的方法是什么呢?
举个例子,你有一个设计矩阵,每一行都是一个68771维的稀疏向量。
这个设计矩阵看起来是这样的: <5830x68771 的稀疏矩阵,类型为 '' 在压缩稀疏行格式中存储了1229041个元素>
1 个回答
1
你有没有试过用 scipy.spatial.distance
里的功能呢?
http://docs.scipy.org/doc/scipy/reference/spatial.distance.html
如果这样做让你必须使用一种更密集的表示方式,那根据非零元素的数量,你可能自己写一个会更好。你可以把零值去掉,同时保留一个新旧索引之间的对应关系,然后计算剩下的非零元素之间的距离,最后再用这个索引把结果映射回去。