使用 R 的 SVM 分类 - 可变长度差异误差

sha*_*oss 3 r data-mining svm

我目前正在 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))
Run Code Online (Sandbox Code Playgroud)

错误。

 Error in model.frame.default(formula, data) : 
 variable lengths differ (found for 'weight')
Run Code Online (Sandbox Code Playgroud)

我尝试在谷歌上搜索错误,但我可以找到正确的修复方法或为什么会产生此错误。

请让我们知道出了什么问题。

And*_*rie 5

您的公式应仅包含列,不包含数据框(和$运算符)。尝试这个:

library(MASS)
library(e1071)
tune.svm(Diet~., data = ChickWeight[-3] , gamma = 10^(-6:-1) , cost=10^(-1:1))
Run Code Online (Sandbox Code Playgroud)

结果:

'svm'的参数调整:

- sampling method: 10-fold cross validation 

- best parameters:
 gamma cost
   0.1   10

- best performance: 0.5641561 
Run Code Online (Sandbox Code Playgroud)