本文简要介绍python语言中 sklearn.linear_model.HuberRegressor
的用法。
用法:
class sklearn.linear_model.HuberRegressor(*, epsilon=1.35, max_iter=100, alpha=0.0001, warm_start=False, fit_intercept=True, tol=1e-05)
对异常值具有鲁棒性的线性回归模型。
Huber 回归器优化
|(y - X'w) / sigma| < epsilon
的样本的平方损失和|(y - X'w) / sigma| > epsilon
的样本的绝对损失,其中 w 和 sigma 是要优化的参数。参数 sigma 确保如果 y 放大或缩小某个因子,则无需重新调整 epsilon 即可实现相同的鲁棒性。请注意,这没有考虑 X 的不同特征可能具有不同尺度的事实。这确保了损失函数不会受到异常值的严重影响,同时不会完全忽略它们的影响。
在用户指南中阅读更多信息
- epsilon:浮点数,大于 1.0,默认=1.35
参数 epsilon 控制应分类为异常值的样本数。 epsilon 越小,它对异常值的鲁棒性就越高。
- max_iter:整数,默认=100
scipy.optimize.minimize(method="L-BFGS-B")
应该运行的最大迭代次数。- alpha:浮点数,默认=0.0001
正则化参数。
- warm_start:布尔,默认=假
如果必须重用先前使用的模型的存储属性,这很有用。如果设置为 False,则每次调用都将重写系数以进行拟合。请参阅词汇表。
- fit_intercept:布尔,默认=真
是否适合截距。如果数据已经以原点为中心,则可以将其设置为 False。
- tol:浮点数,默认=1e-05
当
max{|proj g_i | i = 1, ..., n}
<=tol
其中 pg_i 是投影梯度的 i-th 分量时,迭代将停止。
- coef_:数组,形状(n_features,)
通过优化 Huber 损失得到的特征。
- intercept_:浮点数
偏见。
- scale_:浮点数
|y - X'w - c|
按比例缩小的值。- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。- n_iter_:int
scipy.optimize.minimize(method="L-BFGS-B")
已运行的迭代次数。- outliers_:数组,形状(n_samples,)
设置为 True 的布尔掩码,其中样本被标识为异常值。
参数:
属性:
参考:
- 1
Peter J. Huber, Elvezio M. Ronchetti,稳健统计伴随规模估计,第 172 页
- 2
Art B. Owen (2006),套索和岭回归的稳健混合。 https://statweb.stanford.edu/~owen/reports/hhu.pdf
例子:
>>> import numpy as np >>> from sklearn.linear_model import HuberRegressor, LinearRegression >>> from sklearn.datasets import make_regression >>> rng = np.random.RandomState(0) >>> X, y, coef = make_regression( ... n_samples=200, n_features=2, noise=4.0, coef=True, random_state=0) >>> X[:4] = rng.uniform(10, 20, (4, 2)) >>> y[:4] = rng.uniform(10, 20, 4) >>> huber = HuberRegressor().fit(X, y) >>> huber.score(X, y) -7.284... >>> huber.predict(X[:1,]) array([806.7200...]) >>> linear = LinearRegression().fit(X, y) >>> print("True coefficients:", coef) True coefficients: [20.4923... 34.1698...] >>> print("Huber coefficients:", huber.coef_) Huber coefficients: [17.7906... 31.0106...] >>> print("Linear Regression coefficients:", linear.coef_) Linear Regression coefficients: [-1.9221... 7.0226...]
相关用法
- Python sklearn HistGradientBoostingRegressor用法及代码示例
- Python sklearn HistGradientBoostingClassifier用法及代码示例
- Python sklearn HalvingGridSearchCV用法及代码示例
- Python sklearn Hyperparameter用法及代码示例
- Python sklearn HalvingRandomSearchCV用法及代码示例
- Python sklearn HashingVectorizer用法及代码示例
- 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用法及代码示例
- Python sklearn load_svmlight_file用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.linear_model.HuberRegressor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。