用倍频程语法绘图

Duk*_*s17 3 machine-learning octave

pos = find(y==1);
neg = find(y==0);

plot(X(pos, 1), X(pos, 2), "k+", "LineWidth", 2, 'MarkerSize', 7);
plot(X(neg, 1), X(neg, 2), "ko", "MarkerFaceColor", 'y', 'MarkerSize', 7);
Run Code Online (Sandbox Code Playgroud)

我知道find函数为我们提供了y == 1和y == 0的数据索引。但是我不确定在下面的函数中X(pos,1)和X(pos,2)会做什么。有人可以解释该绘图功能如何工作吗?

And*_*ndy 5

posneg是具有满足条件y==1(分别为y == 0)的索引的向量。y似乎是一个长度为n的向量,X似乎是一个nx2矩阵。是满足条件X(pos,1)Xat行的第一列的所有元素y==1

y = [ 2 3 1 4 0 1 2 6 0 4]
X = [55 19;54 96;19 85;74 81;94 34;82 80;79 92;57 36;70 81;69 4]
X(find(y==1), 1)
Run Code Online (Sandbox Code Playgroud)

这使

ans =
   19
   82
Run Code Online (Sandbox Code Playgroud)

请注意,这里不需要查找,

X(y==1, 1)
Run Code Online (Sandbox Code Playgroud)

就足够了