正交匹配追蹤#
- class sklearn.linear_model.OrthogonalMatchingPursuit(*, n_nonzero_coefs=None, tol=None, fit_intercept=True, precompute='auto')[來源]#
正交匹配追蹤模型(OMP)。
詳情請參閱使用者指南。
- 參數:
- n_nonzero_coefsint,預設值=None
解中非零項的期望數量。如果設定了
tol
,則會忽略此值。當None
且tol
也為None
時,此值會設定為n_features
的 10% 或 1,取兩者中的較大值。- tolfloat,預設值=None
殘差的最大平方範數。如果不是 None,則會覆蓋 n_nonzero_coefs。
- fit_interceptbool,預設值=True
是否為此模型計算截距。如果設定為 false,則不會在計算中使用截距(即,預期資料為置中的)。
- precompute‘auto’ 或 bool,預設值=’auto’
是否使用預先計算的 Gram 和 Xy 矩陣來加速計算。當 n_targets 或 n_samples 非常大時,可以提高效能。請注意,如果您已經有此類矩陣,則可以直接將它們傳遞給 fit 方法。
- 屬性:
- coef_形狀為 (n_features,) 或 (n_targets, n_features) 的 ndarray
參數向量(公式中的 w)。
- intercept_float 或形狀為 (n_targets,) 的 ndarray
決策函數中的獨立項。
- n_iter_int 或類陣列
每個目標的活動特徵數量。
- n_nonzero_coefs_int 或 None
解中的非零係數數量或設定
tol
時為None
。如果n_nonzero_coefs
為 None 且tol
為 None,則此值會設定為n_features
的 10% 或 1,取兩者中的較大值。- n_features_in_int
在 fit 期間看到的特徵數量。
在 0.24 版中新增。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 fit 期間看到的特徵名稱。僅當
X
具有都是字串的特徵名稱時才定義。在 1.0 版中新增。
另請參閱
orthogonal_mp
解決 n_targets 正交匹配追蹤問題。
orthogonal_mp_gram
僅使用 Gram 矩陣 X.T * X 和乘積 X.T * y 解決 n_targets 正交匹配追蹤問題。
lars_path
使用 LARS 演算法計算最小角度迴歸或 Lasso 路徑。
Lars
最小角度迴歸模型,又名 LAR。
LassoLars
使用最小角度迴歸(又名 Lars)擬合的 Lasso 模型。
sklearn.decomposition.sparse_encode
通用稀疏編碼。結果的每一列都是 Lasso 問題的解。
OrthogonalMatchingPursuitCV
交叉驗證的正交匹配追蹤模型(OMP)。
說明
正交匹配追蹤在 G. Mallat, Z. Zhang, Matching pursuits with time-frequency dictionaries, IEEE Transactions on Signal Processing, Vol. 41, No. 12. (December 1993), pp. 3397-3415. 中介紹。(https://www.di.ens.fr/~mallat/papiers/MallatPursuit93.pdf)
此實作基於 Rubinstein, R., Zibulevsky, M. 和 Elad, M., Efficient Implementation of the K-SVD Algorithm using Batch Orthogonal Matching Pursuit Technical Report - CS Technion, April 2008。 https://www.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf
範例
>>> from sklearn.linear_model import OrthogonalMatchingPursuit >>> from sklearn.datasets import make_regression >>> X, y = make_regression(noise=4, random_state=0) >>> reg = OrthogonalMatchingPursuit().fit(X, y) >>> reg.score(X, y) 0.9991... >>> reg.predict(X[:1,]) array([-78.3854...])
- fit(X, y)[來源]#
使用 X、y 作為訓練資料來擬合模型。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
訓練資料。
- y形狀為 (n_samples,) 或 (n_samples, n_targets) 的類陣列
目標值。如有必要,將會轉換為 X 的 dtype。
- 返回:
- self物件
返回 self 的執行個體。
- get_metadata_routing()[來源]#
取得此物件的中繼資料路由。
請檢查使用者指南,瞭解路由機制如何運作。
- 返回:
- routingMetadataRequest
封裝路由資訊的
MetadataRequest
。
- get_params(deep=True)[來源]#
取得此估算器的參數。
- 參數:
- deepbool,預設值=True
如果為 True,將返回此估算器的參數,以及包含在內的子物件(也是估算器)。
- 返回:
- paramsdict
參數名稱對應到其值。
- predict(X)[來源]#
使用線性模型進行預測。
- 參數:
- X類陣列或稀疏矩陣,形狀為 (n_samples, n_features)
範例。
- 返回:
- C陣列,形狀為 (n_samples,)
返回預測值。
- score(X, y, sample_weight=None)[來源]#
返回預測的決定係數。
決定係數 \(R^2\) 定義為 \((1 - \frac{u}{v})\),其中 \(u\) 是殘差平方和
((y_true - y_pred)** 2).sum()
,而 \(v\) 是總平方和((y_true - y_true.mean()) ** 2).sum()
。最佳可能分數為 1.0,而且可能是負數(因為模型可能會任意更糟)。一個始終預測y
期望值的常數模型(忽略輸入特徵)的 \(R^2\) 分數為 0.0。- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
測試範例。對於某些估算器,這可能是預先計算的核矩陣,或是形狀為
(n_samples, n_samples_fitted)
的一般物件清單,其中n_samples_fitted
是估算器擬合中使用的範例數量。- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列
X
的真實值。- sample_weight形狀為 (n_samples,) 的類陣列,預設值=None
樣本權重。
- 返回:
- scorefloat
\(R^2\) 相對於
y
的self.predict(X)
的值。
說明
在回歸器上呼叫
score
時使用的 \(R^2\) 分數,從 0.23 版本開始使用multioutput='uniform_average'
,以保持與r2_score
的預設值一致。這會影響所有多輸出回歸器的score
方法(除了MultiOutputRegressor
)。
- set_params(**params)[原始碼]#
設定此估算器的參數。
此方法適用於簡單的估算器以及巢狀物件(例如
Pipeline
)。後者的參數形式為<component>__<parameter>
,因此可以更新巢狀物件的每個組件。- 參數:
- **paramsdict
估算器參數。
- 返回:
- self估算器實例
估算器實例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') OrthogonalMatchingPursuit [原始碼]#
請求傳遞給
score
方法的中繼資料。請注意,此方法僅在
enable_metadata_routing=True
時相關(請參閱sklearn.set_config
)。請參閱 使用者指南,了解路由機制如何運作。每個參數的選項如下:
True
:請求中繼資料,並在提供時傳遞給score
。如果未提供中繼資料,則忽略該請求。False
:不請求中繼資料,且元估算器不會將其傳遞給score
。None
:不請求中繼資料,如果使用者提供,元估算器將引發錯誤。str
:中繼資料應使用此給定的別名而不是原始名稱傳遞給元估算器。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 保留現有的請求。這允許您變更某些參數的請求,而不變更其他參數的請求。1.3 版本新增。
注意
僅當此估算器用作元估算器的子估算器時,此方法才相關,例如在
Pipeline
中使用。否則,它沒有任何效果。- 參數:
- sample_weightstr、True、False 或 None,預設值=sklearn.utils.metadata_routing.UNCHANGED
score
中sample_weight
參數的中繼資料路由。
- 返回:
- self物件
更新後的物件。