scipy.spatial.distance.squareform(x, force=』no』, checks=true)
converts a vector-form distance vector to a square-form distance matrix, and vice-versa.解釋
用來把乙個向量格式的距離向量轉換成乙個方陣格式的距離矩陣,反之亦然。x: 型別是ndarray
官網上說是either a condensed or redundant distance matrix.誰知道這裡說的簡潔或者冗餘距離矩陣是什麼鬼?答案揭曉,我知道:首先輸入如果是矩陣的話必須是距離矩陣,距離矩陣的特點是
1. d*d的對稱矩陣,這裡d表示點的個數;
2. 對稱矩陣的主對角線都是0;
另外,如果輸入的是距離向量的話,必須滿足d * (d-1) / 2.
force: 型別是str,可選
強制做』tovector』 或者』tomatrix』的轉換
checks: 型別是bool, 可選
如果是false,將不會進行對陣的對稱性和0對角線的檢查。
y:型別是ndarray
如果輸入的是簡潔的距離矩陣,將返回冗餘矩陣;
如果輸入的是冗餘的距離矩陣,將返回簡潔的距離矩陣。ab
cdef
a0184222
177216
231b
1840
45123
128200
c222450
129121
203d
177123
1290
4683
e216
128121460
83f231200
20383830
回到squareform函式,距離矩陣轉換為向量的過程可以成為壓縮儲存的過程。跟稀疏矩陣的壓縮儲存原理基本一致,有興許的同學,可以google下compressed row storage (crs)。
矩陣轉換為向量的過程:
1. 主對角線的值都為0,不儲存
2. 只儲存下三角矩陣的值
3. 根據下圖所示,按照逐行掃瞄的方法,依次找到下三角矩陣的距離值。
scipy轉換結果如下:
環境不小心關了,之後補一張圖吧~~
SciPy中的統計模組
numpy 替我們搞定了向量和矩陣的相關操作,基本上算是乙個高階的科學計算器。scipy 基於 numpy 提供了更為豐富和高階的功能擴充套件,在統計 優化 插值 數值積分 時頻轉換等方面提供了大量的可用函式,接下來我們就學習一下 scipy 中的統計和優化模組。import numpy as np...
scipy常用函式(更新中)
from scipy.optimize import fsolve def f x 定義要求解的方程組 x1 x 0 x2 x 1 return 2 x1 x2 2 1,x1 2 x2 2 result fsolve f,1,2 求解方程組的函式,f表示方程組函式,1,1 表示x print res...
scipy 中的whiten函式
呼叫kmeans函式,kmeans中呼叫了whited函式。查後,發現whiten是對輸入資料按標準差做歸一化處理。e 經過whiten後 x i xis tand dev atio nx frac xi s tand dev atio nxi 與標準化不同的是,白化處理沒有減去均值。下面是按步驟實...