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

无法理解python matplotlib中二维图形的绘制,matplotlib,machine-learning,logistic-regression,Matplotlib,Machine Learning,Logistic Regression,数据对应于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]

数据对应于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”完成的

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


第二个情节是相同的,只是现在的圆圈是负的。前两个参数是相同的,只是有否定的例子
ko
表示将每个点表示为一个圆(因此为o)
mfc
mec
mew
用于选择标记的颜色。

让我们通过示例来理解

这里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

问题是什么?我无法理解绘制二维图形的代码。有我可以通读的文档吗?所以pos和neg是索引为y==1或y==0的向量吗?是的<例如,code>pos仅对
y==1
的索引返回true,因此它会为您过滤它们