How to Plot Decision Boundary for SVM
22 次查看(过去 30 天)
显示 更早的评论
Hi,
after i make my model using 'fitcsvm' and predict the test data, id like to know the boundary and plot it
i cant find anything inside the model variable (1x1 ClassificationSVM) but i cant find anything thats like points so i can plot the line
heres the code i use if needed:
model=fitcsvm(trainD',trainL','Standardize',1);
trainD is 2x200 (100 for each class and 2 features)
ALSO
for some reason i dont understand, using linear svm gives me 100% accuracy while non lienar gives me about 75% (test data is too little 12 sample each)
回答(1 个)
Meet
2024-11-12,9:16
编辑:Meet
2024-11-12,9:16
Hi Kamyar,
To plot a decision boundary using an SVM model, you can follow these steps:
- Obtain the linear coefficients (Beta) and the bias (Bias) from the SVM model using 'model.Beta' and 'model.Bias'.
- Use the equation from the "fitcsvm" documentation to plot the decision boundary.
- Determine the margin width and plot lines parallel to the decision boundary to visualize the margins.
- Display the data points, support vectors, decision boundary, and margins on a plot.
Regarding model accuracy, the difference between linear and non-linear SVM models arises because linear SVMs perform well on linearly separable data. In contrast, non-linear models can capture more complex patterns but might overfit, especially with small datasets.
Please refer to the below documentation link for an example to fit decision boundary of SVM:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!