GammaRegressor#
- class sklearn.linear_model.GammaRegressor(*, alpha=1.0, fit_intercept=True, solver='lbfgs', max_iter=100, tol=0.0001, warm_start=False, verbose=0)[源代码]#
具有伽玛分布的广义线性模型。
此回归器使用“log”链接函数。
阅读更多的 User Guide .
Added in version 0.23.
- 参数:
- alphafloat,默认=1
Constant that multiplies the L2 penalty term and determines the regularization strength.
alpha = 0
is equivalent to unpenalized GLMs. In this case, the design matrixX
must have full column rank (no collinearities). Values ofalpha
must be in the range[0.0, inf)
.- fit_intercept布尔,默认=True
指定是否为常数(又名偏差或截取)应添加到线性预测器中
X @ coef_ + intercept_
.- solver' lbfgs ',' newton-sky '},默认=' lbfgs '
优化问题中使用的算法:
- “lbfgs”
调用scipy的L-BFSG-B优化器。
- “牛顿-托基”
使用Newton-Raphson步骤(等效于迭代重新加权最小平方的任意精度算法)和基于Cholesky的内部求解器。这个求解器是一个不错的选择
n_samples
>>n_features
,尤其是具有罕见类别的一热编码类别特征。请注意,此求解器的内存使用具有二次依赖性n_features
因为它明确地计算了海森矩阵。Added in version 1.2.
- max_iterint,默认=100
求解器的最大迭代次数。值必须在范围内
[1, inf)
.- tolfloat,默认= 1 e-4
停止标准。对于lbfgs求解器,迭代将在以下情况下停止
max{|g_j|, j = 1, ..., d} <= tol
哪里g_j
是目标函数梯度(求导)的第j个分量。值必须在范围内(0.0, inf)
.- warm_start布尔,默认=假
如果设置为
True
,重复使用之前调用的解决方案fit
作为初始化coef_
和intercept_
.- verboseint,默认=0
对于lbfgs求解器,将verbose设置为任何正值,以表示详细。值必须在范围内
[0, inf)
.
- 属性:
- coef_形状数组(n_features,)
线性预测器的估计系数 (
X @ coef_ + intercept_
)在GLM。- intercept_浮子
拦截(又名偏差)添加到线性预测器中。
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- n_iter_int
求解器中使用的实际迭代次数。
- 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.
参见
PoissonRegressor
具有Poisson分布的广义线性模型。
TweedieRegressor
具有Tweedie分布的广义线性模型。
示例
>>> from sklearn import linear_model >>> clf = linear_model.GammaRegressor() >>> X = [[1, 2], [2, 3], [3, 4], [4, 3]] >>> y = [19, 26, 33, 30] >>> clf.fit(X, y) GammaRegressor() >>> clf.score(X, y) np.float64(0.773...) >>> clf.coef_ array([0.072..., 0.066...]) >>> clf.intercept_ np.float64(2.896...) >>> clf.predict([[1, 0], [2, 8]]) array([19.483..., 35.795...])
- fit(X, y, sample_weight=None)[源代码]#
拟合广义线性模型。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
训练数据。
- y形状类似阵列(n_samples,)
目标值。
- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- 返回:
- self对象
拟合模型。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- predict(X)[源代码]#
使用具有特征矩阵X的GLM进行预测。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
样品
- 返回:
- y_pred形状数组(n_samples,)
返回预测值。
- score(X, y, sample_weight=None)[源代码]#
计算D#2,解释的偏差百分比。
D#2是决定系数R#2的概括。R#2使用平方误差,D#2使用该GLM的偏差,请参阅 User Guide .
D#2定义为 \(D^2 = 1-\frac{D(y_{true},y_{pred})}{D_{null}}\) , \(D_{null}\) 是零偏差,即仅具有拦截的模型的偏差,对应于 \(y_{pred} = \bar{y}\) .平均 \(\bar{y}\) 按sample_weight求平均。最好的可能分数是1.0,并且可以是负的(因为模型可以任意更差)。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
测试样本。
- y形状类似阵列(n_samples,)
目标的真实价值观。
- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- 返回:
- score浮子
自我的D ' 2。预测(X)w. rt. y.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') GammaRegressor [源代码]#
请求元数据传递给
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_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') GammaRegressor [源代码]#
请求元数据传递给
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对象
更新的对象。