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


Python sklearn ARDRegression用法及代碼示例


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

用法:

class sklearn.linear_model.ARDRegression(*, n_iter=300, tol=0.001, alpha_1=1e-06, alpha_2=1e-06, lambda_1=1e-06, lambda_2=1e-06, compute_score=False, threshold_lambda=10000.0, fit_intercept=True, normalize='deprecated', copy_X=True, verbose=False)

貝葉斯 ARD 回歸。

使用 ARD 先驗擬合回歸模型的權重。假設回歸模型的權重為高斯分布。還要估計參數 lambda(權重分布的精度)和 alpha(噪聲分布的精度)。估計是通過迭代程序完成的(證據最大化)

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

參數

n_iter整數,默認=300

最大迭代次數。

tol浮點數,默認=1e-3

如果 w 已經收斂,則停止算法。

alpha_1浮點數,默認=1e-6

超參數:先於 alpha 參數的 Gamma 分布的形狀參數。

alpha_2浮點數,默認=1e-6

超參數:先於 alpha 參數的 Gamma 分布的反比例參數(速率參數)。

lambda_1浮點數,默認=1e-6

超參數:先於 lambda 參數的 Gamma 分布的形狀參數。

lambda_2浮點數,默認=1e-6

超參數:先於 lambda 參數的 Gamma 分布的反比例參數(速率參數)。

compute_score布爾,默認=假

如果為真,則在模型的每一步計算目標函數。

threshold_lambda浮點數,默認=10 000

從計算中以高精度移除(修剪)權重的閾值。

fit_intercept布爾,默認=真

是否計算此模型的截距。如果設置為 false,則不會在計算中使用截距(即數據應居中)。

normalize布爾,默認=假

fit_intercept 設置為 False 時忽略此參數。如果為 True,則回歸量 X 將在回歸前通過減去均值並除以 l2 範數進行歸一化。如果您希望標準化,請在使用 normalize=False 對估計器調用 fit 之前使用 StandardScaler

copy_X布爾,默認=真

如果為 True,則 X 將被複製;否則,它可能會被覆蓋。

verbose布爾,默認=假

擬合模型時的詳細模式。

屬性

coef_形狀類似數組 (n_features,)

回歸模型的係數(分布均值)

alpha_浮點數

估計的噪聲精度。

lambda_形狀類似數組 (n_features,)

權重的估計精度。

sigma_形狀類似數組 (n_features, n_features)

權重的估計方差-協方差矩陣

scores_浮點數

如果計算,目標函數的值(要最大化)

intercept_浮點數

決策函數中的獨立項。如果 fit_intercept = False 則設置為 0.0。

X_offset_浮點數

如果 normalize=True ,則減去偏移量以使數據居中為零均值。

X_scale_浮點數

如果 normalize=True ,用於將數據縮放到單位標準偏差的參數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

注意

有關示例,請參見示例/linear_model/plot_ard.py。

參考

D. J. C. MacKay,預測競賽的貝葉斯非線性建模,ASHRAE Transactions,1994 年。

R. Salakhutdinov,關於統計機器學習的講義,http://www.utstat.toronto.edu/~rsalakhu/sta4273/notes/Lecture2.pdf#page=15 他們的 beta 版本是我們的 self.alpha_ 他們的 alpha 版本是我們的 self.lambda_ ARD 與幻燈片略有不同:僅保留了 self.lambda_ < self.threshold_lambda 的維度/特征,而其餘的被丟棄。

例子

>>> from sklearn import linear_model
>>> clf = linear_model.ARDRegression()
>>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2])
ARDRegression()
>>> clf.predict([[1, 1]])
array([1.])

相關用法


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