在 R 中调整 svm 参数(线性 SVM 内核)

Posted

技术标签:

【中文标题】在 R 中调整 svm 参数(线性 SVM 内核)【英文标题】:tuning svm parameters in R (linear SVM kernel) 【发布时间】:2014-11-28 18:31:33 【问题描述】:

tune.svm() 和 best.svm() 有什么区别。

当我们调整 svm 内核的参数时,我们不应该总是为我们的模型选择最佳值吗?

请原谅我是 R 和机器学习的新手。

我注意到在调整 svm 时没有线性内核选项。是否有可能使用线性内核调整我的 svm

【问题讨论】:

【参考方案1】:

来自ETHZ:best.svm() 实际上只是tune.svm(...)$best.model 的包装。这 tune() 的帮助页面会告诉你更多关于可用选项的信息。

请务必查看tune() 帮助页面上的示例。 e1071::svm 提供线性、径向(默认)、sigmoid 和多项式内核,请参阅 help(svm)。例如,要使用线性内核,函数调用必须包含参数kernel = 'linear'

data(iris)
obj <- tune.svm(Species~., data = iris, 
                cost = 2^(2:8), 
                kernel = "linear") 

如果您是 R 新手并且想训练和交叉验证 SVM 模型,您还可以查看caret 包及其提供多个types of kernels 的train 函数。该网站上的整个“主题”部分也可能很有趣。

【讨论】:

我检查了,没有选择内核的参数。它给我抛出了一个错误 哪个函数抛出了错误?如上例所示,内核选择在tune.svm 中起作用。 认为这是一个错字。非常感谢它现在工作正常。

以上是关于在 R 中调整 svm 参数(线性 SVM 内核)的主要内容,如果未能解决你的问题,请参考以下文章

使用 libsvm 调整 svm

译:支持向量机(SVM)及其参数调整的简单教程(Python和R)

在 R 中设置 SVM 分类的参数

SVM 中的线性和多项式内核中的内核尺度参数是啥?

在 python scikit-learn 中,RBF 内核的性能比 SVM 中的线性差得多

如何为 SVM 线性核类型选择最佳参数