我绝对是R-Studio的新手,并且想使用svm()
软件包中的e1071。我通过了David Meyer的paper。
我无法运行classAgreement()
。使用classAgreement()
之前需要做什么?非常感谢!
library(e1071)
data(Glass, package="mlbench")
index <- 1:nrow(Glass)
testindex <- sample(index, trunc(length(index)/3))
testset <- Glass[testindex,]
trainset <- Glass[-testindex,]
svm.model <- svm(Type ~ ., data = trainset, cost = 100, gamma = 1)
svm.pred <- predict(svm.model, testset[,-10])
table(pred = svm.pred, true = testset[,10])
classAgreement(table)
运行代码classAgreement(table)
会引发以下错误:
Error in sum(tab) : invalid 'type' (closure) of argument
这是由于table
这里是一个函数,因为您没有编写称为table
的对象,我认为您打算在上一行中执行此操作。因此,您可以执行以下任一操作:
svm.tab <- table(pred = svm.pred, true = testset[,10])
classAgreement(svm.tab)
或一口气
classAgreement(table(pred = svm.pred, true = testset[,10]))