生成稀疏对称正定矩阵#

sklearn.datasets.make_sparse_spd_matrix(n_dim=1, *, alpha=0.95, norm_diag=False, smallest_coef=0.1, largest_coef=0.9, sparse_format=None, random_state=None)[source]#

生成稀疏对称正定矩阵。

更多信息请阅读 用户指南

参数:
n_dimint, 默认值=1

要生成的随机矩阵的大小。

1.4 版本中的变更: dim 重命名为 n_dim

alpha浮点数,默认为 0.95

系数为零的概率(参见注释)。较大的值会强制执行更高的稀疏性。该值应在 0 和 1 之间。

norm_diag布尔值,默认为 False

是否将输出矩阵标准化,使主对角线元素全部为 1。

smallest_coef浮点数,默认为 0.1

0 到 1 之间最小系数的值。

largest_coef浮点数,默认为 0.9

0 到 1 之间最大系数的值。

sparse_format字符串,默认为 None

表示输出稀疏格式的字符串,例如 'csc'、'csr' 等。如果为 None,则返回密集的 numpy ndarray。

1.4 版本中添加。

random_state整数、RandomState 实例或 None,默认为 None

确定数据集创建的随机数生成。传递一个整数以在多次函数调用中获得可重复的输出。参见 词汇表

返回:
prec形状为 (dim, dim) 的 ndarray 或稀疏矩阵

生成的矩阵。如果 sparse_format=None,则为 ndarray。否则,这将是一个指定格式的稀疏矩阵。

另请参见

make_spd_matrix

生成一个随机的对称正定矩阵。

注释

稀疏性实际上施加在矩阵的 Cholesky 因子上。因此,alpha 不会直接转换为矩阵本身的填充分数。

示例

>>> from sklearn.datasets import make_sparse_spd_matrix
>>> make_sparse_spd_matrix(n_dim=4, norm_diag=False, random_state=42)
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])