本文簡要介紹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_state:int、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
具有全為字符串的函數名稱時才定義。
參數:
屬性:
參考:
- Theil-Sen Estimators in a Multiple Linear Regression Model, 2009 Xin Dang, Hanxiang Peng, Xueqin Wang and Heping Zhang http://home.olemiss.edu/~xdang/papers/MTSE.pdf
例子:
>>> 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...])
相關用法
- Python sklearn TweedieRegressor用法及代碼示例
- Python sklearn TSNE用法及代碼示例
- Python sklearn TfidfVectorizer用法及代碼示例
- Python sklearn TfidfTransformer用法及代碼示例
- Python sklearn TruncatedSVD用法及代碼示例
- Python sklearn TransformedTargetRegressor用法及代碼示例
- Python sklearn TimeSeriesSplit用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn train_test_split用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn GradientBoostingRegressor用法及代碼示例
- Python sklearn GridSearchCV用法及代碼示例
- Python sklearn log_loss用法及代碼示例
- Python sklearn r2_score用法及代碼示例
- Python sklearn ndcg_score用法及代碼示例
- Python sklearn ShrunkCovariance用法及代碼示例
- Python sklearn SelfTrainingClassifier用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.linear_model.TheilSenRegressor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。