机器学习:SVM核函数的优势和缺陷

本文通过乳腺癌数据集探讨SVM的核函数,发现线性核在线性数据集上表现良好,但计算速度慢;rbf和sigmoid在非线性场景下有效,但在线性数据集上效果不佳。关键问题在于数据的量纲不一,导致计算效率低下。通过数据无量纲化,可以显著提高核函数的运算速度,特别是多项式核函数,并使rbf展现出更好的性能。总结指出,SVM在应用前应先进行数据无量纲化。
摘要由CSDN通过智能技术生成

看起来,除了Sigmoid核函数,其他核函数效果都还不错。但其实rbf和poly都有自己的弊端,我们使用乳腺癌数据集作为例子来展示一下:

from sklearn.datasets import load_breast_cancer
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np
from time import time
import datetime
#实例化数据集,提取特征和标签
data = load_breast_cancer()
X = data.data
y = data.target
#切分训练集和测试集
Xtrain, Xtest, Ytrain, Ytest =
train_test_split(X,y,test_size=0.3,random_state=420)
Kernel = ["linear","poly","rbf","sigmoid"]
for kernel in Kernel:
time0 = time()
clf= SVC(kernel = kernel
, gamma="auto"
).fit(Xtrain,Ytrain)
print("The accuracy under kernel %s is %f" %
(kernel,clf.score(Xtest,Ytest)))
print(datetime
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值