分享一个朋友的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开

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∣∣2​2+α∣∣w∣∣2​2

其中,$ \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正则化)相关推荐

  1. python机器学习库sklearn——逻辑回归

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 逻辑分类的相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article/det ...

  2. python机器学习库sklearn——Lasso回归(L1正则化)

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 Lasso The Las ...

  3. Python机器学习库sklearn的安装

    Python机器学习库sklearn的安装 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上能够为用户提供各种机器学习算法接口 ...

  4. python机器学习库sklearn——决策树

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 决策树的相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article/deta ...

  5. python机器学习库sklearn与graphlab与opencv的安装

    1.安装python 首先安装python3.5 Link 然后安装python2.7 Link 注意选择合适的版本(记得之后安装的GraphLab只能用64位,也只能使用python2) 2.安装使 ...

  6. python机器学习库sklearn——神经网络

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

  7. python机器学习库sklearn——K最近邻、K最近邻分类、K最近邻回归

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 KNN即K最近邻,相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article ...

  8. python机器学习库sklearn——特征提取

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 注意:特征特征提取与 特征选择 有很大的不同:前者包括将任意数据(如文本或图像)转换为可用于机器学习的数值特征.后者是将这些特征应用到 ...

  9. python机器学习库sklearn——SGD梯度下降法

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

最新文章

  1. 基于癌症基因组学数据的miRNA 功能模块识别算法研究
  2. Caffe使用step by step:caffe框架下的基本操作和分析
  3. 126篇殿堂级深度学习论文分类整理 从入门到应用(上)
  4. 洛谷P1757 通天之分组背包 [2017年4月计划 动态规划06]
  5. jpa 自定义sql if_SpringBoot整合JPA实现多数据源及读写分离
  6. linux语言yhq,linux通过docker安装kafka
  7. 百度 ERNIE 在 GLUE 大赛中击败了微软和谷歌
  8. 如何做相册_我是如何对2000张照片进行批量套版的
  9. request 和response 中的setCharacterEncoding区别
  10. Ubuntu之重新安装软件
  11. LeetCode 407. Trapping Rain Water II
  12. 看了星球大战--西斯的复仇
  13. 万维c语言作业,万维考试系统-c语言题库-含题目-程序设计题导出-113道.doc
  14. Java版漏斗计时器_新学期新气象 教你在《我的世界》做出特别铃声
  15. Akm函数递归与非递归解法
  16. 你是自己的太阳,无需借别人的光(持续更新)
  17. 2022-2028全球与中国企业上云市场现状及未来发展趋势
  18. Hadoop数据采集方案
  19. MT29F8G08ABACA nandflash 参数记录
  20. 严冬欲御寒增强体质 首当养肾

热门文章

  1. 讯飞输入法10周年:日语音交互次数超10亿
  2. 语音识别如何操作?这种语音转文字方法也太好用了吧,简单高效
  3. linux shell eval,【shell】bash shell 中 set 和 eval 命令的使用
  4. python中类型转换的规则_Python 类型转换指南
  5. hal库串口dma卡死_HAL库版DMA循环模式串口数据收发
  6. 【python笔记】:python简介
  7. ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog)
  8. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器
  9. js判断时间是早上还是下午_测血糖别在下午,测空腹血糖早上几点最准确?
  10. jQuery 查找元素节点