R中的SVM函数

Posted

技术标签:

【中文标题】R中的SVM函数【英文标题】:SVM function in R 【发布时间】:2012-03-13 00:04:03 【问题描述】:

我正在使用 R 来解决分类问题。 R 中的 svm 函数是否仅支持二元分类或也支持多类分类?

【问题讨论】:

因为那里的人也可能能提供帮助 【参考方案1】:

e1071 R 包支持使用“一对一方法”进行多类分类。

以下是此包中的分类:

v-分类:该模型允许通过指定一个近似支持向量分数的附加参数来更好地控制支持向量的数量(参见 Scholkopf 等人,2000);

李>

一类分类:此模型试图找到分布的支持,从而允许异常值/新奇检测;

多类分类:基本上,SVM 只能解决二元分类问题。为了允许多类分类,libsvm 使用一对一技术,通过拟合所有二进制子类并通过投票机制找到正确的类;

e-regression:在这里,数据点位于边缘的两个边界之间,在适当的条件下最大化以避免包含异常值;

查看https://cran.r-project.org/web/packages/e1071/vignettes/svmdoc.pdf

【讨论】:

【参考方案2】:

svm(在包 e1071 中)支持使用“一对一”方法的多类分类。与 ksvm 相​​同(在 kernlab 中)。

【讨论】:

您的意思是每个类都使用二进制分类。意味着我可以使用它将我的数据分为 3 类 是的,只要它在您的因变量中检测到超过 2 个类,它就会自动应用“一对一”方法 我基本上是在尝试基于训练有素的神经网络来预测买入-卖出-持有信号。我使用径向基函数,我的 C 在 1-100 之间变化,伽马在 0.00001 - 1 之间变化,但问题是经过训练的神经网络不能准确预测测试数据集。你能帮我解决这个问题的可能原因吗? @user395882 您的后续问题超出了您最初问题的范围,我们试图将自己限制为每个帖子一个问题。除非它是专门关于代码的,否则这里也将是题外话。您可以尝试 stats.stackexchange.com 或 quant.stackexchange.com。 将伽马上限设置为 5000 并将下限增加到 0.005。

以上是关于R中的SVM函数的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用e1071包中的svm函数构建支持向量机SVM模型使用tune.svm函数基于网格搜索(10折交叉验证)对RBF核函数的gamma参数和cost参数进行参数寻优使用最优参数构建最终模型

R语言使用e1071包中的svm函数构建支持向量机SVM模型使用tune.svm函数基于网格搜索(10折交叉验证)对RBF核函数的gamma参数和cost参数进行参数寻优使用最优参数构建最终模型

R语言使用kernlab包中的ksvm函数构建支持向量机SVM模型(Support vector machines)使用RBF核函数使用table函数计算混淆矩阵评估分类模型性能

R:调整 SVM 参数 - e1071 包中的 class.weights

SVM 分类 - R 中的归一化

R语言e1071包中的支持向量机:螺旋线型线性不可分数据集RBF核函数支持向量机SVM(验证模型在测试集上的表现可视化模型预测的结果添加超平面区域与原始数据标签进行对比分析)