svm支持向量机matlab代码 二分类
时间: 2023-07-05 10:25:35 浏览: 135
svm.rar_kernel matlab_svm 分类_核函数_核函数 支持向量机
以下是一个简单的支持向量机二分类的Matlab代码示例:
```
% 生成数据
x1 = randn(50,2)+ones(50,2);
x2 = randn(50,2)-ones(50,2);
X = [x1;x2];
Y = [ones(50,1);-ones(50,1)];
% 训练SVM模型
svmModel = fitcsvm(X,Y,'KernelFunction','linear','BoxConstraint',1);
% 绘制决策边界和支持向量
figure;
gscatter(X(:,1),X(:,2),Y,'rb','.');
hold on;
h = ezplot(@(x1,x2)predict(svmModel,[x1,x2]),[-3,3,-3,3]);
h.Color = 'k';
h.LineWidth = 2;
title('SVM二分类');
legend('正样本','负样本','决策边界','支持向量');
hold off;
```
代码中使用了`fitcsvm`函数来训练SVM模型,其中`KernelFunction`指定了核函数为线性核,`BoxConstraint`指定了正则化参数的值为1。
在绘制决策边界和支持向量时,使用了`ezplot`函数来绘制二维平面上的曲线。
阅读全文