sklearn.datasets.make_low_rank_matrix?
sklearn.datasets.make_low_rank_matrix(n_samples=100, n_features=100, *, effective_rank=10, tail_strength=0.5, random_state=None)
生成具有鐘形奇異值的低階矩陣
大部分方差可以由有效寬度的鐘形曲線解釋:奇異值分布圖的低秩部分為:
(1 - tail_strength) * exp(-1.0 * (i / effective_rank) ** 2)
剩余奇異值的尾部較粗,遞減為:
tail_strength * exp(-0.1 * i / effective_rank).
輪廓的低秩部分可以被認為是數據的結構化信號部分,而尾部可以被認為是數據中的噪聲部分,無法用少量的線性分量(奇異矢量)來概括。
在實踐中通常會看到這種奇異的輪廓,例如:
人臉的灰度圖片 從網上抓取的文本文檔的TF-IDF向量
在用戶指南中閱讀更多內容。
參數 | 說明 |
---|---|
n_samples | int, optional (default=100) 樣本數。 |
n_features | int, optional (default=100) 特征數。 |
effective_rank | int, optional (default=10) 通過線性組合來解釋大多數數據所需的奇異向量的近似數量。 |
tail_strength | float between 0.0 and 1.0, optional (default=0.5) 奇異值分布圖的胖嘈雜尾巴的相對重要性。 |
random_state | int, RandomState instance, default=None 確定用于生成數據集的隨機數生成。 為多個函數調用傳遞可重復輸出的int值。 請參閱詞匯表.。 |
返回值 | 說明 |
---|---|
X | array of shape [n_samples, n_features] 矩陣。 |