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

24/8/14算法笔记 复习_支持向量机svc

支持向量机(Support Vector Machine, SVM)是一种强大的监督学习模型,用于分类、回归甚至异常检测。它基于统计学习理论,特别关注找到数据的最佳分隔超平面。

import numpy as np
import matplotlib.pyplot as pltfrom sklearn.svm import SVC
from sklearn import datasetsX,y = datasets.make_blobs(n_samples= 100,#样本量n_features=2,#二维数据,便于画图展示centers = 2,#两块random_state = 3)#随机数种子
plt.scatter(X[:,0],X[:,1],c=y)#算法建模
svc = SVC(kernel = 'linear')
svc.fit(X,y)#绘制分割线
w_ = svc.coef_#有两个特征
b_ = svc.intercept_
w = -w_[0,0]/w_[0,1]
b = -b_/w_[0,1]
sv = svc.support_vectors_  #当你使用像 scikit-learn 这样的库训练一个 SVM 模型时,support_vectors_ 包含了在模型训练过程中被选择为支持向量的样本点x = np.linspace(-5,1,100)   #np.linspace函数可以生成一个包含固定数量元素的数组,这些元素均匀地分布在指定的区间内。这个函数在科学计算和数据分析中非常有用,因为它可以帮助你创建一个等间距的数值序列。
y_result = w*x+b
plt.scatter(X[:,0],X[:,1],c=y)
plt.plot(x,y_result,color = 'red')#上下边界
b1 = sv[0][1] - w*sv[0][0]
plt.plot(x,w*x + b1,color = 'blue',ls = '--')b2 = sv[-1][1] - w*sv[-1][0]
plt.plot(x,w*x+b2,color='blue',ls='--')

linspace为什么要这一步:

  1. 数值分析:在数值分析中,经常需要在某个区间内对函数进行评估,linspace可以确保评估点均匀分布。

  2. 绘图:在绘图时,你可能需要在特定区间内均匀分布的x值来计算对应的y值,然后绘制函数图像。

  3. 函数评估:在评估函数的行为或特性时,均匀的点集可以帮助你更好地理解函数在不同区间的表现。

  4. 算法实现:某些算法可能需要在特定区间内均匀采样,以确保算法的准确性和公平性。

  5. 测试和验证:在测试函数或模型时,均匀的采样可以确保覆盖整个输入范围。


http://www.mrgr.cn/news/148.html

相关文章:

  • YOLOv10实时端到端目标检测
  • docker-实战——consul集群
  • 基于x86 平台移植seetaface6
  • Mysql面试一
  • CSS的:placeholder-shown伪类:精确控制输入框占位符样式
  • 贪心算法3
  • ECMAScript性能优化技巧与陷阱
  • 部署flannel网络(master服务器执行)遇到错误
  • 入门网络安全工程师要学习哪些内容
  • 【Hot100】LeetCode—142. 环形链表 II
  • Go环境搭建-开发工具
  • 容器使用私钥远程至宿主机执行命令
  • Unity 求坐标点在扇形区域内的投影
  • 选择Linux发行版:就像选宠物,你准备好了吗?
  • 不同路径 II[中等]
  • Kali Linux 命令大全
  • C/C++ 不定参函数
  • 模拟实现简单栈和队列
  • RabbitMQ-消息队列延迟队列一
  • 精度±0.1g火试金自动化系统中的失重秤如何为冶金行业带来革命性提升