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

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

python 复制代码
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)
相关推荐
limengshi1383928 分钟前
机器学习面试:请介绍几种常用的学习率衰减方式
人工智能·学习·机器学习
救救孩子把2 小时前
2-机器学习与大模型开发数学教程-第0章 预备知识-0-2 数列与级数(收敛性、幂级数)
人工智能·数学·机器学习
蒋星熠7 小时前
如何在Anaconda中配置你的CUDA & Pytorch & cuNN环境(2025最新教程)
开发语言·人工智能·pytorch·python·深度学习·机器学习·ai
Hcoco_me7 小时前
什么是机器学习?
人工智能·机器学习
合作小小程序员小小店7 小时前
机器学习介绍
人工智能·python·机器学习·scikit-learn·安全威胁分析
蒋星熠9 小时前
深度学习实战指南:从神经网络基础到模型优化的完整攻略
人工智能·python·深度学习·神经网络·机器学习·卷积神经网络·transformer
java1234_小锋10 小时前
Scikit-learn Python机器学习 - 分类算法 - K-近邻(KNN)算法
python·算法·机器学习
手握风云-10 小时前
回溯剪枝的 “减法艺术”:化解超时危机的 “救命稻草”(二)
算法·机器学习·剪枝
剪一朵云爱着11 小时前
一文入门:机器学习
人工智能·机器学习
hi0_611 小时前
机器学习实战(一): 什么是机器学习
人工智能·机器学习·机器人·机器学习实战