我有一个相对较大的 NumPy 数组(近 300k 行和 20 多列,尽管大多数值为 0),我需要使用 scikit-learn 的 pairwise_distances 计算距离矩阵功能。
不幸的是,除非我将输入数组转换为稀疏矩阵,否则此过程会遇到内存错误。 SciPy 提供了许多 sparse matrix classes我不知道哪一个最适合这种特殊情况。
我发现了一个SO answer有利于 CSR 或 CSC,但我不清楚哪一个最适合计算距离矩阵。欢迎任何建议!
最佳答案
CSR 按行排序,CSC 按列排序。因此,使用 CSR 访问行会更快,使用 CSC 访问列会更快。自 sklearn.metrics.pairwise.pairwise_distances
使用 X 作为输入,其中行是实例,列是属性,它将访问稀疏矩阵中的行。因此,使用 CSR 可能会更有效。
关于python - 哪种 SciPy 稀疏矩阵类最适合计算距离矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27235744/