机器学习实战-系列教程8:SVM分类实战3非线性SVM(鸢尾花数据集/软间隔/线性SVM/非线性SVM/scikit-learn框架)项目实战、代码解读

🌈🌈🌈机器学习 实战系列 总目录

本篇文章的代码运行界面均在Pycharm中进行
本篇文章配套的代码资源已经上传

SVM分类实战1之简单SVM分类
SVM分类实战2线性SVM
SVM分类实战3非线性SVM

4、非线性SVM

4.1 创建非线性数据

from sklearn.datasets import make_moons 
X, y = make_moons(n_samples=100, noise=0.15, random_state=42)def plot_dataset(X, y, axes):plt.plot(X[:, 0][y==0], X[:, 1][y==0], "bs")plt.plot(X[:, 0][y==1], X[:, 1][y==1], "g^")plt.axis(axes)plt.grid(True, which='both')plt.xlabel(r"$x_1$", fontsize=20)plt.ylabel(r"$x_2$", fontsize=20, rotation=0)plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
plt.show()

在这里插入图片描述

4.2 分类预测

from sklearn.datasets import make_moons
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures
polynomial_svm_clf=Pipeline((("poly_features",PolynomialFeatures(degree=3)),("scaler",StandardScaler()),("svm_clf",LinearSVC(C=10,loss="hinge"))))
polynomial_svm_clf.fit(X,y)
  1. 使用PolynomialFeatures模块进行预处理,使用这个可以增加数据维度
  2. polynomial_svm_clf.fit(X,y)对当前进行训练传进去X和y数据
def plot_predictions(clf,axes):x0s = np.linspace(axes[0],axes[1],100)x1s = np.linspace(axes[2],axes[3],100)x0,x1 = np.meshgrid(x0s,x1s)X = np.c_[x0.ravel(),x1.ravel()]y_pred = clf.predict(X).reshape(x0.shape)plt.contourf(x0,x1,y_pred,cmap=plt.cm.brg,alpha=0.2)plot_predictions(polynomial_svm_clf,[-1.5,2.5,-1,1.5])
plot_dataset(X,y,[-1.5,2.5,-1,1.5])

在这里插入图片描述

5、核函数

5.1 核函数

from sklearn.svm import SVCpoly_kernel_svm_clf = Pipeline([("scaler", StandardScaler()),("svm_clf", SVC(kernel="poly", degree=3, coef0=1, C=5))])poly_kernel_svm_clf.fit(X, y)
poly100_kernel_svm_clf = Pipeline([("scaler", StandardScaler()),("svm_clf", SVC(kernel="poly", degree=10, coef0=100, C=5))])poly100_kernel_svm_clf.fit(X, y)
plt.figure(figsize=(11, 4))plt.subplot(121)
plot_predictions(poly_kernel_svm_clf, [-1.5, 2.5, -1, 1.5])
plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
plt.title(r"$d=3, r=1, C=5$", fontsize=18)plt.subplot(122)
plot_predictions(poly100_kernel_svm_clf, [-1.5, 2.5, -1, 1.5])
plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
plt.title(r"$d=10, r=100, C=5$", fontsize=18)plt.show()

在这里插入图片描述

5.2 高斯核函数

SVM分类实战1之简单SVM分类
SVM分类实战2线性SVM
SVM分类实战3非线性SVM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/79078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

奶牛个体识别 奶牛身份识别

融合YOLOv5s与通道剪枝算法的奶牛轻量化个体识别方法 Light-weight recognition network for dairy cows based on the fusion of YOLOv5s and channel pruning algorithm 论文链接 知网链接 DOI链接 该文章讨论了奶牛花斑、光照条件、不同剪枝方法、不同剪枝率对准确率的影响…

云原生Kubernetes:pod基础与配置

目录 一、理论 1.pod 2.pod容器分类 3.镜像拉取策略 4.pod 的重启策略 二、实验 1.Pod容器的分类 2.镜像拉取策略 三、问题 1.apiVersion 报错 2.pod v1版本资源未注册 3.格式错误 4.取行显示指定pod信息 四、总结 一、理论 1.pod (1) 概念 Pod是kubernetes中…

python LeetCode 刷题记录 20

题目 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右…

【Java IO流 - 中秋活动特供】流的分类,API使用,文件操作

博主:_LJaXi 专栏: Java | 从跨平台到跨行业 开发工具:IntelliJ IDEA Community Edition 2022.3.3 Java IO流 中秋特供啦 🥮Java Io 🍔什么是流流的分类文件字节输入流1. 条件循环解决1 (2) 读取特性 2. 数组存储解决 …

在CIFAR-10数据集上构建ResNet-18模型(pytorch版)

文章目录 1. 构建ResNet模型1.1 前置条件1.2 构建Residual Block1.3 构建ResNet-181.4 模型测试 2. 训练与评估2.1 数据预处理与加载2.2 模型训练2.3 模型评估 Reference 1. 构建ResNet模型 我们将使用PyTorch框架来实现一个简化版的ResNet-18模型。我们的目标是构建一个可以在…

固定资产管理口号标语怎么写

在现代企业管理中,固定资产的管理是至关重要的一环。它不仅关系到企业的经济效益,也影响到企业的运营效率和稳定性。因此,我们需要一种既富有创意又实用有效的口号来引导我们的固定资产管理工作。 明确一个观点  我们要明确一个观点&#…

flink on yarn任务中文乱码问题解决记录

开发反馈预生产部分部分flink任务出现中文乱码的问题 找到乱码的flink任务所在的节点,登录服务器,执行locale命令: 发现是locale没有设置好,使用vim编辑文本,写入中文都直接乱码 对比其他几台机器,发现主…

MySQL优化第二篇

MySQL优化第二篇 性能分析小表驱动大表慢查询日志日志分析工具mysqldumpslow Show Profile进行SQL分析(重中之重) 七种JOIN 1、inner join :可以简写为join,表示的是交集,也就是两张表的共同数据 sql语句&#xff1a…

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力

文心一言插件开发 前言插件插件是什么工作原理申请开发权限 开始第一步:安装python第二步:搭建项目manifest 描述文件:ai-plugin.json插件服务描述文件:openapi.yaml开发自己的plugin-server 第三步:上传插件 SDK相关链…

使用todesk或者向日葵远程Ubuntu22.04系统的客户机黑屏

[TOC](使用todesk或者向日葵远程Ubuntu22.04系统的客户机黑屏) 目录 1. 故障现象 2. 分析 3. 解决办法 4. 参考文章 1. 故障现象 使用todesk或者向日葵远程客户机(Ubuntu22.04系统)时,显示黑屏 2. 分析 本故障可能是因为Ubuntu22.04的图…

Vue3高频面试题+八股文

Vue3.0中的Composition Api 开始之前 Compos:1 tion API可以说是ue3的最大特点,那么为什么要推出Compos1t1on Api,解决了什么问趣? 通常使用Vue2开发的项目,普遍会存在以下问题: 代码的可读性随着组件变大而变差每一种代码复用的…

想要精通算法和SQL的成长之路 - 课程表II

想要精通算法和SQL的成长之路 - 课程表 前言一. 课程表II (拓扑排序)1.1 拓扑排序1.2 题解 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 课程表II (拓扑排序) 原题链接 1.1 拓扑排序 核心知识: 拓扑排序是专…

C++模版基础

代码地址 gitgithub.com:CHENLitterWhite/CPPWheel.git 专栏介绍 本专栏会持续更新关于STL中的一些概念,会先带大家补充一些基本的概念,再慢慢去阅读STL源码中的需要用到的一些思想,有了一些基础之后,再手写一些STL代码。 (如果你…

mysql远程连接失败

先上结论,只提出最容易忽略的地方 服务器是阿里云、腾讯云等平台,平台本身自带的防火墙没有开启iptables规则中禁用了3306,即使你根本没有启用iptables服务 第二条是最离谱的 从这里可以看到,我服务器并未启用 iptables 服务 但…

React 入门实例教程

目录 一、HTML 模板 二、ReactDOM.render() 三、JSX 语法 四、组件 五、this.props.children 六、PropTypes 七、获取真实的DOM节点 八、this.state 九、表单 十、组件的生命周期 constructor() componentWillMount() render() componentDidMount() 组件生命周期…

OPCAE扫盲

目录 1 基本概念 1.1 服务器/客户端 1.2 区域 1.3 报警/条件 1.4 事件 2 条件概念 2.1 子条件 2.2 OPCConditions属性 2.3 Condition质量 2.4 OPCSubConditions属性 2.5 Condition定义 2.6 严重性 2.7 Condition启用/禁用 2.8 Area启用/禁用 2.9 Condition状态集…

Apollo源码安装的问题及解决方法

问题一 在进行git clone时,会报错Failed to connect to github.com port 443: Timed out,经过实践后推荐以下两种方法。 方法一:在原地址前加https://ghproxy.com 原地址:git clone https://github.com/ApolloAuto/apollo.git …

Python while循环嵌套

视频版教程 Python3零基础7天入门实战视频教程 我们在while循环内部还可以继续通过while循环来实现复杂得应用&#xff0c;比如我们打印二维的行列。 实例&#xff1a; # 定义行 i 1# 打印5行 while i < 5:print(f"打印第{i}行")# 定义列j 1# 打印8列while j…

yolov7简化网络yaml配置文件

yolov7代码结构简单&#xff0c;效果还好&#xff0c;但是动辄超过70几个模块的配置文件对于想要对网络进行魔改的朋友还是不怎么友好的&#xff0c;使用最小的tiny也有77个模块 代码的整体结构简单&#xff0c;直接将ELAN结构化写成一个类就能像yolov5一样仅仅只有20几个模块&…

github要求提供双重认证 (2FA), 终于试成功

这是悲剧的事情。 短信认证 不支持中国大陆&#xff0c;包括中国的香港&#xff0c;澳门也不支持。但是中国的台湾他却支持…它默认推荐的几个&#xff0c;什么1password&#xff0c;微软自带&#xff0c;还有一个axxx什么的&#xff0c;只支持google play和ios&#xff0c;我…