我有一個巨大的矩陣(認爲20000 x 1000)稱爲Z,我需要生成成對距離,所以我目前使用sklearn.metrics.pairwise.euclidean_distances(Z,Z)
來生成成對距離。獲取X指數的最小距離列表
但是,現在我需要搜索結果來找到最小的X距離,但我需要它們的索引。
一個例子是:
A = 20000 x 1000 numpy.ndarray
B = sklearn.metrics.pairwise.euclidean_distances(A, A)
C = ((2400,100), (800,900), (29,999)) if X = 3
什麼會去這樣做的最佳方式?我看到了numpy.unravel_index(a.argmax(), a.shape)
,但我不確定這個例子會很好。
scipy.spatial.distance.squareform 成對距離轉換成/從濃縮形式。一種選擇是以凝聚形式查找argmin,並將該索引映射回上三角陣列。搜索'pdist'和'squareform'的最近的scipy問題。 – hpaulj
http://stackoverflow.com/q/42098093/901925; http://stackoverflow.com/q/42046359/901925 – hpaulj