建立稀疏 SPD 矩陣#
- 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)[原始碼]#
產生稀疏對稱正定矩陣。
在使用者指南中閱讀更多資訊。
- 參數:
- n_dimint,預設為 1
要產生的隨機矩陣大小。
在 1.4 版本中變更: 將
dim
更名為n_dim
。- alphafloat,預設為 0.95
係數為零的機率(請參閱註釋)。值越大,強制稀疏性越高。該值應在 0 到 1 的範圍內。
- norm_diagbool,預設為 False
是否正規化輸出矩陣,使主對角線元素都為 1。
- smallest_coeffloat,預設為 0.1
最小係數的值,介於 0 和 1 之間。
- largest_coeffloat,預設為 0.9
最大係數的值,介於 0 和 1 之間。
- sparse_formatstr,預設為 None
表示輸出稀疏格式的字串,例如「csc」、「csr」等。如果為
None
,則傳回密集 numpy ndarray。在 1.4 版本中新增。
- random_stateint、RandomState 實例或 None,預設為 None
決定資料集建立的隨機數產生。傳遞 int 以便在多次函數呼叫中產生可重現的輸出。請參閱詞彙表。
- 傳回:
- prec形狀為 (dim, dim) 的 ndarray 或稀疏矩陣
產生的矩陣。如果
sparse_format=None
,則這會是 ndarray。否則,這將是指定格式的稀疏矩陣。
另請參閱
make_spd_matrix
產生隨機對稱正定矩陣。
註釋
稀疏性實際上是施加在矩陣的喬列斯基分解因子上。因此,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.]])