make_sparse_spd_matrix#

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, default=1

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

版本 1.4 中的变化:已从 dim 重命名为 n_dim

alphafloat, default=0.95

系数为零的概率(参见注释)。值越大,稀疏度越高。值应在 0 到 1 之间。

norm_diagbool, default=False

是否对输出矩阵进行归一化,使主对角线元素全部为 1。

smallest_coeffloat, default=0.1

最小系数的值,介于 0 和 1 之间。

largest_coeffloat, default=0.9

最大系数的值,介于 0 和 1 之间。

sparse_formatstr, default=None

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

1.4 版本新增。

random_stateint, RandomState instance or None, default=None

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

返回:
precndarray or sparse matrix of shape (dim, dim)

生成的矩阵。如果 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.]])