Support Vector Machines in R
Kailash Awati
Instructor
# Build default cost linear SVM on training set
svm_model <- svm(y ~ ., data = trainset, type = "C-classification", kernel = "linear", cost = 1) svm_model
Number of Support Vectors: 126
# Calculate accuracy on test set
pred_test <- predict(svm_model, testset) mean(pred_test == testset$y)
0.6129032
plot(svm_model, trainset)
svm_model <- svm(y ~ ., data = trainset, type = "C-classification", kernel = "linear", cost = 100)
svm_model
Number of Support Vectors: 136
# Accuracy
pred_test <- predict(svm_model, testset)
mean(pred_test == testset$y)
0.6129032
plot(svm_model, trainset)
accuracy <- rep(NA, 100)
set.seed(10)
for (i in 1:100) {
sample_size <- floor(0.8 * nrow(df))
train <- sample(seq_len(nrow(df)), size = sample_size)
trainset <- df[train, ]
testset <- df[-train, ]
svm_model<- svm(y ~ ., data = trainset, type = "C-classification", cost = 1, kernel = "linear")
pred_test <- predict(svm_model, testset)
accuracy[i] <- mean(pred_test == testset$y)}
mean(accuracy)
sd(accuracy)
0.544
0.04273184
Support Vector Machines in R