Description
Task Description In this problem you are asked to write a program that construct support vector machine models with different kernel functions and slack variable. An svm.ipynb file is provided, where you have to implement the missing functions.
Datasets You are provided the training and testing datatset (see train.txt and test.txt), including 120 training data and 30 testing data, respectively. It covers 3 classes, corresponding to setosa, versicolor, virginica. They are derived from the Iris dataset (https://archive.ics.uci.edu/ml/datasets/ iris), contains 3 classes of 50 instances each, where each class refers to a type of iris plant. Your task is to classify each iris plant as one of the three possible types.
What you should do
-
Implement standard SVM model. Fit your algorithm on the training dataset, then validate your algorithm on testing dataset. Compute the misclassification error of training and testing datasets.
-
Implement SVM with slack variables. For each C ∈ [0, 1] with the step 0.1, fit your algorithm on the training dataset, then validate your algorithm on testing dataset. Compute the misclassification error of training and testing datasets. Save the results in a table, depending on the constant C.
-
Implement SVM with kernel functions. As a kernel function, you are supposed to choose: (a) a 2nd-order and a 3rd-order polynomial kernel
(b) Radial Basis Function (RBF) kernel with two different kernel sizes.
1