matlab支持向量机分类
时间: 2023-09-19 14:07:40 浏览: 180
是的,Matlab支持向量机(Support Vector Machine,SVM)分类是一种常用的机器学习算法。在Matlab中,你可以使用Statistics and Machine Learning Toolbox来实现SVM分类。
下面是一个简单的示例代码,演示如何在Matlab中使用SVM进行分类:
```matlab
% 准备数据
load fisheriris
X = meas(:,3:4);
Y = species;
% 训练SVM模型
svmModel = fitcsvm(X, Y);
% 预测新样本
newX = [5.7, 2.9; 6.6, 3.2];
predictedY = predict(svmModel, newX);
% 可视化分类结果
gscatter(X(:,1), X(:,2), Y)
hold on
scatter(newX(:,1), newX(:,2), 'ko', 'MarkerSize', 10)
gscatter(svmModel.SupportVectors(:,1), svmModel.SupportVectors(:,2), svmModel.SupportVectorLabels, 'k', 'x')
hold off
```
这段代码首先加载了鸢尾花数据集,选择了其中的两个特征作为输入特征(X),并将鸢尾花的类别标签作为目标变量(Y)。然后使用`fitcsvm`函数来训练SVM模型。接下来,我们可以使用训练好的模型对新样本进行预测,使用`predict`函数给出预测结果。最后,使用可视化函数`gscatter`和`scatter`将训练样本、支持向量和新样本在二维空间中进行可视化展示。
当然,这只是一个简单的示例。在实际应用中,你可能需要对数据进行预处理、调整SVM模型的超参数等。你可以参考Matlab的官方文档或者其他教程深入学习SVM分类的更多知识。
阅读全文