支持向量机代码示例

该文展示了如何使用Python的sklearn库构建SVM模型,特别是选择了不同的核函数如线性、多项式和径向基函数进行数据分类。通过加载鸢尾花数据集,将数据拆分为训练集和测试集,然后训练模型并计算预测准确性。
摘要由CSDN通过智能技术生成
import numpy as np  
from sklearn import datasets  
from sklearn.model_selection import train_test_split  
from sklearn.svm import SVC  
  
# 加载数据集  
iris = datasets.load_iris()  
X = iris.data[:, :2]  # 取前两个特征  
y = iris.target  
  
# 将数据集拆分为训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)  
  
# 定义SVM模型  
svm_model = SVC(kernel='linear')  
  
# 在训练集上拟合模型  
svm_model.fit(X_train, y_train)  
  
# 在测试集上进行预测  
y_pred = svm_model.predict(X_test)  
  
# 计算模型的准确性  
accuracy = np.mean(y_pred == y_test)  
print("Accuracy:", accuracy)

其中svm_model = SVC(kernel='linear')  中的参数kernel为核函数,根据不同需要可以选择如下几种核函数:

  1. 线性核函数(linear):将输入数据映射到一个高维空间中,并在该空间中进行平滑的非线性变换,以便更好地分离数据。
  2. 多项式核函数(poly):将输入数据映射到一个高维空间中,并在该空间中进行多项式逼近,以便更好地分离数据。
  3. 径向基核函数(rbf):在输入数据上应用径向基函数,以便对数据进行非线性分离。
  4. 核函数(linear):默认值,使用线性核函数。
  5. 样本-特征核函数(sample_normalize):对每个样本的特征进行归一化,以便在空间上更好地分离数据。
  6. 样本-样本核函数(sample_normalize):对每个样本的样本进行归一化,以便在空间上更好地分离数据。
  7. 高斯径向基核函数(rbf_kernel):在输入数据上应用高斯径向基函数,以便对数据进行非线性分离。
  8. 带噪声径向基核函数(rbf_kernel_with_noise):在带噪声的输入数据上应用径向基函数,以便对数据进行非线性分离。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值