首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高斯核比线性核快

高斯核比线性核快
EN

Data Science用户
提问于 2021-06-11 15:21:01
回答 1查看 109关注 0票数 1

我有一个有580个样本和7个特征的数据集。我比较了线性、二次和高斯三种内核之间的时间,并使用RandomizedSearchCV进行了如下操作:

代码语言:javascript
复制
from sklearn.model_selection import RandomizedSearchCV
from sklearn.preprocessing import StandardScaler

paramSVMLinear = {
        'kernel': ['linear'],
        'C': [ii for ii in np.linspace(1,1e7,50000)]
        }

scal = StandardScaler()
X = scal.fit_transform(X)

RandomizedSearchCV(SVC(), paramSVMLinear, n_iter=1, cv=2, scoring='accuracy', verbose=4).fit(X_train,Y_train)

SVC(kernel = 'linear').fit(X_train,Y_train)
SVC(kernel = 'poly',degree=2).fit(X_train,Y_train)
SVC(kernel = 'rbf').fit(X_train,Y_train)

每次使用的时间分别为187.64秒、0.001672秒、0.00187秒、0.001586秒。为什么随机搜索在1次迭代和2次循环中花费这么长的时间?为什么线性核比RBF花更长的时间?谢谢!

EN

回答 1

Data Science用户

发布于 2021-06-11 16:35:23

线性核所需时间较长的一个合理原因是数据不是线性可分的,因此拟合时间比像RBF这样的非线性核需要的时间长。

核技巧避免了获得线性学习算法学习非线性函数或决策边界所需的显式映射。..。某些算法依赖于本机空间X中的任意关系,实际上,在不同的设置下,\varphi的范围空间会有一个线性解释。线性解释使我们对算法有了深入的了解。此外,在计算过程中通常不需要直接计算\varphi,就像支持向量机一样。一些人认为这一运行时间捷径是主要的好处。

(强调地雷)

参考文献:

  1. 核戏法
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/96521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档