### R code from vignette source 'svmdoc.Rnw'
###################################################
### code chunk number 1: svmdoc.Rnw:140-149
###################################################
library(e1071)
library(rpart)
data(Glass, package="mlbench")
## split data into a train and test set
index <- 1:nrow(Glass)
testindex <- sample(index, trunc(length(index)/3))
testset <- Glass[testindex,]
trainset <- Glass[-testindex,]
###################################################
### code chunk number 2: svmdoc.Rnw:154-157
###################################################
## svm
svm.model <- svm(Type ~ ., data = trainset, cost = 100, gamma = 1)
svm.pred <- predict(svm.model, testset[,-10])
###################################################
### code chunk number 3: svmdoc.Rnw:162-165
###################################################
## rpart
rpart.model <- rpart(Type ~ ., data = trainset)
rpart.pred <- predict(rpart.model, testset[,-10], type = "class")
###################################################
### code chunk number 4: svmdoc.Rnw:168-173
###################################################
## compute svm confusion matrix
table(pred = svm.pred, true = testset[,10])
## compute rpart confusion matrix
table(pred = rpart.pred, true = testset[,10])
###################################################
### code chunk number 5: svmdoc.Rnw:178-213
###################################################
library(xtable)
rp.acc <- c()
sv.acc <- c()
rp.kap <- c()
sv.kap <- c()
reps <- 10
for (i in 1:reps) {
## split data into a train and test set
index <- 1:nrow(Glass)
testindex <- sample(index, trunc(length(index)/3))
testset <- na.omit(Glass[testindex,])
trainset <- na.omit(Glass[-testindex,])
## svm
svm.model <- svm(Type ~ ., data = trainset, cost = 100, gamma = 1)
svm.pred <- predict(svm.model, testset[,-10])
tab <- classAgreement(table(svm.pred, testset[,10]))
sv.acc[i] <- tab$diag
sv.kap[i] <- tab$kappa
## rpart
rpart.model <- rpart(Type ~ ., data = trainset)
rpart.pred <- predict(rpart.model, testset[,-10], type = "class")
tab <- classAgreement(table(rpart.pred, testset[,10]))
rp.acc[i] <- tab$diag
rp.kap[i] <- tab$kappa
}
x <- rbind(summary(sv.acc), summary(sv.kap), summary(rp.acc), summary(rp.kap))
rownames <- c()
tab <- cbind(rep(c("svm","rpart"),2), round(x,2))
colnames(tab)[1] <- "method"
rownames(tab) <- c("Accuracy","","Kappa"," ")
xtable(tab, label = "tab:class", caption = "Performance of \\texttt{svm()} and\
\\texttt{rpart()} for classification (10 replications)")
###################################################
### code chunk number 6: svmdoc.Rnw:226-245
###################################################
library(e1071)
library(rpart)
data(Ozone, package="mlbench")
## split data into a train and test set
index <- 1:nrow(Ozone)
testindex <- sample(index, trunc(length(index)/3))
testset <- na.omit(Ozone[testindex,-3])
trainset <- na.omit(Ozone[-testindex,-3])
## svm
svm.model <- svm(V4 ~ ., data = trainset, cost = 1000, gamma = 0.0001)
svm.pred <- predict(svm.model, testset[,-3])
crossprod(svm.pred - testset[,3]) / length(testindex)
## rpart
rpart.model <- rpart(V4 ~ ., data = trainset)
rpart.pred <- predict(rpart.model, testset[,-3])
crossprod(rpart.pred - testset[,3]) / length(testindex)
###################################################
### code chunk number 7: svmdoc.Rnw:248-271
###################################################
rp.res <- c()
sv.res <- c()
reps <- 10
for (i in 1:reps) {
## split data into a train and test set
index <- 1:nrow(Ozone)
testindex <- sample(index, trunc(length(index)/3))
testset <- na.omit(Ozone[testindex,-3])
trainset <- na.omit(Ozone[-testindex,-3])
## svm
svm.model <- svm(V4 ~ ., data = trainset, cost = 1000, gamma = 0.0001)
svm.pred <- predict(svm.model, testset[,-3])
sv.res[i] <- crossprod(svm.pred - testset[,3]) / length(testindex)
## rpart
rpart.model <- rpart(V4 ~ ., data = trainset)
rpart.pred <- predict(rpart.model, testset[,-3])
rp.res[i] <- crossprod(rpart.pred - testset[,3]) / length(testindex)
}
xtable(rbind(svm = summary(sv.res), rpart = summary(rp.res)),
label = "tab:reg", caption = "Performance of \\texttt{svm()} and\
\\texttt{rpart()} for regression (Mean Squared Error, 10 replications)")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.