线性回归的改进-岭回归
回归 改进 线性
2023-09-11 14:15:15 时间
线性回归的改进-岭回归
1 API
- sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False) 【normalize:如果在特征工程处进行了标准化处理,此处就不需要再做处理】
- 具有l2正则化的线性回归
- alpha:正则化力度,也叫 λ 【alpha=1.0为默认】
- λ取值:0~1 1~10
- solver:会根据数据自动选择优化方法 【solver="auto" 为默认】
- sag:如果数据集、特征都比较大,选择该随机梯度下降优化
- normalize:数据是否进行标准化
- normalize=False:可以在fit之前调用preprocessing.StandardScaler标准化数据
- Ridge.coef_:回归权重
- Ridge.intercept_:回归偏置
Ridge方法相当于SGDRegressor(penalty='l2', loss="squared_loss"),只不过SGDRegressor实现了一个普通的随机梯度下降学习,推荐使用Ridge(实现了SAG)
- sklearn.linear_model.RidgeCV(_BaseRidgeCV, RegressorMixin)
- 具有l2正则化的线性回归,可以进行交叉验证
- coef_:回归系数
class _BaseRidgeCV(LinearModel):
def __init__(self, alphas=(0.1, 1.0, 10.0),
fit_intercept=True, normalize=False,scoring=None,
cv=None, gcv_mode=None,
store_cv_values=False):
2 观察正则化程度的变化,对结果的影响?
- 正则化力度越大,权重系数会越小
- 正则化力度越小,权重系数会越大
3 波士顿房价预测
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error
from sklearn.linear_model import LinearRegression, SGDRegressor, Ridge, RidgeCV
def linear_model3():
"""
线性回归:岭回归
:return:
"""
# 1.获取数据
data = load_boston()
# 2.数据集划分
x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, random_state=22)
# 3.特征工程-标准化
transter = StandardScaler()
x_train = transter.fit_transform(x_train)
x_test = transter.fit_transform(x_test)
# 4.机器学习-线性回归(岭回归)
estimator = Ridge(alpha=1)
# estimator = RidgeCV(alphas=(0.1, 1, 10))
estimator.fit(x_train, y_train)
# 5.模型评估
# 5.1获取系数等值
y_predict = estimator.predict(x_test)
print("预测值为:\n", y_predict)
print("模型中的系数为:\n", estimator.coef_)
print("模型中的偏执为:\n", estimator.intercept_)
# 5.2评价
# 均方误差
error = mean_squared_error(y_test, y_predict)
print("误差为:\n", error)
linear_model3()
运行结果:
相关文章
- SAP 电商云 Spartacus UI 回归测试 wish-list.core-e2e-spec.ts
- ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)
- 有监督学习神经网络的回归拟合——基于红外光谱的汽油辛烷值预测(Matlab代码实现)
- 前文编码nlp自回归任务
- 基于狮群算法优化的lssvm回归预测-附代码
- 基于麻雀算法改进的随机森林回归算法 - 附代码
- 【阶段三】Python机器学习07篇:模型评估函数介绍(回归模型)
- Python实现ALO蚁狮优化算法优化支持向量机回归模型(SVR算法)项目实战
- Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
- 深度学习:Tensorflow实现线性回归梯度下降优化
- 线性回归和岭回归
- cart 分类回归树
- AI学习之路(3): 牛刀小试之线性回归
- 思科恶意加密TLS流检测论文记录——由于样本不均衡,其实做得并不好,神马99.9的准确率都是浮云啊,之所以思科使用DNS和http一个重要假设是DGA和HTTP C&C(正常http会有图片等)。一开始思科使用的逻辑回归,后面17年文章是随机森林。
- 【ML吴恩达】6 数据集的划分以及回归模型评估指标
- 从最大似然再看线性回归