sklearn岭回归应用
发布日期:2021-05-28 17:02:15
浏览次数:27
分类:技术文章
本文共 1197 字,大约阅读时间需要 3 分钟。
sklearn岭回归应用
前言: 前面博文关于线性回归模型我们可以用梯度下降法或者标准方程法进行训练,但是两种方法各有优缺点。特别是标准方程法一个比较重要的缺点是数据存在不可逆现象则无法训练出结果,而岭回归就是解决标准方程法这一缺点出现的,岭回归模型是由带正则化的代价函数推导得到,他避免数据不可逆的现象,进而得到近似最优解。
一、sklearn岭回归使用示例代码
import numpy as npfrom numpy import genfromtxtfrom sklearn import linear_modelimport matplotlib.pyplot as plt# 读取数据data = genfromtxt(r'longley.csv', delimiter=',')# 切分数据x_data = data[1:, 2:]y_data = data[1:, 1]print(y_data)# 训练模型# 生成50个岭系数的值lmd = np.linspace(0.001, 1, 50)model = linear_model.RidgeCV(alphas=lmd, store_cv_values=True) # 利用岭回归方法交叉验证各个岭系数的误差,进而确定最终选择哪个岭系数model.fit(x_data, y_data)# 训练得到的最合适的岭系数print(model.alpha_)# loss值print(model.cv_values_.shape) # (16,50)每一个岭系数对应的交叉验证损失值为对应列的和取平均# 绘图 (验证求得岭系数是否合理)# 岭系数和loss值的关系plt.plot(lmd, model.cv_values_.mean(axis=0)) # model.cv_values_.mean(axis=0)是对列求平均值# 最终选取的岭系数的位置plt.plot(model.alpha_, min(model.cv_values_.mean(axis=0)), 'ro')plt.show()# 根据训练的模型进行预测print(model.predict(x_data[2, np.newaxis])) # 预测结果88.11216213与真实值88.2很接近,所以预测效果不错
二、代码运行结果图
[ 83. 88.5 88.2 89.5 96.2 98.1 99. 100. 101.2 104.6 108.4 110.8 112.6 114.2 115.7 116.9]0.40875510204081633(16, 50)[88.11216213]三、数据下载 链接:https://pan.baidu.com/s/14xi9nAW4DyY3mWFp_GTb0w 提取码:3kf3
转载地址:https://blog.csdn.net/qq_34720818/article/details/105862824 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年08月30日 04时45分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
静态编译和动态编译的区别
2019-05-24
MySql中ISNULL,IFNULL和NULLIF的用法
2019-05-24
Select2插件dropDown的配置
2019-05-24
MySql计算时间差函数
2019-05-24
freeMarker格式化时间
2019-05-24
select2动态搜索--问题解决
2019-05-24
select2下拉框去除已经选中的值
2019-05-24
jquery中confirm插件使用
2019-05-24
freeMarker--数字类型字符串自动加逗号分隔问题解决
2019-05-24
a标签中onclick事件的用法
2019-05-24
select2使用模态框,搜索框无法输入问题解决
2019-05-24
freeMarker数字格式化和数字百分比显示
2019-05-24
jquery动态清除onclick事件和添加onclick事件
2019-05-24
select2添加placeholder
2019-05-24
select2删除选中项,allowClear设置
2019-05-24
autocomplete设置只可以选择下拉选,mustMatch属性使用
2019-05-24
spring boot设置tomcat端口号和根目录
2019-05-24
mybatis批量更新语法错误问题解决
2019-05-24
spirngboot 如何加在logback.xml配置
2019-05-24