SVM分类算法matlab
时间: 2023-09-03 11:12:10 浏览: 83
SVM(支持向量机)是一种常用的分类算法,Matlab提供了强大的支持向量机工具包,可以方便地实现SVM分类算法。以下是一个简单的示例代码,演示如何在Matlab中使用SVM分类算法:
```matlab
% 准备训练数据
data = [randn(50,2)+1; randn(50,2)-1];
labels = [ones(50,1); -ones(50,1)];
% 训练SVM分类器
svmModel = fitcsvm(data, labels);
% 准备测试数据
testdata = [randn(10,2)+1; randn(10,2)-1];
% 预测测试数据的类别
predictions = predict(svmModel, testdata);
% 显示结果
figure;
gscatter([data(:,1); testdata(:,1)], [data(:,2); testdata(:,2)], [labels; predictions]);
hold on;
svmLine = plot(svmModel);
title('SVM分类结果');
legend('类别1', '类别-1', '测试数据', 'SVM边界');
hold off;
```
这段代码首先生成了一些二维的训练数据和对应的标签。然后使用`fitcsvm`函数训练了一个SVM分类器。最后使用`predict`函数对测试数据进行分类预测,并将结果可视化。
请注意,这只是一个简单的示例,实际应用中可能需要调整SVM的参数以达到更好的分类效果。你可以通过Matlab文档详细了解`fitcsvm`和`predict`函数的更多用法和参数设置。