Svm支持向量机Matlab 代码
时间: 2023-08-31 15:12:34 浏览: 102
以下是一个简单的SVM二分类器的Matlab代码示例:
```matlab
% 准备数据
load fisheriris
X = meas(:,1:2);
Y = species;
Y = categorical(Y);
rng(1); % 设置随机数种子
% 划分训练集和测试集
cv = cvpartition(Y,'HoldOut',0.2);
idx = cv.test;
Xtrain = X(~idx,:);
Ytrain = Y(~idx);
Xtest = X(idx,:);
Ytest = Y(idx);
% 训练SVM分类器
SVMModel = fitcsvm(Xtrain,Ytrain);
% 预测测试集
Ypred = predict(SVMModel,Xtest);
% 计算分类准确率
Accuracy = sum(Ypred == Ytest)/numel(Ytest)
```
这个示例使用鸢尾花数据集,其中包含150个样本,每个样本有4个特征和一个类别标签。我们只使用前两个特征,并将类别标签转换为分类变量。然后,使用“HoldOut”方法将数据集分为训练集和测试集。使用`fitcsvm`函数训练SVM分类器,并使用`predict`函数预测测试集。最后,计算分类准确率。
阅读全文