当前位置: 首页 > news >正文

机器学习sklearn:支持向量机svm

概述:现在就只知道这个svm可以画出决策边界,对数据的划分。简单举例就是:好的和坏的数据分开,中间的再验证

from sklearn.datasets import make_blobs
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import numpy as np# 1. 生成数据
X, y = make_blobs(n_samples=50,       # 50个样本centers=2,          # 2个类别(二分类)random_state=0,     # 固定随机种子cluster_std=0.6     # 控制数据点的分散程度
)   # X是样本,y是标签# 2. 训练线性SVM
model = SVC(kernel='linear').fit(X, y)# 3. 绘制数据点
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap="rainbow")  # 按类别着色# 4. 绘制决策边界和支持向量间隔
ax = plt.gca()  # 获取当前坐标轴
xlim = ax.get_xlim()  # 获取x轴范围
ylim = ax.get_ylim()  # 获取y轴范围# 生成网格点(用于绘制决策边界)
xx, yy = np.meshgrid(np.linspace(xlim[0], xlim[1], 50),  # x轴50个点np.linspace(ylim[0], ylim[1], 50)   # y轴50个点
)   # 分成50分画网格# 计算决策函数值(SVM的间隔)
Z = model.decision_function(np.c_[xx.ravel(), yy.ravel()]).reshape(xx.shape)    # 计算决策值并重塑为网格矩阵# 绘制决策边界(黑色实线)和间隔边界(黑色虚线)
ax.contour(xx, yy, Z,colors='k',levels=[-1, 0, 1],  # 0是决策边界,±1是支持向量间隔alpha=0.5,          # 透明度linestyles=['--', '-', '--']  # 虚线-实线-虚线
)# 5. 标记支持向量(SVM的关键数据点)
ax.scatter(model.support_vectors_[:, 0],  # 支持向量的x坐标model.support_vectors_[:, 1],  # 支持向量的y坐标s=100,                        # 点的大小facecolors='none',            # 空心点edgecolors='k',               # 黑色边框linewidths=1.5                # 边框宽度
)plt.title("SVM Decision Boundary with Support Vectors")
plt.show()print(Z)

http://www.lryc.cn/news/608806.html

相关文章:

  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——9. 接入真实硬件:驱动USB摄像头
  • 李宏毅深度学习教程 第8-9章 生成模型+扩散模型
  • 【Unity3D实例-功能-镜头】俯视角
  • JVM-垃圾回收器与内存分配策略详解
  • [创业之路-530]:创业公司五维架构设计:借鉴国家治理智慧,打造敏捷型组织生态
  • 智变时代:AI 如何重构工作边界与行业生态?
  • 【MySQL安全】什么是SQL注入,怎么避免这种攻击:前端防护、后端orm框架、数据库白名单
  • 计算机网络:如何在实际网络中进行子网划分
  • 从零开始学Express,理解服务器,路由于中间件
  • C#模式匹配用法与总结
  • Supergateway教程
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现各类垃圾的分类检测识别(C#代码UI界面版)
  • 玩转 Playwright 有头与无头模式:消除差异,提升爬虫稳定性
  • LLM - 智能体工作流设计模式
  • 小红书开源dots.ocr:单一视觉语言模型中的多语言文档布局解析
  • 【设计模式】5.代理模式
  • [LeetCode优选算法专题一双指针——有效三角形的个数]
  • Python 程序设计讲义(60):Python 的函数——递归函数
  • 从“配置地狱”到“云端乐园”——Nacos 如何成为分布式微服务配置中心的“定海神针”
  • 【MySQL】MySQL中锁有哪些?
  • ethtool,lspci,iperf工具常用命令总结
  • 26李林880高数第一章 函数、极限、连续
  • Shell脚本-变量的定义规则
  • 西门子PLC基础指令4:输出指令、立即输出指令
  • JavaScript 性能优化实战指南:从运行时到用户体验的全面提升​
  • adb 与pad 交互方法
  • MyBatis动态SQL精要:从<if>到<foreach>的灵活拼接之道
  • Go语言声明变量
  • 怎么修改论文格式呢?提供一份论文格式模板
  • 【Bluedroid】btif_av_handle_event 流程源码解析