matlab的支持向量机代码
时间: 2024-11-29 17:14:41 浏览: 7
在MATLAB中,你可以使用内置的`fitcsvm`函数来创建和支持向量机(SVM)模型。以下是一个简单的支持向量机分类的基本代码示例,假设我们有一个训练数据集`Xtrain`和对应的标签`Ytrain`:
```matlab
% 加载并准备数据
load fisheriris; % 使用自带的数据集,替换为你实际的数据
X = meas; % 特征矩阵
Y = species; % 类别标签
% 划分数据集(这里简单粗暴地分为训练集和测试集)
cv = cvpartition(Y, 'HoldOut', 0.3); % 30%作为测试集
idxTrain = training(cv);
XTrain = X(idxTrain,:);
YTrain = Y(idxTrain);
% 创建SVM模型
svmModel = fitcsvm(XTrain, YTrain, 'KernelFunction', 'linear'); % 线性核,也可以选择'radial'等
% 预测测试集
XTest = X(~idxTrain,:);
YPred = predict(svmModel, XTest);
% 查看性能指标
confMat = confusionmat(Y(~idxTrain), YPred);
accuracy = sum(diag(confMat)) / sum(confMat(:));
```
在这个例子中,`fitcsvm`函数设置了线性内核('linear'),你可以通过改变`KernelFunction`参数来尝试其他内核,如径向基函数('radial')。最后,我们通过预测新数据并计算混淆矩阵来评估模型的性能。
阅读全文