我目前在 R 中可用的包的帮助下处理 SVM 分类问题。
本网站中给出的示例代码工作正常。 http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Classification/SVM
但是当用不同的数据集尝试同一个程序时,我得到了可变长度不同的错误。这是我的代码。
library(MASS)
library(e1071)
data <- ChickWeight
data <- data[-3] # removing unwanted column
tune.svm(data$Diet~., data = data , gamma = 10^(-6:-1) , cost=10^(-1:1))
错误。
Error in model.frame.default(formula, data) :
variable lengths differ (found for 'weight')
我尝试用谷歌搜索错误,但我可以找到正确的修复方法或为什么会产生此错误。
请告诉我出了什么问题。
最佳答案
您的公式应仅包含列,不包含数据框(和 $
运算符)。试试这个:
library(MASS)
library(e1071)
tune.svm(Diet~., data = ChickWeight[-3] , gamma = 10^(-6:-1) , cost=10^(-1:1))
结果:
‘svm’的参数调整:
- sampling method: 10-fold cross validation
- best parameters:
gamma cost
0.1 10
- best performance: 0.5641561
关于r - 使用 R 的 SVM 分类 - 可变长度差异误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398517/