当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。