sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别

2023-10-30

区别:

LinearSVC:

SVM线性分类器;用来实现线性的分类任务

"""鸢尾花数据集,执行一个分类问题"""

import numpy as np
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC #线性SVM模型;
from sklearn.datasets import load_iris


iris_data=load_iris()
print(iris_data["data"])
print("============================")
X=iris_data["data"][:,(2,3)] #取长度和宽度;
# y=iris_data["target"]
# print(y)
y=(iris_data["target"] == 2).astype(np.float64)

#建立线性的模型:
svm_clf=Pipeline([
    #标准化
    ("scaler",StandardScaler()),
    #svc 线性:
    ("linear_svc",LinearSVC(C=1,loss="hinge"))] #C是软间隔参数;防止过拟合的现象;
)

svm_clf.fit(X,y)
res=svm_clf.predict([[6.3,1.2]])
print("res:",res)

SVC:

可以用来实现非线性的分类任务,支持核技巧;可以添加多项式特征;

from sklearn.svm import SVC
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_moons,load_iris


X,y=make_moons(n_samples=100,noise=0.15) #取样本数


poly_svm_clf=Pipeline([
    ("scaler",StandardScaler()),
      #添加核函数,多项式最高次为3
    ("svm_clf",SVC(kernel="poly",degree=3,coef0=1,C=5))
])

poly_svm_clf.fit(X,y)

LinearSVR:

SVM线性回归器;用来实现线性的分类任务;

from sklearn.svm import LinearSVR
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR,SVC #支持多项式特征;
from sklearn.datasets import make_moons


X,y=make_moons(n_samples=100,noise=0.15) #加入噪音;

svm_reg=LinearSVR(epsilon=1.5)
svm_reg.fit(X,y)

SVR:

可以用来实现非线性的回归任务,支持核技巧;可以添加多项式特征;

#使用SVR,支持核技巧:进行二分类问题
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR,SVC #支持多项式特征;
from sklearn.datasets import make_moons

X,y=make_moons(n_samples=100,noise=0.15) #加入噪音;
#多项式特征是 kernel="poly" 核函数是将低维数据映射到高维数据; degree=2 C:软间隔系数;
svc_model=SVR(kernel="poly",degree=2,C=100,epsilon=0.1)
svc_model.fit(X,y)

核技巧:

核技巧,也就是核函数,如果数据集是比较低维的数据时,低维数据信息有些少,这时可以将低维的数据映射为高维的数据进行模型的训练。比如在低维空间进行分类比较困难,可以将数据映射到高维空间中,进行分类。

核函数:kernal参数;

kernel是svm中选择核函数的参数,其可选选项主要区别如下:

linear:线性核函数,是在数据线性可分的情况下使用的,运算速度快,效果好。不足在于它不能处理线性不可分的数据。
poly:多项式核函数,多项式核函数可以将数据从低维空间映射到高维空间,但参数比较多,计算量大。
rbf:高斯核函数(默认),高斯核函数同样可以将样本映射到高维空间,但相比于多项式核函数来说所需的参数比较少,通常性能不错,所以是默认使用的核函数。
sigmoid:sigmoid 核函数,sigmoid 经常用在神经网络的映射中。因此当选用 sigmoid 核函数时,SVM 实现的是多层神经网络。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别 的相关文章

  • MySQL子查询

    子查询指一个查询语句嵌套在另一个查询语句内部的查询 这个特性从MySQL 4 1开始引入 SQL 中子查询的使用大大增强了 SELECT 查询的能力 因为很多时候查询需要从结果集中获取数据 或者需要从同一个表中先计算得出一个数据结果 然后与
  • 微信小程序和百度的语音识别接口

    介绍 因为项目需要 使用到了微信小程序和百度的语音接口 现在将项目中的一个小模块拿出来单独分享 技术关键字 微信小程序 百度语音接口 nodejs express fluent ffmegp 环境 windows 10 vs code 1

随机推荐

  • adb inputswipe shell_adb shell 基本使用

    连接远程设备 adb connect ip host 端口 获取设备 adb devices 显示adb连接设备列表 adb e d s xxx shell e 模拟器 d 外置设备 s 输入序列号 进入shell后 adb shell 就
  • Qt之NSIS打包

    一 Qt发布方式 Qt发布的时候 通常使用两种方式 1 静态编译 把相关联的库一并引入可执行程序 虽然发布简单 但可执行程序较大 2 动态编译 把相关联的库 以dll的形式引用 不包含到可执行程序 发布不方便 但可执行程序较小 二 NSIS
  • leectode 合并二叉树 -- 递归

    0 题目描述 leetcode原题链接 617 合并二叉树 1 递归解法 可以使用深度优先搜索合并两个二叉树 从根节点开始同时遍历两个二叉树 并将对应的节点进行合并 两个二叉树的对应节点可能存在以下三种情况 对于每种情况使用不同的合并方式
  • 梯度下降(Gradient Descent)

    基本思想 梯度下降是一个用来求函数最小值的算法 本次 我们将使用梯度下降算法来求出代价函数的最小值 梯度下降背后的思想是 开始时我们随机选择一个参数的组合 计算代价函数 然后我们寻找下一个能让代价函数值下降最多的参数组合 我们持续这么做直到
  • Vue2的学习

    computed计算属性 概念 基于现有数据 计算出来的新属性 依赖的数据变化 会自动重新计算 语法 声明在computed配置项中 一个计算属性对应一个函数 这是一个属性 计算属性名 不是方法 注意不要忘记return div ul li
  • 抓取热门话题:获取热门话题及其讨论

    目录 1 抓取微博热门话题简介 2 准备工作 3 分析微博网站结构 4 编写微博热门话题爬虫
  • 【程序员面试金典】对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。

    题目描述 对于一个元素各不相同且按升序排列的有序序列 请编写一个算法 创建一棵高度最小的二叉查找树 给定一个有序序列int vals 请返回创建的二叉查找树的高度 class MinimalBST public int buildMinim
  • 简单的融合模型:基于keras 的少量样本集迁移学习 VGG16+MeanShift+PAC降维混合模型的苹果识别

    案例分析 更多是是一种思想 而不是具体实现 1 数据集 样本总数为30个 其中普通苹果和其他苹果各占一半 其中有10个苹果已经标注其他均无标签 2 数据集扩容 由于数据集中数据数量少无法满足模型训练 故而改变图片生成一部分模型 path o
  • 翻转字符串

    描述 写出一个程序 接受一个字符串 然后输出该字符串反转后的字符串 字符串长度不超过1000 示例1 输入 abcd 返回值 dcba 示例2 输入 返回值 法一 使用StringBulider public String solve St
  • UML实例

    以下内容摘自张海藩老师 软件工程导论 课件 UML实例 拟开发一软件 完成学校管理中的教务部门功能 包括班级管理 课程管理 帐户管理等 要求用UML建模 1 用例图设计 主用例图 班级管理子用例图 帐户管理子用例图 2 顺序图和用例图 可为
  • echarts图形销毁重新绘制

    echars在绘制图形的时候会给div添加属性 echarts instance 因此只需要将此属性移除并清空div内容即可重新绘制新的echarts图形 myChart removeAttr echarts instance empty
  • libevent库使用之二:深入理解使用

    目录 一 event base 1 创建event base 2 查看IO模型 3 销毁event base 4 事件循环 event loop 5 event base的例子 二 event 事件 1 创建一个事件event 2 释放ev
  • IE9下silverlight 里边MessageBox.Show 失效!

    今天刚刚安装了IE9 在用的时候发现之前用silverlight 做的一个页面里边 MessageBox Show 执行后看不到弹出的对话框 整个页面卡在哪儿没反应了 测试了一下发现是因为silverlight 所在的页面 是用 javas
  • 迁移wind to linux服务器EE网站--迁移说明步骤

    1 上传程序文件 htaccess上传 里面有特殊字符记得更改2 还原数据库从原数据库导出 SQL的命令mysqldump u用户名 p密码 default character set latin1 数据名 gt 数据名 sql3 修改配置
  • 用CSS画小猪佩奇,你就是下一个社会人!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者 江志耿 腾讯TEG网络工程师 我是佩奇 哼 这是我的弟弟乔治 呱呱 这是我的妈妈 嚯 这是我的爸爸 嚯 背景 小猪佩奇已经火了好一阵了 其实一开始我是不屑的 纵观小朋友的历届动
  • 网络安全-子域名收集

    本文为作者学习文章 按作者习惯写成 如有错误或需要追加内容请留言 不喜勿喷 本文为追加文章 后期慢慢追加 子域名 子域名指二级域名 二级域名是顶级域名 一级域名 的下一级比如mail heetian com和bbs heetian com是
  • Fusionstorage Cinder架构

    由于最近一个月加班开发一个云存储产品 fusionstorage cinder 之前也没有碰过云存储这方面的知识 于是花了很长一段时间去学习了解它的架构 首先我们要知道云存储是什么 云存储其实是在云计算概念上延伸出的一个新概念 通过集群应用
  • 创建线程四种方法详解;及说明ThreadPoolExecutor方式创建线程池

    一 继承Thread类的方式 创建一个线程 class MyThred extends Thread public MyThred String name super name Override public void run 线程内的操作
  • Files under the build folder are generated and should not be edited

    在类库里面写的 按ctrl z返回之前写的代码 然后rebuild project的时候就不行了 报资源文件错误 各种clean也不起作用 报的错误都是build文件下的错误 应该是没更新过来 然后我就 1 show history返回到没
  • sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别

    区别 LinearSVC SVM线性分类器 用来实现线性的分类任务 鸢尾花数据集 执行一个分类问题 import numpy as np from sklearn pipeline import Pipeline from sklearn