matlab 绘制分类面

来源:互联网 发布:nginx转发不同ip和域名 编辑:程序博客网 时间:2024/05/18 00:32

摘要:matlab 中使用 contour 函数绘制分类面轮廓

在分类问题中,我们经常需要将分类面进行可视化,如下图:

其基本思路是首先生成坐标系中的所有点,然后利用分类器模型对点进行分类,最后利用 contour 函数生成分类面轮廓:
1. 生成全图网点(x,y)

x1plot = linspace(min(X(:,1)), max(X(:,1)), 100)';x2plot = linspace(min(X(:,2)), max(X(:,2)), 100)';[X1, X2] = meshgrid(x1plot, x2plot);

mshgrid
用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的。它也可以是更高维的。这里的大小指的是,size()函数的大小,size()函数返回的是一个向量, 那么size(A) = size(B).

>> a=[1:2]a =     1     2>> b=[3:5]b =     3     4     5>> [A,B]=meshgrid(a,b)A =     1     2     1     2     1     2B =     3     3     4     4     5     5
  1. contour 函数用于绘制轮廓线,使用方法:
contour(X1, X2, vals, [0.5 0.5], 'b');

其中 vals 是X1,X2网点中所有点的 label 值

原创粉丝点击