I trained a SVM classifcation model using "fitcsvm" function and tested with the test data set. Now I want to use this model to predict the classes of new (previously unseen) data. What should be done to predict new data ?
Following is the code I used.
load FeatureLabelsNum.csv load FeatureOne.csv X = FeatureOne(1:42,:); y = FeatureLabelsNum(1:42,:); %dividing the dataset into training and testing
rand_num = randperm(42); %training Set
X_train = X(rand_num(1:34),:); y_train = y(rand_num(1:34),:); %testing Set
X_test = X(rand_num(34:end),:); y_test = y(rand_num(34:end),:); %preparing validation set out of training set
c = cvpartition(y_train,'k',5); SVMModel = fitcsvm(X_train,y_train,'Standardize',true,'KernelFunction','RBF',...'KernelScale','auto','OutlierFraction',0.05); CVSVMModel = crossval(SVMModel); classLoss = kfoldLoss(CVSVMModel) classOrder = SVMModel.ClassNames sv = SVMModel.SupportVectors; figure gscatter(X_train(:,1),X_train(:,2),y_train) hold on plot(sv(:,1),sv(:,2),'ko','MarkerSize',10) legend('Resampled','Non','Support Vector') hold off
Best Answer