gpt4 book ai didi

python - python/scikit-learn 中距离计算的稀疏实现

转载 作者:太空狗 更新时间:2023-10-30 01:16:58 26 4
gpt4 key购买 nike

我有一个大的(100K x 30K)和(非常)稀疏的 svmlight 格式数据集,我按如下方式加载:

import numpy as np
from scipy.cluster.vq import kmeans2
from scipy.spatial.distance import pdist, squareform
from sklearn.datasets import load_svmlight_file

X,Y = load_svmlight_file("somefile_svm.txt")

它返回一个稀疏的 scipy 数组 X

我只需要计算所有训练点的成对距离

D = pdist(X)

不幸的是,scipy.spatial.distance 中的距离计算实现仅适用于稠密矩阵。由于数据集的大小,将 pdist 用作

是不可行的
D = pdist(X.todense())

任何指向与此问题相关的稀疏矩阵距离计算实现或解决方法的指针都将不胜感激。

非常感谢

最佳答案

scikit-learn 中有一个 sklearn.metrics.euclidean_distances 函数,它适用于稀疏矩阵和密集 numpy 数组。查看reference documentation .

然而,非欧几里得距离尚未用于稀疏矩阵。

关于python - python/scikit-learn 中距离计算的稀疏实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com