sklearn.decomposition.MiniBatchSparsePCA?
class sklearn.decomposition.MiniBatchSparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, n_iter=100, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', random_state=None, normalize_components='deprecated')
Mini-batch 稀疏主成分分析
找到能夠最優地重構數據的稀疏組件集。稀疏度的大小可以通過參數alpha給出的L1懲罰系數來控制。
在“用戶指南”中閱讀更多內容
參數 | 說明 |
---|---|
n_components | int, 要提取的稀疏原子數 |
alpha | int, 稀疏的控制參數。數值越高,組件越稀疏。 |
ridge_alpha | float, 在調用變換方法時,為了改善條件而應用的脊縮量。 |
n_iter | int, 為每個小批處理執行的迭代次數 |
callback | callable or None, optional (default: None) 可調用的,每5次迭代調用一次 |
batch_size | int, 在每個小批中采取的功能的數量 |
verbose | int, 控制冗長;越高,信息越多。默認值為0。 |
shuffle | boolean, 是否在將數據分拆成批之前打亂數據 |
n_jobs | int or None, optional (default=None) 要運行的并行作業數量。沒有一個是1,除非在joblib。parallel_backend上下文。-1表示使用所有處理器。更多細節請參見術語表。 |
method | {‘lars’, ‘cd’} cd:使用坐標下降法計算lasso解(linear_model.lars_path)。如果估計的組件是稀疏的,Lars會更快。 |
random_state | int, RandomState instance, default=None 在在線字典學習中,當shuffle被設為True時用于隨機洗牌。在多個函數調用中傳遞可重復的結果。看到術語表 |
normalize_components | ‘deprecated’ 此參數沒有任何效果。組件總是規范化的。新版本0.20。 自版本0.22以來已棄用:normalize_components在0.22中已棄用,將在0.24中刪除。 |
屬性 | 參數 |
---|---|
components_ | array, [n_components, n_features] 從數據中提取稀疏組件。 |
n_components_ | int 估計的組件數量。 |
n_iter_ | int 運行的迭代次數。 |
mean_ | array, shape (n_features,) 從訓練集估計的每個特征的經驗均值,等于x .均值(軸=0)。 |
另見:
示例
>>> import numpy as np
>>> from sklearn.datasets import make_friedman1
>>> from sklearn.decomposition import MiniBatchSparsePCA
>>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0)
>>> transformer = MiniBatchSparsePCA(n_components=5, batch_size=50,
... random_state=0)
>>> transformer.fit(X)
MiniBatchSparsePCA(...)
>>> X_transformed = transformer.transform(X)
>>> X_transformed.shape
(200, 5)
>>> # most values in the components_ are zero (sparsity)
>>> np.mean(transformer.components_ == 0)
0.94
方法 | 說明 |
---|---|
fit (self, X[, y]) |
根據X中的數據擬合模型。 |
fit_transform (self, X[, y]) |
擬合數據,然后轉換它。 |
get_params (self[, deep]) |
獲取這個估計器的參數。 |
set_params (self, **params) |
設置這個估計器的參數。 |
transform (self, X) |
數據在稀疏分量上的最小二乘投影。 |
__init__(n_components=None, *, alpha=1, ridge_alpha=0.01, n_iter=100, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', random_state=None, normalize_components='deprecated')
該方法適用于簡單估計器和嵌套對象(如管道)。后者具有形式為
fit(self, X, y=None)
根據X中的數據擬合模型。
參數 | 說明 |
---|---|
X | array-like, shape (n_samples, n_features) 訓練向量,其中樣本數量中的n_samples和n_features為feature的數量。 |
y | Ignored |
返回值 | 說明 |
---|---|
self | object 返回實例自身 |
fit_transform(self, X, y=None, *fit_params)
擬合數據,然后轉換它。
使用可選參數fit_params將transformer與X和y匹配,并返回X的轉換版本。
參數 | 說明 |
---|---|
X | {array-like, sparse matrix, dataframe} of shape (n_samples, n_features) |
y | ndarray of shape (n_samples,), default=None 目標值 |
**fit_params | dict 其他擬合參數。 |
返回值 | 說明 |
---|---|
X_new | ndarray array of shape (n_samples, n_features_new) 轉換的數組 |
get_params(self, deep=True)
獲取這個估計器的參數
參數 | 說明 |
---|---|
deep | bool, default=True 如果為True,則將返回此估計器的參數和所包含的作為估計器的子對象。 |
返回值 | 說明 |
---|---|
params | 參數名稱映射到它們的值。 |
set_params(self, *params)
設置這個估計器的參數。
該方法適用于簡單估計器和嵌套對象(如管道)。后者具有形式為
參數 | 說明 |
---|---|
**params | dict 估計器參數 |
返回值 | 說明 |
---|---|
self | object 返回實例自身 |
transform(self, X)
數據在稀疏分量上的最小二乘投影。
為了避免在系統未充分確定時出現不穩定問題,可以通過ridge_alpha參數應用正則化(Ridge回歸)。
注意稀疏的主成分正交性在主成分分析中并不是強制性的,因此不能使用簡單的線性投影。
參數 | 說明 |
---|---|
X | array of shape (n_samples, n_features) 要轉換的測試數據,必須具有與用于訓練模型的數據相同數量的特征。 |
返回值 | 說明 |
---|---|
X_new array | shape (n_samples, n_components) 轉換的數據 |