matlab编出来的实际案例的svm的代码
时间: 2024-02-02 15:05:34 浏览: 25
以下是一个使用SVM进行二分类的MATLAB示例代码:
```matlab
% 加载数据集
load fisheriris
X = meas(:,3:4); % 取第3和第4列作为特征
Y = (species == 'versicolor'); % 将'species'列中的'versicolor'标签转换为1,其余标签转换为0
% 划分训练集和测试集
rng(1); % 设置随机数种子,保证每次运行结果相同
cv = cvpartition(Y,'HoldOut',0.3); % 划分为70%的训练集和30%的测试集
Xtrain = X(cv.training,:);
Ytrain = Y(cv.training);
Xtest = X(cv.test,:);
Ytest = Y(cv.test);
% 训练SVM模型
svmModel = fitcsvm(Xtrain,Ytrain);
% 预测测试集并计算准确率
Ypred = predict(svmModel,Xtest);
accuracy = sum(Ypred == Ytest)/numel(Ytest);
disp(['Accuracy: ', num2str(accuracy*100),'%']);
```
以上代码将使用Fisher's iris数据集中的第3和第4列作为特征,并将`versicolor`标签转换为1,其余标签转换为0。使用`cvpartition`函数将数据集划分为训练集和测试集,然后使用`fitcsvm`函数训练SVM模型。最后,使用`predict`函数预测测试集并计算准确率。