无法理解 python matplotlib 中二维图的绘制

Not able to understand the plotting of 2-Dimensional graph in python matplotlib

数据对应 3 行,其中第一行是特定学生的考试 1 的分数,第二行是该学生在考试 2 中的分数。第三行对应于 0 或 1,表示他进入特定大学的概率。 这是绘制我无法理解的图表的代码。

# Find Indices of Positive and Negative Examples
pos = y == 1
neg = y == 0

# Plot Examples
pyplot.plot(X[pos, 0], X[pos, 1], 'k*', lw=2, ms=10)
pyplot.plot(X[neg, 0], X[neg, 1], 'ko', mfc='y', ms=8, mec='k', mew=1)

输出是下面给出的图像:

感谢任何帮助解释代码的人。

此代码由两个不同的数据组成,放在一个图中。它们都是用 'matplotlib' 完成的,你可以阅读 documentation here.

第一个图只绘制正例,标记为星号。 X[pos,0] 是 x 轴(第一行,只有正例),X[pos,1] 是 y 轴(第二行,只有正例)。 其余参数:k* 表示样式将是“星号”,lw 表示“线宽”,ms 表示“标记大小”,每个开始有多大。

第二个图是一样的,只是现在是负数的圆圈。前两个论点相同,只是有反例。 ko 表示每个点代表一个圆(因此是 o)。 mfcmecmew用于选择标记的颜色。

让我们通过例子来理解。

这里的Y必须是存储0和1值的矩阵

[0. 0. 0. 1. ]

所以当你写下面的代码时

pos = y == 1
neg = y == 0

发生矩阵比较,所以,

-任何行的值 1 都标记为 True

-凡是将值 0 标记为 False 的行

因此你会得到如下矩阵

pos = [False False False,True]
neg = [ True  True  True False]

因此这行代码

 X[pos, 0]--gives 4th row of first column in the matrix X. Because Row 4 is having true.


 X[neg, 0]-- gives 3 rows values, because first 3 rows values of neg matrix are True