BayesianRidge#

class sklearn.linear_model.BayesianRidge(*, max_iter=300, tol=0.001, alpha_1=1e-06, alpha_2=1e-06, lambda_1=1e-06, lambda_2=1e-06, alpha_init=None, lambda_init=None, compute_score=False, fit_intercept=True, copy_X=True, verbose=False)[源代码]#

贝氏岭回归。

适应Bayesian Ridge模型。请参阅注释部分,了解有关此实现以及正规化参数ambda(权重精度)和Alpha(噪音精度)的优化的详细信息。

阅读更多的 User Guide .如需直观地可视化如何使用不同初始值对通过多项函数来逼近窦,请参阅 利用Bayesian Ridge回归进行曲线匹配 .

参数:
max_iterint,默认=300

独立于任何早期停止标准而停止之前在完整数据集上进行的最大迭代次数。

在 1.3 版本发生变更.

tol浮点数,默认值= 1 e-3

如果w已经收敛,则停止算法。

alpha_1float,默认= 1 e-6

超参数:Gamma分布的形状参数优先于Alpha参数。

alpha_2float,默认= 1 e-6

超参数:Gamma分布优先于Alpha参数的反比例参数(速率参数)。

lambda_1float,默认= 1 e-6

超参数:Gamma分布的形状参数优先于Lambda参数。

lambda_2float,默认= 1 e-6

超参数:Gamma分布的逆比例参数(速率参数)高于Lambda参数。

alpha_initfloat,默认=无

Alpha的初始值(噪音的精确度)。如果未设置,则Alpha_initi为1/Var(y)。

Added in version 0.22.

lambda_initfloat,默认=无

Lambda的初始值(权重的精确度)。如果未设置,则ambda_initi为1。

Added in version 0.22.

compute_score布尔,默认=假

如果为True,则计算每次优化迭代时的log边际可能性。

fit_intercept布尔,默认=True

是否计算此模型的拦截。截取不被视为概率参数,因此没有相关的方差。如果设置为False,则计算中不会使用任何拦截(即数据预计居中)。

copy_X布尔,默认=True

如果为True,X将被复制;否则,可能会被覆盖。

verbose布尔,默认=假

装配模型时的详细模式。

属性:
coef_形状类似阵列(n_features,)

回归模型的系数(分布平均值)

intercept_浮子

决策功能中的独立项。设置为0.0,如果 fit_intercept = False .

alpha_浮子

噪音的估计精度。

lambda_浮子

权重的估计精确度。

sigma_形状类似阵列(n_features,n_features)

估计的权重方差-协方差矩阵

scores_形状类数组(n_iter_+1,)

如果calculated_score为True,则是每次优化迭代时的log边际似然度(待最大化)的值。该数组以为Alpha和Lamb的初始值获得的log边际似然度的值开始,以为估计的Alpha和Lamb获得的值结束。

n_iter_int

达到停止标准的实际迭代次数。

X_offset_形状的nd数组(n_features,)

如果 fit_intercept=True ,减去将数据居中至零均值的偏差。否则设置为mp.zeros(n_features)。

X_scale_形状的nd数组(n_features,)

设置为np.ones(n_features)。

n_features_in_int

期间看到的功能数量 fit .

Added in version 0.24.

feature_names_in_ :nd形状数组 (n_features_in_ ,)nd数组形状(

Names of features seen during fit. Defined only when X has feature names that are all strings.

Added in version 1.0.

参见

ARDRegression

Bayesian ARD回归。

注意到

有多种策略可以执行Bayesian Ridge回归。该实现基于(Tipping,2001)的附录A中描述的算法,其中规则化参数的更新是按照(MacKay,1992)中的建议进行的。请注意,根据自动相关性确定的新观点(Wipf和Nagarajan,2008),这些更新规则并不保证边际可能性在优化的两次连续迭代之间增加。

引用

D. J. C. MacKay, Bayesian Interpolation, Computation and Neural Systems, Vol. 4, No. 3, 1992.

M. E. Tipping, Sparse Bayesian Learning and the Relevance Vector Machine, Journal of Machine Learning Research, Vol. 1, 2001.

示例

>>> from sklearn import linear_model
>>> clf = linear_model.BayesianRidge()
>>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2])
BayesianRidge()
>>> clf.predict([[1, 1]])
array([1.])
fit(X, y, sample_weight=None)[源代码]#

适应模型。

参数:
X形状的nd数组(n_samples,n_features)

训练数据。

y形状的nd数组(n_samples,)

目标值。如有必要,将被转换为X的d类型。

sample_weight形状的nd数组(n_samples,),默认=无

每个样本的单独重量。

Added in version 0.20: 参数 sample_weight 支持Bayesian Ridge。

返回:
self对象

返回实例本身。

get_metadata_routing()[源代码]#

获取此对象的元数据路由。

请检查 User Guide 关于路由机制如何工作。

返回:
routingMetadataRequest

A MetadataRequest 封装路由信息。

get_params(deep=True)[源代码]#

获取此估计器的参数。

参数:
deep布尔,默认=True

如果为True,将返回此估计量和包含的作为估计量的子对象的参数。

返回:
paramsdict

参数名称映射到其值。

predict(X, return_std=False)[源代码]#

Predict using the linear model.

除了预测分布的平均值外,还可以返回其标准差。

参数:
X形状(n_samples,n_features)的{类数组,稀疏矩阵}

样品

return_std布尔,默认=假

是否返回后验预测的标准差。

返回:
y_mean形状类似阵列(n_samples,)

查询点预测分布的平均值。

y_std形状类似阵列(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)

Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape (n_samples, n_samples_fitted), where n_samples_fitted is the number of samples used in the fitting for the estimator.

y形状的类似阵列(n_samples,)或(n_samples,n_outputs)

真正的价值观 X .

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

返回:
score浮子

\(R^2\)self.predict(X) w.r.t. y .

注意到

\(R^2\) 呼叫时使用的分数 score 在回归器上使用 multioutput='uniform_average' 从0.23版本开始,与默认值保持一致 r2_score .这影响了 score 所有多输出回归器的方法(除了 MultiOutputRegressor ).

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') BayesianRidge[源代码]#

请求元数据传递给 fit

请注意,此方法仅适用于以下情况 enable_metadata_routing=True (见 sklearn.set_config ).请参阅 User Guide 关于路由机制如何工作。

The options for each parameter are:

  • True :元数据被请求并传递给 fit 如果提供的话。如果未提供元数据,则会忽略请求。

  • False :未请求元数据,元估计器不会将其传递给 fit .

  • None :不请求元数据,如果用户提供元估计器,则元估计器将引发错误。

  • str :元数据应通过此给定别名而不是原始名称传递给元估计器。

默认 (sklearn.utils.metadata_routing.UNCHANGED )保留现有请求。这允许您更改某些参数的请求,而不是其他参数。

Added in version 1.3.

备注

只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在 Pipeline .否则就没有效果了。

参数:
sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged

元数据路由 sample_weight 参数 fit .

返回:
self对象

更新的对象。

set_params(**params)[源代码]#

设置此估计器的参数。

该方法适用于简单估计器以及嵌套对象(例如 Pipeline ).后者具有以下形式的参数 <component>__<parameter> 以便可以更新嵌套对象的每个组件。

参数:
**paramsdict

估计参数。

返回:
self估计器实例

估计实例。

set_predict_request(*, return_std: bool | None | str = '$UNCHANGED$') BayesianRidge[源代码]#

请求元数据传递给 predict

请注意,此方法仅适用于以下情况 enable_metadata_routing=True (见 sklearn.set_config ).请参阅 User Guide 关于路由机制如何工作。

The options for each parameter are:

  • True :元数据被请求并传递给 predict 如果提供的话。如果未提供元数据,则会忽略请求。

  • False :未请求元数据,元估计器不会将其传递给 predict .

  • None :不请求元数据,如果用户提供元估计器,则元估计器将引发错误。

  • str :元数据应通过此给定别名而不是原始名称传递给元估计器。

默认 (sklearn.utils.metadata_routing.UNCHANGED )保留现有请求。这允许您更改某些参数的请求,而不是其他参数。

Added in version 1.3.

备注

只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在 Pipeline .否则就没有效果了。

参数:
return_std字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged

元数据路由 return_std 参数 predict .

返回:
self对象

更新的对象。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') BayesianRidge[源代码]#

请求元数据传递给 score

请注意,此方法仅适用于以下情况 enable_metadata_routing=True (见 sklearn.set_config ).请参阅 User Guide 关于路由机制如何工作。

The options for each parameter are:

  • True :元数据被请求并传递给 score 如果提供的话。如果未提供元数据,则会忽略请求。

  • False :未请求元数据,元估计器不会将其传递给 score .

  • None :不请求元数据,如果用户提供元估计器,则元估计器将引发错误。

  • str :元数据应通过此给定别名而不是原始名称传递给元估计器。

默认 (sklearn.utils.metadata_routing.UNCHANGED )保留现有请求。这允许您更改某些参数的请求,而不是其他参数。

Added in version 1.3.

备注

只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在 Pipeline .否则就没有效果了。

参数:
sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged

元数据路由 sample_weight 参数 score .

返回:
self对象

更新的对象。