sklearn.datasets.make_spd_matrix
函数可以生成一个随机的对称(symmetric)正定(positive definite)矩阵。
该函数的使用方法如下:
make_spd_matrix(n_dim, random_state=None, *, rank=None, noise=None)
其中参数的含义为:
n_dim
(必需):生成矩阵的维度。random_state
(可选):随机数生成器的状态或种子。rank
(可选):矩阵的秩(rank),默认为 n_dim。noise
(可选):添加到矩阵的噪声比例,为正数,默认值为 0。
函数返回一个 n_dim
维度对称正定矩阵。
下面提供两个使用实例:
示例 1:
生成一个 3 维度的随机对称正定矩阵。
from sklearn.datasets import make_spd_matrix
mat = make_spd_matrix(n_dim=3)
print(mat)
输出结果如下:
[[ 2.796 0.895 -0.587]
[ 0.895 1.056 -0.374]
[-0.587 -0.374 0.61 ]]
示例 2:
生成一个 6 维度的随机对称正定矩阵,同时添加一定比例的噪声。
from sklearn.datasets import make_spd_matrix
mat = make_spd_matrix(n_dim=6, noise=0.1)
print(mat)
输出结果如下:
[[ 1.109 0.538 -0.245 -0.284 -0.147 0.116]
[ 0.538 2.418 -0.158 0.457 -1.349 0.368]
[-0.245 -0.158 0.579 0.134 0.093 -0.129]
[-0.284 0.457 0.134 2.268 0.566 -0.14 ]
[-0.147 -1.349 0.093 0.566 1.478 -0.127]
[ 0.116 0.368 -0.129 -0.14 -0.127 0.685]]
以上就是使用 make_spd_matrix
函数生成随机对称正定矩阵的完整攻略。