當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn KernelRidge用法及代碼示例


本文簡要介紹python語言中 sklearn.kernel_ridge.KernelRidge 的用法。

用法:

class sklearn.kernel_ridge.KernelRidge(alpha=1, *, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None)

核嶺回歸。

核嶺回歸 (KRR) 將嶺回歸(線性最小二乘和 l2 範數正則化)與核技巧相結合。因此,它在由相應內核和數據誘導的空間中學習線性函數。對於非線性內核,這對應於原始空間中的非線性函數。

KRR 學習的模型形式與支持向量回歸(SVR)相同。然而,使用了不同的損失函數:KRR 使用平方誤差損失,而支持向量回歸使用epsilon-insensitive 損失,兩者都與 l2 正則化相結合。與 SVR 相比,擬合 KRR 模型可以以封閉形式完成,並且對於 medium-sized 數據集通常更快。另一方麵,學習的模型是非稀疏的,因此比 SVR 慢,SVR 在 prediction-time 處學習 epsilon > 0 的稀疏模型。

此估計器內置支持multi-variate 回歸(即,當 y 是形狀為 [n_samples, n_targets] 的 2d-array 時)。

在用戶指南中閱讀更多信息。

參數

alpha浮點數或類似數組的形狀 (n_targets,),默認=1.0

正則化強度;必須是正浮點數。正則化改善了問題的條件並減少了估計的方差。較大的值指定更強的正則化。 Alpha 對應於其他線性模型中的 1 / (2C),例如 LogisticRegression LinearSVC 。如果傳遞了一個數組,則假定懲罰是特定於目標的。因此,它們必須在數量上對應。有關公式,請參見嶺回歸和分類。

kernelstr 或可調用,默認=”linear”

內部使用的內核映射。此參數直接傳遞給 pairwise_kernel 。如果kernel 是字符串,則它必須是pairwise.PAIRWISE_KERNEL_FUNCTIONS 或“precomputed” 中的指標之一。如果kernel 是“precomputed”,則假定 X 是核矩陣。或者,如果kernel 是可調用函數,則在每對實例(行)上調用它並記錄結果值。可調用對象應將 X 中的兩行作為輸入,並將相應的內核值作為單個數字返回。這意味著不允許來自 sklearn.metrics.pairwise 的可調用對象,因為它們在矩陣上操作,而不是單個樣本。請改用標識內核的字符串。

gamma浮點數,默認=無

RBF、拉普拉斯算子、多項式、 index chi2 和 sigmoid 內核的 Gamma 參數。默認值的解釋留給內核;請參閱 sklearn.metrics.pairwise 的文檔。被其他內核忽略。

degree浮點數,默認=3

多項式核的度數。被其他內核忽略。

coef0浮點數,默認=1

多項式和 sigmoid 內核的零係數。被其他內核忽略。

kernel_paramsstr 到 any 的映射,默認=None

作為可調用對象傳遞的內核函數的附加參數(關鍵字參數)。

屬性

dual_coef_ndarray 形狀 (n_samples,) 或 (n_samples, n_targets)

內核空間中權重向量的表示

X_fit_{ndarray, 稀疏矩陣} 形狀 (n_samples, n_features)

訓練數據,這也是預測所必需的。如果 kernel == “precomputed” 這是預先計算的訓練矩陣,形狀為 (n_samples, n_samples)。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

參考

  • Kevin P. Murphy “機器學習:概率視角”,麻省理工學院出版社第 14.4.3 章,第 492-493 頁

例子

>>> from sklearn.kernel_ridge import KernelRidge
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> krr = KernelRidge(alpha=1.0)
>>> krr.fit(X, y)
KernelRidge(alpha=1.0)

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.kernel_ridge.KernelRidge。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。