python机器学习库sklearn——岭回归(Ridge、RidgeCV)(L2正则化)
分享一个朋友的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开
docker/kubernetes入门视频教程
全栈工程师开发手册 (作者:栾鹏)
python数据挖掘系列教程
Ridge 回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题。 岭系数最小化的是带罚项的残差平方和,
minw∣∣Xw−y∣∣22+α∣∣w∣∣22\underset{w}{min\,} {{|| X w - y||_2}^2 + \alpha {||w||_2}^2}wmin∣∣Xw−y∣∣22+α∣∣w∣∣22
其中,$ \alpha \geq 0$ 是控制系数收缩量的复杂性参数: α\alphaα 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。
参数
alpha:{float,array-like},shape(n_targets)
正则化强度; 必须是正浮点数。 正则化改善了问题的条件并减少了估计的方差。 较大的值指定较强的正则化。 Alpha对应于其他线性模型(如Logistic回归或LinearSVC)中的C^-1。 如果传递数组,则假定惩罚被特定于目标。 因此,它们必须在数量上对应。
copy_X:boolean,可选,默认为True
如果为True,将复制X; 否则,它可能被覆盖。
fit_intercept:boolean
是否计算此模型的截距。 如果设置为false,则不会在计算中使用截距(例如,数据预期已经居中)。
max_iter:int,可选
共轭梯度求解器的最大迭代次数。 对于’sparse_cg’和’lsqr’求解器,默认值由scipy.sparse.linalg确定。 对于’sag’求解器,默认值为1000。
normalize:boolean,可选,默认为False
如果为真,则回归X将在回归之前被归一化。 当fit_intercept设置为False时,将忽略此参数。 当回归量归一化时,注意到这使得超参数学习更加鲁棒,并且几乎不依赖于样本的数量。 相同的属性对标准化数据无效。 然而,如果你想标准化,请在调用normalize = False训练估计器之前,使用preprocessing.StandardScaler处理数据。
solver:{‘auto’,‘svd’,‘cholesky’,‘lsqr’,‘sparse_cg’,‘sag’}
用于计算的求解方法:
'auto’根据数据类型自动选择求解器。
'svd’使用X的奇异值分解来计算Ridge系数。对于奇异矩阵比’cholesky’更稳定。
'cholesky’使用标准的scipy.linalg.solve函数来获得闭合形式的解。
'sparse_cg’使用在scipy.sparse.linalg.cg中找到的共轭梯度求解器。作为迭代算法,这个求解器比大规模数据(设置tol和max_iter的可能性)的“cholesky”更合适。
'lsqr’使用专用的正则化最小二乘常数scipy.sparse.linalg.lsqr。它是最快的,但可能不是在旧的scipy版本可用。它还使用迭代过程。
'sag’使用随机平均梯度下降。它也使用迭代过程,并且当n_samples和n_feature都很大时,通常比其他求解器更快。注意,“sag”快速收敛仅在具有近似相同尺度的特征上被保证。您可以使用sklearn.preprocessing的缩放器预处理数据。
所有最后四个求解器支持密集和稀疏数据。但是,当fit_intercept为True时,只有’sag’支持稀疏输入。
新版本0.17支持:随机平均梯度下降解算器。
tol:float
解的精度。
random_state:int seed,RandomState实例或None(默认)
伪随机数生成器的种子,当混洗数据时使用。 仅用于’sag’求解器。
新版本0.17:random_state支持随机平均渐变。
返回值
coef_:array,shape(n_features,)或(n_targets,n_features)
权重向量。
intercept_:float | array,shape =(n_targets,)
决策函数的独立项,即截距。 如果fit_intercept = False,则设置为0.0。
n_iter_:array或None,shape(n_targets,)
每个目标的实际迭代次数。 仅适用于sag和lsqr求解器。 其他求解器将返回None。在版本0.17中出现。
方法
decision_function(\ * args,\ * \ * kwargs)DEPRECATED:将在0.19中删除。
fit(X,y [,sample_weight])
Fit Ridge回归模型
get_params([deep])
获取此估计器的参数。
predict(X)
使用线性模型进行预测
score(X,y [,sample_weight])
返回预测的确定系数R2R ^ 2R2。
set_params(\ * \ * params)
设置此估计器的参数。
import numpy as np # 快速操作结构数组的工具
import matplotlib.pyplot as plt # 可视化绘制
from sklearn.linear_model import Ridge,RidgeCV # Ridge岭回归,RidgeCV带有广义交叉验证的岭回归# 样本数据集,第一列为x,第二列为y,在x和y之间建立回归模型
data=[[0.067732,3.176513],[0.427810,3.816464],[0.995731,4.550095],[0.738336,4.256571],[0.981083,4.560815],[0.526171,3.929515],[0.378887,3.526170],[0.033859,3.156393],[0.132791,3.110301],[0.138306,3.149813],[0.247809,3.476346],[0.648270,4.119688],[0.731209,4.282233],[0.236833,3.486582],[0.969788,4.655492],[0.607492,3.965162],[0.358622,3.514900],[0.147846,3.125947],[0.637820,4.094115],[0.230372,3.476039],[0.070237,3.210610],[0.067154,3.190612],[0.925577,4.631504],[0.717733,4.295890],[0.015371,3.085028],[0.335070,3.448080],[0.040486,3.167440],[0.212575,3.364266],[0.617218,3.993482],[0.541196,3.891471]
]#生成X和y矩阵
dataMat = np.array(data)
X = dataMat[:,0:1] # 变量x
y = dataMat[:,1] #变量y# ========岭回归========
model = Ridge(alpha=0.5)
model = RidgeCV(alphas=[0.1, 1.0, 10.0]) # 通过RidgeCV可以设置多个参数值,算法使用交叉验证获取最佳参数值
model.fit(X, y) # 线性回归建模
print('系数矩阵:\n',model.coef_)
print('线性回归模型:\n',model)
# print('交叉验证最佳alpha值',model.alpha_) # 只有在使用RidgeCV算法时才有效
# 使用模型预测
predicted = model.predict(X)# 绘制散点图 参数:x横轴 y纵轴
plt.scatter(X, y, marker='x')
plt.plot(X, predicted,c='r')# 绘制x轴和y轴坐标
plt.xlabel("x")
plt.ylabel("y")# 显示图形
plt.show()
python机器学习库sklearn——岭回归(Ridge、RidgeCV)(L2正则化)相关推荐
- python机器学习库sklearn——逻辑回归
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 逻辑分类的相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article/det ...
- python机器学习库sklearn——Lasso回归(L1正则化)
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 Lasso The Las ...
- Python机器学习库sklearn的安装
Python机器学习库sklearn的安装 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上能够为用户提供各种机器学习算法接口 ...
- python机器学习库sklearn——决策树
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 决策树的相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article/deta ...
- python机器学习库sklearn与graphlab与opencv的安装
1.安装python 首先安装python3.5 Link 然后安装python2.7 Link 注意选择合适的版本(记得之后安装的GraphLab只能用64位,也只能使用python2) 2.安装使 ...
- python机器学习库sklearn——神经网络
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- python机器学习库sklearn——K最近邻、K最近邻分类、K最近邻回归
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 KNN即K最近邻,相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article ...
- python机器学习库sklearn——特征提取
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 注意:特征特征提取与 特征选择 有很大的不同:前者包括将任意数据(如文本或图像)转换为可用于机器学习的数值特征.后者是将这些特征应用到 ...
- python机器学习库sklearn——SGD梯度下降法
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
最新文章
- 基于癌症基因组学数据的miRNA 功能模块识别算法研究
- Caffe使用step by step:caffe框架下的基本操作和分析
- 126篇殿堂级深度学习论文分类整理 从入门到应用(上)
- 洛谷P1757 通天之分组背包 [2017年4月计划 动态规划06]
- jpa 自定义sql if_SpringBoot整合JPA实现多数据源及读写分离
- linux语言yhq,linux通过docker安装kafka
- 百度 ERNIE 在 GLUE 大赛中击败了微软和谷歌
- 如何做相册_我是如何对2000张照片进行批量套版的
- request 和response 中的setCharacterEncoding区别
- Ubuntu之重新安装软件
- LeetCode 407. Trapping Rain Water II
- 看了星球大战--西斯的复仇
- 万维c语言作业,万维考试系统-c语言题库-含题目-程序设计题导出-113道.doc
- Java版漏斗计时器_新学期新气象 教你在《我的世界》做出特别铃声
- Akm函数递归与非递归解法
- 你是自己的太阳,无需借别人的光(持续更新)
- 2022-2028全球与中国企业上云市场现状及未来发展趋势
- Hadoop数据采集方案
- MT29F8G08ABACA nandflash 参数记录
- 严冬欲御寒增强体质 首当养肾
热门文章
- 讯飞输入法10周年:日语音交互次数超10亿
- 语音识别如何操作?这种语音转文字方法也太好用了吧,简单高效
- linux shell eval,【shell】bash shell 中 set 和 eval 命令的使用
- python中类型转换的规则_Python 类型转换指南
- hal库串口dma卡死_HAL库版DMA循环模式串口数据收发
- 【python笔记】:python简介
- ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog)
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器
- js判断时间是早上还是下午_测血糖别在下午,测空腹血糖早上几点最准确?
- jQuery 查找元素节点