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


Python sklearn TheilSenRegressor用法及代碼示例


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

用法:

class sklearn.linear_model.TheilSenRegressor(*, fit_intercept=True, copy_X=True, max_subpopulation=10000.0, n_subsamples=None, max_iter=300, tol=0.001, random_state=None, n_jobs=None, verbose=False)

Theil-Sen Estimator:穩健的多元回歸模型。

該算法計算 X 中樣本的大小為 n_subsamples 的子集的最小二乘解。特征數和樣本數之間的任何 n_subsamples 值都會導致估計器在魯棒性和效率之間進行折衷。由於最小二乘解的數量是“n_samples choose n_subsamples”,它可能非常大,因此可以用max_subpopulation來限製。如果達到此限製,則隨機選擇子集。在最後一步中,計算所有最小二乘解的空間中位數(或 L1 中位數)。

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

參數

fit_intercept布爾,默認=真

是否計算此模型的截距。如果設置為 false,則不會在計算中使用截距。

copy_X布爾,默認=真

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

max_subpopulation整數,默認=1e4

與其使用一組基數“n 選擇 k”進行計算,其中 n 是樣本數,k 是子樣本數(至少是特征數),如果 'n 選擇,則僅考慮給定最大大小的隨機子群k' 大於max_subpopulation。對於其他小問題,如果 n_subsamples 未更改,則此參數將確定內存使用情況和運行時間。

n_subsamples整數,默認=無

計算參數的樣本數。這至少是特征數(如果 fit_intercept=True,則加 1)和樣本數作為最大值。數值越小,擊穿點越高,效率越低;數值越大,擊穿點越低,效率越高。如果沒有,則采用最小數量的子樣本導致最大的魯棒性。如果 n_subsamples 設置為 n_samples,Theil-Sen 與最小二乘法相同。

max_iter整數,默認=300

計算空間中位數的最大迭代次數。

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

計算空間中位數時的容差。

random_stateint、RandomState 實例或無,默認=無

一個隨機數生成器實例,用於定義隨機排列生成器的狀態。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。

n_jobs整數,默認=無

交叉驗證期間要使用的 CPU 數量。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關詳細信息,請參閱詞匯表。

verbose布爾,默認=假

擬合模型時的詳細模式。

屬性

coef_ndarray 形狀 (n_features,)

回歸模型的係數(分布中位數)。

intercept_浮點數

回歸模型的估計截距。

breakdown_浮點數

大概的擊穿點。

n_iter_int

空間中位數所需的迭代次數。

n_subpopulation_int

從“n 選擇 k”中考慮的組合數,其中 n 是樣本數,k 是子樣本數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

參考

例子

>>> from sklearn.linear_model import TheilSenRegressor
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(
...     n_samples=200, n_features=2, noise=4.0, random_state=0)
>>> reg = TheilSenRegressor(random_state=0).fit(X, y)
>>> reg.score(X, y)
0.9884...
>>> reg.predict(X[:1,])
array([-31.5871...])

相關用法


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