You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab中基于多项式核函数SVM绘制鸢尾花数据集多分类决策边界

问题:Matlab中多分类多项式核SVM的决策边界绘制

我正在Matlab中为鸢尾花(fisheriris)数据集绘制决策边界,以下是我正在编写的代码:

load fisheriris;
X = meas(:,1:2);
y = species;

% PLOT
figure;
plot(X(strcmp(y,"setosa"),1),X(strcmp(y,"setosa"),2),'.','DisplayName','setosa'); hold on
plot(X(strcmp(y,"versicolor"),1),X(strcmp(y,"versicolor"),2),'.','DisplayName','versicolor');
plot(X(strcmp(y,"virginica"),1),X(strcmp(y,"virginica"),2),'.','DisplayName','virginica'); hold off
legend("setosa","versicolor","virginica")

% SVM
t = templateSVM("KernelFunction","polynomial", "BoxConstraint",1,"KernelScale","auto","PolynomialOrder",2,"Standardize",1);
SVMModel = fitcecoc(X,y,"Learners", t);

% DECISION BOUNDARY
%%% Draw decision boundary here

上述代码中,我使用的SVMModel是多分类SVM(包含setosa、versicolor、virginica三类),训练数据采用数据集的前两列特征。我期望能够绘制2到3条曲线,展示SVM模型中各类鸢尾花的决策边界。我查阅了一些相关资料,但均无法解决我的问题,因为这些资料要么针对二分类SVM,要么针对线性SVM,而我使用的是多项式核函数:

  • 第一个网站:针对二分类场景,而我是三分类;
  • 第二个网站:针对线性SVM,而我使用的是多项式核函数;
  • 第三个网站:其ecoc模型具备Beta属性,但我的模型没有该属性。

请问如何在该场景下绘制决策边界?


解决方案

你可以通过生成网格点并预测每个点的类别,再利用contour函数绘制类别间的决策边界。将以下代码替换原代码中%%% Draw decision boundary here的部分:

% 生成覆盖数据范围的网格点
x1_min = min(X(:,1)) - 0.5;
x1_max = max(X(:,1)) + 0.5;
x2_min = min(X(:,2)) - 0.5;
x2_max = max(X(:,2)) + 0.5;
[X1, X2] = meshgrid(linspace(x1_min, x1_max, 200), linspace(x2_min, x2_max, 200));
X_grid = [X1(:), X2(:)];

% 预测网格点的类别
y_pred = predict(SVMModel, X_grid);
% 将类别转换为数值标签便于绘图
y_num = grp2idx(y_pred);
Y_grid = reshape(y_num, size(X1));

% 重新开启绘图保持,叠加边界
hold on
% 绘制决策边界:不同类别之间的分界线
contour(X1, X2, Y_grid, [0.5 1.5 2.5], 'LineWidth', 1.5, 'Color', 'k');
hold off

% 补充图像标注
xlabel('Sepal Length');
ylabel('Sepal Width');
title('Polynomial Kernel SVM Decision Boundaries (Iris Dataset)');

代码说明

  1. 网格点生成:用meshgrid生成覆盖特征数据范围的密集网格点,确保边界绘制完整且平滑;
  2. 类别预测:用训练好的SVMModel预测每个网格点的类别,通过grp2idx将字符串类别转换为可绘图的数值标签;
  3. 边界绘制:contour函数通过识别数值标签的分界点(0.5、1.5、2.5),精准绘制出不同类别之间的决策边界,这些边界完全匹配多项式核SVM的分类逻辑。

内容的提问来源于stack exchange,提问作者minh chanh le

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:05:08