下午好,伙计们。我正在学习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,无论如何)。
非常感谢:)
答案 0 :(得分: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
:
答案 1 :(得分:0)