sklearn.decomposition.SparseCoder?
class sklearn.decomposition.SparseCoder(dictionary, *, transform_algorithm='omp', transform_n_nonzero_coefs=None, transform_alpha=None, split_sign=False, n_jobs=None, positive_code=False, transform_max_iter=1000)
稀疏編碼
根據固定的、預先計算的字典查找數據的稀疏表示。
結果的每一行都是稀疏編碼問題的解決方案。目標是找到一個稀疏數組代碼,這樣:
X ~= code * dictionary
在用戶指南中閱讀更多內容
參數 | 說明 |
---|---|
dictionary | array, [n_components, n_features] 用于稀疏編碼的字典原子。假設行被歸一化為單位范數。 |
transform_algorithm | {‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, default=’omp’ 數據變換算法:lars:使用最小角度回歸法(linear_model.lars_path) lasso_lars:使用lars計算Lasso解lasso_cd:使用坐標下降法計算Lasso解(linear_model.Lasso)。如果估計的組件是稀疏的,lasso_lars會更快。omp:使用正交匹配追蹤估計稀疏解閾值:將投影字典 dictionary * X' 中所有小于alpha的系數都壓縮為零。 |
transform_n_nonzero_coefs | int, default=0.1*n_features 在解的每一列中目標的非零系數的數目。這只被 algorithm='lars' 和algorithm='omp' 使用,在omp 情況下被alpha 覆蓋。 |
transform_alpha | float, default=1. 如果 algorithm='lasso_lars' 或algorithm='lasso_cd' ,則alpha 是對L1 范數的懲罰。如果algorithm='threshold' ,alpha 是閾值的絕對值,低于這個閾值,系數將被壓縮為零。若algorithm='omp' ,則alpha 為容差參數:目標重構誤差的值。在本例中,它覆蓋n_nonzero_coefs 。 |
split_sign | bool, default=False 是否將稀疏特征向量分割為其負部分和正部分的連接。這可以提高下游分類器的性能。 |
n_jobs | int or None, default=None 要運行的并行作業數量。沒有一個是1,除非在 joblib.parallel_backend 上下文。-1 表示使用所有處理器。參見術語表了解更多細節。 |
positive_code | bool, default=False 在尋找代碼時是否加強積極性。 新版本0.20。 |
transform_max_iter | int, default=1000 如果 algorithm='lasso_cd' or lasso_lars ,則執行的最大迭代次數。新版本0.22。 |
屬性 | 說明 |
---|---|
components_ | array, [n_components, n_features] 不變的字典原子 |
另見:
方法 | 說明 |
---|---|
fit (X[, y]) |
什么都不做就返回估算器 |
fit_transform (X[, y]) |
擬合數據,然后轉換它 |
get_params ([deep]) |
獲取這個估計器的參數。 |
set_params (**params) |
設置這個估計器的參數。 |
transform (X) |
將數據編碼為字典原子的稀疏組合。 |
__init__(dictionary, *, transform_algorithm='omp', transform_n_nonzero_coefs=None, transform_alpha=None, split_sign=False, n_jobs=None, positive_code=False, transform_max_iter=1000)
初始化self. See 請參閱help(type(self))以獲得準確的說明。
fit(X, y=None)
什么都不做就返回估算器
這個方法只是用來實現通常的API,因此可以在管道中工作。
參數 | 說明 |
---|---|
X | Ignored |
y | Ignored |
返回值 | 說明 |
---|---|
self | object 估計器實例 |
fit_transform(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 其他擬合參數。 |
get_params(deep=True)
獲取這個估計器的參數。
參數 | 說明 |
---|---|
deep | bool, default=True 如果為True,則將返回此估計器的參數和所包含的作為估計器的子對象。 |
返回值 | 說明書 |
---|---|
params | mapping of string to any 參數名稱映射到它們的值。 |
set_params(**params)
設置這個估計器的參數。
該方法適用于簡單估計量和嵌套對象。后者具有形式為<component>_<parameter>
的參數,這樣就讓更新嵌套對象的每個組件成為了可能。
參數 | 說明 |
---|---|
**params | dict 估計器參數。 |
返回值 | 說明 |
---|---|
self | object 估計器實例 |
transform(X)
將數據編碼為字典原子的稀疏組合。
編碼方法由對象參數transform_algorithm決定。
參數 | 說明 |
---|---|
X | array of shape (n_samples, n_features) 要轉換的測試數據,必須具有與用于訓練模型的數據相同數量的特征。 |
返回值 | 說明 |
---|---|
X_new | array, shape (n_samples, n_components) 轉換的數組 |