这是我的问题:
我有一个有关液压系统状况的中等大小的数据集。
数据集由68个变量加上系统状态(绿色,黄色,红色)表示
我必须使用几个分类器来预测系统的行为,因此我将数据集分为训练集和测试集,并对它们进行了归一化。
特别是我正在使用Radial Svm。
我知道生成非线性决策边界的想法是,我们需要对要素进行一些非线性变换,以将其转换为更高维度的空间。我们使用内核技巧进行了这种非线性变换。
我写道:
reg_Control = trainControl("repeatedcv", number = 5, repeats=5, verboseIter = T, classProbs =T)
svmRGrid=expand.grid(sigma=seq(0.00003,0.00009,0.00003),C=seq(0.03,0.06,0.03))
svmRadial = train(Condition ~.,data=training_norm, method="svmRadial", trControl=reg_Control,tuneGrid=svmRGrid)
我的问题是..
如何对特征进行非线性变换以将其变换为更高维的空间?
我写的够吗?
(方法SvmRadial本身是否进行非线性变换?)
我必须与其他分类器进行比较,因此我正在尝试使用RadialSvm为sigma和C设置不同的值,并面对结果,因此选择性能最佳的那些是吗?
逐步回答一些代码会很有帮助!
谢谢
答案 0 :(得分:0)
对此简单回答。是!当您用插入符号包指定径向核时,它将为您转换数据为更高维度的子空间。
在statexchange上查看此线程:https://stats.stackexchange.com/questions/10551/how-do-i-choose-what-svm-kernels-to-use