scipy.sparse.

rand#

scipy.sparse.rand(m, n, density=0.01, format='coo', dtype=None, rng=None)[source]#

產生具有給定形狀和密度的均勻分佈值的稀疏矩陣。

警告

此函數返回一個稀疏矩陣 – 而不是稀疏陣列。 建議您使用 random_array 以利用稀疏陣列功能。

參數:
m, nint

矩陣的形狀

densityreal, optional

生成矩陣的密度:密度等於 1 表示完整矩陣,密度為 0 表示沒有非零項目的矩陣。

formatstr, optional

稀疏矩陣格式。

dtypedtype, optional

返回的矩陣值的類型。

rng{None, int, numpy.random.Generator}, optional

如果通過關鍵字傳遞 rng,則 numpy.random.Generator 以外的類型會傳遞給 numpy.random.default_rng 以實例化 Generator。 如果 rng 已經是 Generator 實例,則使用提供的實例。 指定 rng 以獲得可重複的函數行為。

如果此參數通過位置傳遞,或 random_state 通過關鍵字傳遞,則參數 random_state 適用舊版行為

  • 如果 random_state 為 None (或 numpy.random),則使用 numpy.random.RandomState 單例。

  • 如果 random_state 是一個整數,則使用新的 RandomState 實例,並以 random_state 作為種子。

  • 如果 random_state 已經是 GeneratorRandomState 實例,則使用該實例。

變更於 1.15.0 版本:作為從使用 numpy.random.RandomState 過渡到 numpy.random.GeneratorSPEC-007 過渡的一部分,此關鍵字已從 random_state 變更為 rng。 在過渡期間,這兩個關鍵字將繼續有效,但一次只能指定一個。 在過渡期之後,使用 random_state 關鍵字的函數呼叫將發出警告。 上面概述了 random_staterng 的行為,但在新程式碼中應僅使用 rng 關鍵字。

返回:
res稀疏矩陣

參見

random

類似的函數,允許自訂隨機資料取樣器

random_array

類似於 random() 但返回稀疏陣列

筆記

目前僅支援浮點類型。

範例

>>> from scipy.sparse import rand
>>> matrix = rand(3, 4, density=0.25, format="csr", rng=42)
>>> matrix
<Compressed Sparse Row sparse matrix of dtype 'float64'
    with 3 stored elements and shape (3, 4)>
>>> matrix.toarray()
array([[0.05641158, 0.        , 0.        , 0.65088847],  # random
       [0.        , 0.        , 0.        , 0.14286682],
       [0.        , 0.        , 0.        , 0.        ]])