रेडियल रूप से सेपेरेबल डेटा पर Linear SVMs

R में Support Vector Machines

Kailash Awati

Instructor

Linear SVM, cost = 1

  • रेडियल सेपेरेबल डेटासेट को training/test में बाँटें (seed = 10)
# 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)
R में Support Vector Machines

अध्याय 3.2 - रेडियल सेपेरेबल डेटासेट, डिफ़ॉल्ट cost लीनियर kernel, svm.plot से प्लॉट

R में Support Vector Machines

Linear SVM, cost = 100

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)
R में Support Vector Machines

अध्याय 3.2 - रेडियल सेपेरेबल डेटासेट, cost=100 लीनियर kernel, svm.plot से प्लॉट

R में Support Vector Machines

Accuracy का बेहतर अनुमान

  • कई independent train/test splits पर औसत accuracy निकालें।
  • variability समझने के लिए परिणाम का standard deviation जाँचें।
R में Support Vector Machines

डिफ़ॉल्ट cost SVM की औसत accuracy

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
R में Support Vector Machines

Linear SVM कितना अच्छा प्रदर्शन करती है?

  • सिक्का उछालने से बस थोड़ा बेहतर!
  • boundary के ज्ञान से हम और बेहतर कर सकते हैं।
R में Support Vector Machines

अभ्यास करते हैं!

R में Support Vector Machines

Preparing Video For Download...