Python 中的颜色、标签
Colors, label in Python
X
是一个 100x2 向量,包含 2 种花的萼片和花瓣长度数据。 y
是一个 100x1 向量,其中包含我的数据的标签值:-1 和 1。我创建了一个 meshgrid,然后我使用 countourf
方法绘制了我的 meshgrid,现在我用这个将数据加载到 meshgrid 中代码:
for idx, cl in enumerate (np.unique(y)):
plt.scatter (x=X[y == cl, 0], y= X[y == cl, 1], alpha=0.8, c=colors[idx], marker= markers [idx], label = cl, edgecolor = 'black')
alpha, colors, marker, edgecolor
只是次要的东西。还有 np.unique(y) = [-1 1]
.
我的问题是,为什么 [y==cl,0]
是假的而 [y==,1]
是真的?以及,如何使用 ==
对我的数据进行分类?
在 for 循环中,cl
遍历 y
的两个 unique 值,即 [-1, 1]
。因此,在第一个循环迭代中,cl=-1
和 y == cl
returns y 值为 -1 的行。因此,[y == cl, 0]
returns y 为 -1 且数据为萼片长度的第一列(索引 0)的位置。类似地,[y == cl, 1]
returns y 为 -1 且数据为第二列(索引 1)即花瓣长度的位置。
当 cl
为 1 时,同样适用于循环的第二次迭代。
X
是一个 100x2 向量,包含 2 种花的萼片和花瓣长度数据。 y
是一个 100x1 向量,其中包含我的数据的标签值:-1 和 1。我创建了一个 meshgrid,然后我使用 countourf
方法绘制了我的 meshgrid,现在我用这个将数据加载到 meshgrid 中代码:
for idx, cl in enumerate (np.unique(y)):
plt.scatter (x=X[y == cl, 0], y= X[y == cl, 1], alpha=0.8, c=colors[idx], marker= markers [idx], label = cl, edgecolor = 'black')
alpha, colors, marker, edgecolor
只是次要的东西。还有 np.unique(y) = [-1 1]
.
我的问题是,为什么 [y==cl,0]
是假的而 [y==,1]
是真的?以及,如何使用 ==
对我的数据进行分类?
在 for 循环中,cl
遍历 y
的两个 unique 值,即 [-1, 1]
。因此,在第一个循环迭代中,cl=-1
和 y == cl
returns y 值为 -1 的行。因此,[y == cl, 0]
returns y 为 -1 且数据为萼片长度的第一列(索引 0)的位置。类似地,[y == cl, 1]
returns y 为 -1 且数据为第二列(索引 1)即花瓣长度的位置。
当 cl
为 1 时,同样适用于循环的第二次迭代。