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

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

复制代码
import numpy as np
import matplotlib.pyplot as plt
 
from sklearn.svm import SVC
from sklearn import datasets

X,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. 测试和验证:在测试函数或模型时,均匀的采样可以确保覆盖整个输入范围。

相关推荐
代码游侠3 分钟前
学习笔记——GPIO按键与中断系统
c语言·开发语言·arm开发·笔记·嵌入式硬件·学习·重构
l1t4 分钟前
对clickhouse给出的二分法求解Advent of Code 2025第10题 电子工厂 第二部分的算法理解
数据库·算法·clickhouse
Tisfy6 分钟前
LeetCode 3315.构造最小位运算数组 II:位运算
算法·leetcode·题解·位运算
YuTaoShao19 分钟前
【LeetCode 每日一题】1292. 元素和小于等于阈值的正方形的最大边长
算法·leetcode·职场和发展
Remember_99320 分钟前
【数据结构】深入理解Map和Set:从搜索树到哈希表的完整解析
java·开发语言·数据结构·算法·leetcode·哈希算法·散列表
浅念-21 分钟前
C++第一课
开发语言·c++·经验分享·笔记·学习·算法
蓝田生玉12324 分钟前
PLUTO论文阅读笔记
论文阅读·笔记
charlie11451419125 分钟前
现代嵌入式C++教程:对象池(Object Pool)模式
开发语言·c++·学习·算法·嵌入式·现代c++·工程实践
燃于AC之乐36 分钟前
我的算法修炼之路--8——预处理、滑窗优化、前缀和哈希同余,线性dp,图+并查集与逆向图
算法·哈希算法·图论·滑动窗口·哈希表·线性dp
格林威1 小时前
多相机重叠视场目标关联:解决ID跳变与重复计数的 8 个核心策略,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·分类·工业相机