本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。