scipy.sparse.random¶
- scipy.sparse.random(m, n, density=0.01, format='coo', dtype=None, random_state=None, data_rvs=None)[源代码]¶
生成具有随机分布值的给定形状和密度的稀疏矩阵。
- 参数
- m, n集成
矩阵的形状
- density真实,可选
生成矩阵的密度:密度等于1表示全矩阵,密度为0表示没有非零项的矩阵。
- format字符串,可选
稀疏矩阵格式。
- dtype数据类型,可选
返回的矩阵值的类型。
- random_state :{无,整型,
numpy.random.Generator
,{无,整型, 如果 seed 为无(或 np.random )、
numpy.random.RandomState
使用的是Singleton。如果 seed 是一个整型、一个新的RandomState
实例,其种子设定为 seed 。如果 seed 已经是一个Generator
或RandomState
实例,则使用该实例。该随机状态将用于采样稀疏结构,但不一定用于采样矩阵的结构非零条目的值。- data_rvs可调用,可选
对请求数量的随机值进行采样。此函数应该接受单个参数,指定它将返回的ndarray的长度。稀疏随机矩阵的结构非零项将取自由该函数采样的数组。默认情况下,均匀的[0,1]随机值将使用与采样稀疏结构相同的随机状态进行采样。
- 退货
- res稀疏矩阵
注意事项
目前仅支持浮点类型。
示例
>>> from scipy.sparse import random >>> from scipy import stats >>> from numpy.random import default_rng >>> rng = default_rng() >>> rvs = stats.poisson(25, loc=10).rvs >>> S = random(3, 4, density=0.25, random_state=rng, data_rvs=rvs) >>> S.A array([[ 36., 0., 33., 0.], # random [ 0., 0., 0., 0.], [ 0., 0., 36., 0.]])
>>> from scipy.sparse import random >>> from scipy.stats import rv_continuous >>> class CustomDistribution(rv_continuous): ... def _rvs(self, size=None, random_state=None): ... return random_state.standard_normal(size) >>> X = CustomDistribution(seed=rng) >>> Y = X() # get a frozen version of the distribution >>> S = random(3, 4, density=0.25, random_state=rng, data_rvs=Y.rvs) >>> S.A array([[ 0. , 0. , 0. , 0. ], # random [ 0.13569738, 1.9467163 , -0.81205367, 0. ], [ 0. , 0. , 0. , 0. ]])