基于支持向量机的数据分类以及绘制决策边界(超平面)

本文介绍了如何使用支持向量机(SVM)进行数据分类,并详细展示了在二维数据上绘制决策边界的过程。通过观察不同参数(C和gamma)对模型效果的影响,探讨了寻找最优参数组合的策略。尽管存在一些互相嵌入的数据点导致分类挑战,但通过调整参数可以得到接近最优的决策边界。
摘要由CSDN通过智能技术生成

基于支持向量机的数据分类以及绘制决策边界(超平面)

为了方便结果可视化,本文主要利用二维数据点进行讨论
目录:
1、导入数据并观察数据:
2、训练集训练模型
3、绘制决策边界(超平面)观察分类效果
4、利用这四组参数对测试集进行测试并绘制图像

首先开始就列出利用的库

# coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm  # 导入SVM模型模块
from scipy.io import loadmat  # 读取mat文件利用的模块

1、导入数据并观察数据:
从matlab的mat文件中导入训练集和测试集,训练集和测试集都是二维数据点构成的矩阵,标签是一维点构成的矩阵(主要分为两类,故为1和2)

A=loadmat('data3.mat')
print(A.keys())
X=A['X']  # 训练集
y=A['y']  # 训练集对应标签
X_val=A['Xval']  # _val 为测试集
y_val=A['yval']
X1=X[:,0]
X2=X[:,1]
X_val1=X_val[:,0]
y=y.reshape(X1.shape)  # 由于y是n*1的矩阵,要变成一个向量才能带入模型中
y_val=y_val.reshape(X_val1.shape) # 同y

打印出来看看
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
分别绘制出训练集和测试集的数据点分布情况

plt.scatter(X[:,0],X[:,1]<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值