一. SVR原理简述

在前面的文章中详细讨论过关于线性回归的公式推导,线性回归传送站。线性回归的基本模型为:

,从某方面说这和超平面的的表达式:

有很大的相似性。但SVR认为只要

不要偏离太大即算预测正确,

为拟合精度控制参数。如图所示:SVR 示意图

从图例中分析,支持向量机回归与线性回归相比,支持向量回归表示只要在虚线内部的值都可认为是预测正确,只要计算虚线外部的值的损失即可。考虑到SVM中线性不可分的情形,在引入松弛变量

最终得出支持向量机回归的最优化问题:

s.t

;

;

;

引入拉格朗日乘数,经过一系列求解与对偶,求的线性拟合函数为:

;

为拉格朗日朗日乘子。

引入核函数,则得:

二. python函数介绍

这里面涉及到的核函数等其它知识可参考:svm通俗讲解。

sklearn.svm.SVR(

kernel ='rbf',

degree = 3,

gamma ='auto_deprecated',

coef0 = 0.0,

tol = 0.001,

C = 1.0,

epsilon = 0.1,

shrinking = True,

cache_size = 200,

verbose = False,

max_iter = -1

)

'''kernel:指定要在算法中使用的内核类型。它必须是'linear','poly','rbf', 'sigmoid','precomputed'或者callable之一。degree: int,可选(默认= 3)多项式核函数的次数('poly')。被所有其他内核忽略。gamma : float,(默认='auto'),'rbf','poly'和'sigmoid'的核系数。当前默认值为'auto',它使用1 / n_features。coef0 : float,(默认值= 0.0)核函数中的独立项。它只在'poly'和'sigmoid'中很重要。tol : float,(默认值= 1e-3)容忍停止标准。C : float,可选(默认= 1.0)错误术语的惩罚参数C.epsilon : float,optional(默认值= 0.1)epsilon在epsilon-SVR模型中。它指定了epsilon-tube,其中训练损失函数中没有惩罚与在实际值的距离epsilon内预测的点。shrinking : 布尔值,可选(默认= True)是否使用收缩启发式。cache_size : float,可选,指定内核缓存的大小(以MB为单位)。verbose : bool,默认值:False 启用详细输出。请注意,此设置利用libsvm中的每进程运行时设置,如果启用,则可能无法在多线程上下文中正常运行。max_iter : int,optional(默认值= -1) 求解器内迭代的硬限制,或无限制的-1'''

三. 示例代码https://github.com/zx3305/tennis/blob/master/svm/svr_test.py​github.com

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.svm import SVR

from sklearn.metrics import r2_score

np.random.seed(0)

x = np.random.randn(80, 2)

y = x[:, 0] + 2*x[:, 1] + np.random.randn(80)

clf = SVR(kernel='linear', C=1.25)

x_tran,x_test,y_train,y_test = train_test_split(x, y, test_size=0.25)

clf.fit(x_tran, y_train)

y_hat = clf.predict(x_test)

print("得分:", r2_score(y_test, y_hat))

r = len(x_test) + 1

print(y_test)

plt.plot(np.arange(1,r), y_hat, 'go-', label="predict")

plt.plot(np.arange(1,r), y_test, 'co-', label="real")

plt.legend()

plt.show()结果示意图

svr公式推导_SVR入门介绍(Python代码)相关推荐

  1. python svr回归_SVR入门介绍(Python代码)

    一. SVR原理简述 在前面的文章中详细讨论过关于线性回归的公式推导,线性回归传送站.线性回归的基本模型为: ,从某方面说这和超平面的的表达式: 有很大的相似性.但SVR认为只要 与 不要偏离太大即算 ...

  2. python游戏中调整箭头下落速度_入门 | 三行Python代码,让数据预处理速度提高2到6倍...

    原标题:入门 | 三行Python代码,让数据预处理速度提高2到6倍 选自TowardsDataScience 作者:George Seif,机器之心编译 在 Python 中,我们可以找到原生的并行 ...

  3. 「Python入门」Python代码规范(风格)

    ​ ​ 活动地址:CSDN21天学习挑战赛 文章目录 前言 一.编码规范 二.分号 三.行的最大长度 四. 缩进规则 五.Python注释 5.1 行注释 5.2 块注释 5.3 文档注释 六. Py ...

  4. svr公式推导_SVR美白公式——一个元素都不能少

    原标题:SVR美白公式--一个元素都不能少 美白最重要的两大元素就是防晒和美白精华,除了这两个重点,清洁和保湿也是每天都要做的,化妆的妹子还要记得卸妆,这些是做护肤的基础功课,如果你还想更进一步的话, ...

  5. Python 01:Pyton历史和入门介绍

    Pyton历史和入门介绍 Python是在1991年诞生的一门面向对象.解释型计算机程序设计语言.Python能做很多事情,小到简单脚本大到后端架构设计,也可以使用python来做胶水语言.学习程序设 ...

  6. 波斯公主选驸马python代码及可视化

    欢迎关注,敬请点赞! 波斯公主选驸马python代码及可视化 思路 代码 结论 前文链接:<波斯公主选驸马> 前文简单介绍了<波斯公主选驸马>的思路和公式推导,此文用pytho ...

  7. 数据结构之优先队列:最小索引优先队列,Python代码实现——15

    最小索引优先队列(Min index priority queue) 在之前实现的最大优先队列和最小优先队列,他们可以分别快速访问到队列中最大元索和最小元素,但是他们有一 个缺点,就是没有办法通过索引 ...

  8. 重构 Python 代码系列之一

    前言 对自己写的冗长代码,想重构但又无思路?这里整理了系列介绍python代码重构优化的方法,助你一臂之力.这是 Python 重构系列的第一部分,系列文章会陆续推出. 文章目录 前言 1.将for循 ...

  9. [Python爬虫] scrapy爬虫系列 一.安装及入门介绍

    前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...

最新文章

  1. [YTU]_2865( 结构体--日期计算)
  2. PyTorch 实现经典模型6:RCNN (Fast RCNN, Faster RCNN)
  3. SQL Server中的Union和Union All语句之间的差异及其性能
  4. FreeEIM在树上一会儿荡秋千
  5. 企业级系统应用,高级组合查询示例讲解 - Jeecg实战
  6. c语言作业模块化设计具体,C语言程序模块化设计.doc
  7. 编程实现strcmp函数
  8. LINUX下的C编程实战(一)――开发平台搭建
  9. IDEA 2017 破解方法(附图)
  10. QQ聊天记录的相关代码
  11. ant design vue table 高度自适应_对比1万2千个Vue.js开源项目发现最实用的 TOP45!火速拿来用!...
  12. Android-进阶教程-权限-特殊权限-AppOps
  13. linux压缩文件命令_24.gzip、unzip命令详解 - 钟桂耀
  14. Guid的生成和数据修整(去除空格和小写字符)
  15. 一类用 LCT 维护信息的题目
  16. python余弦相似度_推荐系统01--余弦相似度
  17. 获取wifi和基站定位的基础信息
  18. java自动化测试语言高级之多线程编程
  19. 百度网页视频倍速播放
  20. 2021年南京大学计算机科学与技术学院考研指南

热门文章

  1. uniapp 小程序 图片按自身大小显示,超出按等比例缩放
  2. python x pop,Python Set pop() 方法
  3. “网格化+智慧管理”助力基层治理
  4. SQL优化-RBO(Rule-Based Optimization)
  5. 关于新生培训的心得体会(第二弹)
  6. 鸿蒙OS渲染图,华为P50 Pro渲染图,首发鸿蒙OS系统,1英寸传感器比肩专业单反
  7. python中几种队列Queue用法区别
  8. java 跨域重定向_跨域解决以及重定向
  9. 新浪微博搜索页用户信息爬取
  10. Android P 性能优化:创建APP进程白名单,杀死白名单之外的进程