PoissonRegressor#

class sklearn.linear_model.PoissonRegressor(*, alpha=1.0, fit_intercept=True, solver='lbfgs', max_iter=100, tol=0.0001, warm_start=False, verbose=0)[原始碼]#

具有 Poisson 分佈的廣義線性模型。

此迴歸器使用 'log' 連結函數。

更多資訊請參閱使用者指南

0.23 版本新增。

參數:
alphafloat,預設值=1

一個常數,用於乘上 L2 懲罰項,並決定正規化強度。alpha = 0 等同於未懲罰的 GLM。在這種情況下,設計矩陣 X 必須具有完整的列秩(沒有共線性)。 alpha 的值必須在範圍 [0.0, inf) 內。

fit_interceptbool,預設值=True

指定是否應將常數(又稱偏差或截距)加入線性預測器 (X @ coef + intercept)。

solver{‘lbfgs’, ‘newton-cholesky’},預設值=’lbfgs’

在最佳化問題中使用的演算法

‘lbfgs’

調用 scipy 的 L-BFGS-B 最佳化器。

‘newton-cholesky’

使用牛頓-拉弗森步驟(在任意精度的算術中,等同於迭代重加權最小平方法),並搭配基於 Cholesky 的內部解算器。此解算器適用於 n_samples >> n_features 的情況,尤其是在具有稀有類別的獨熱編碼類別特徵時。請注意,此解算器的記憶體使用量與 n_features 具有平方相依性,因為它會明確計算黑塞矩陣。

於 1.2 版本新增。

max_iterint,預設值=100

解算器的最大迭代次數。值必須在範圍 [1, inf) 內。

tolfloat,預設值=1e-4

停止準則。對於 lbfgs 解算器,當 max{|g_j|, j = 1, ..., d} <= tol 時,迭代將停止,其中 g_j 是目標函數的梯度(導數)的第 j 個分量。值必須在範圍 (0.0, inf) 內。

warm_startbool,預設值=False

如果設定為 True,則重複使用先前呼叫 fit 的解決方案,作為 coef_intercept_ 的初始化。

verboseint,預設值=0

對於 lbfgs 解算器,將 verbose 設定為任何正數以啟用詳細模式。值必須在範圍 [0, inf) 內。

屬性:
coef_形狀為 (n_features,) 的陣列

GLM 中線性預測器 (X @ coef_ + intercept_) 的估計係數。

intercept_float

添加到線性預測器的截距(又稱偏差)。

n_features_in_int

fit 期間看到的特徵數量。

於 0.24 版本新增。

feature_names_in_形狀為 (n_features_in_,) 的 ndarray

fit 期間看到的特徵名稱。僅當 X 具有全為字串的特徵名稱時才定義。

於 1.0 版本新增。

n_iter_int

解算器中實際使用的迭代次數。

另請參閱

TweedieRegressor

具有 Tweedie 分佈的廣義線性模型。

範例

>>> from sklearn import linear_model
>>> clf = linear_model.PoissonRegressor()
>>> X = [[1, 2], [2, 3], [3, 4], [4, 3]]
>>> y = [12, 17, 22, 21]
>>> clf.fit(X, y)
PoissonRegressor()
>>> clf.score(X, y)
np.float64(0.990...)
>>> clf.coef_
array([0.121..., 0.158...])
>>> clf.intercept_
np.float64(2.088...)
>>> clf.predict([[1, 1], [3, 4]])
array([10.676..., 21.875...])
fit(X, y, sample_weight=None)[來源]#

擬合廣義線性模型。

參數:
X形狀為 (n_samples, n_features) 的 {array-like, sparse matrix}

訓練資料。

y形狀為 (n_samples,) 的 array-like

目標值。

sample_weight形狀為 (n_samples,) 的 array-like,預設值=None

樣本權重。

回傳值:
self物件

擬合的模型。

get_metadata_routing()[來源]#

取得此物件的中繼資料路由。

請查看使用者指南,了解路由機制如何運作。

回傳值:
routingMetadataRequest

一個封裝路由資訊的 MetadataRequest

get_params(deep=True)[來源]#

取得此估算器的參數。

參數:
deepbool,預設值=True

如果為 True,將傳回此估算器和包含的子物件(也是估算器)的參數。

回傳值:
paramsdict

參數名稱對應到其值的字典。

predict(X)[原始碼]#

使用特徵矩陣 X,以廣義線性模型進行預測。

參數:
X形狀為 (n_samples, n_features) 的 {array-like, sparse matrix}

樣本。

回傳值:
y_pred形狀為 (n_samples,) 的陣列

回傳預測值。

score(X, y, sample_weight=None)[原始碼]#

計算 D^2,即偏差的解釋百分比。

D^2 是決定係數 R^2 的推廣。R^2 使用平方誤差,而 D^2 使用此廣義線性模型的偏差,請參閱使用者指南

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) 的 {array-like, sparse matrix}

測試樣本。

y形狀為 (n_samples,) 的 array-like

目標的真實值。

sample_weight形狀為 (n_samples,) 的 array-like,預設值=None

樣本權重。

回傳值:
score浮點數

self.predict(X) 相對於 y 的 D^2 值。

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') PoissonRegressor[原始碼]#

請求傳遞至 fit 方法的中繼資料。

請注意,只有在 enable_metadata_routing=True 時此方法才相關 (請參閱 sklearn.set_config)。請參閱使用者指南,了解路由機制的運作方式。

每個參數的選項為:

  • True:請求中繼資料,如果提供,則傳遞至 fit。如果未提供中繼資料,則會忽略請求。

  • False:不請求中繼資料,並且元估計器不會將其傳遞至 fit

  • None:不請求中繼資料,如果使用者提供,則元估計器會引發錯誤。

  • str:中繼資料應以此指定別名傳遞至元估計器,而不是原始名稱。

預設值 (sklearn.utils.metadata_routing.UNCHANGED) 會保留現有的請求。這允許您變更部分參數的請求,而不是全部。

1.3 版新增。

注意

只有在將此估計器用作元估計器的子估計器時,此方法才相關,例如在 Pipeline 中使用。否則不會有任何效果。

參數:
sample_weight字串、True、False 或 None,預設值=sklearn.utils.metadata_routing.UNCHANGED

fitsample_weight 參數的中繼資料路由。

回傳值:
self物件

更新後的物件。

set_params(**params)[原始碼]#

設定此估計器的參數。

此方法適用於簡單的估計器以及巢狀物件 (例如 Pipeline)。後者的參數格式為 <component>__<parameter>,因此可以更新巢狀物件的每個元件。

參數:
**params字典

估計器參數。

回傳值:
self估計器執行個體

估計器執行個體。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') PoissonRegressor[原始碼]#

請求傳遞至 score 方法的中繼資料。

請注意,只有在 enable_metadata_routing=True 時此方法才相關 (請參閱 sklearn.set_config)。請參閱使用者指南,了解路由機制的運作方式。

每個參數的選項為:

  • True:請求中繼資料,如果提供,則傳遞至 score。如果未提供中繼資料,則會忽略請求。

  • False:不請求中繼資料,並且元估計器不會將其傳遞至 score

  • None:不請求中繼資料,如果使用者提供,則元估計器會引發錯誤。

  • str:中繼資料應以此指定別名傳遞至元估計器,而不是原始名稱。

預設值 (sklearn.utils.metadata_routing.UNCHANGED) 會保留現有的請求。這允許您變更部分參數的請求,而不是全部。

1.3 版新增。

注意

只有在將此估計器用作元估計器的子估計器時,此方法才相關,例如在 Pipeline 中使用。否則不會有任何效果。

參數:
sample_weight字串、True、False 或 None,預設值=sklearn.utils.metadata_routing.UNCHANGED

scoresample_weight 參數的中繼資料路由。

回傳值:
self物件

更新後的物件。