大家下午好。我正在学习SVM,并尝试在openclassroom.stanford.edu完成一项练习。
我的问题是:Octave / Matlab代码如何绘制如下
如果我有一组2D特征点
{(x_11,x_12),(x_21,x_22),...,(x_i1,x_i2)},
并且相应的标签集是
{1, -1, ..., -1 },
如图所示,以2D方式绘制这些数据的代码是什么?
我想使(x_i1,x_i2)对应于1(或-1,无论如何)。
非常感谢你 :)
假设你有一个x坐标X
和y坐标Y
的向量,以及1和-1的指标向量k
,你可以做
plot(X(k>0),Y(k>0),'b',X(k<0),Y(k<0),'g')
它使用逻辑索引分别用k=1
和k=-1
挑选元素,或使用scatter
并使用k
向量为点着色。我将colormap
设置为蓝色(k=-1
)和绿色(k=1
)点。
colormap([0 0 1;0 1 0])
scatter(X,Y,[],k,'filled')
使用plot
:(公平地说,您可以将标记更改为填充点)
和scatter
: