当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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