在这个代码中:
from sklearn.datasets import make_moonsimport matplotlib.pyplot as pltX, y = make_moons(n_samples=100, random_state=123)plt.scatter(X[y==0,0], X[y==0,1], color='red', marker='^', alpha=0.5)plt.scatter(X[y==1,0], X[y==1,1], color='blue', marker='o', alpha=0.5)plt.show()
操作 X[y==0,0]
对数据集 X
具体做了什么?
回答:
在这种情况下,变量 X
和 y
都是 numpy.ndarray 类型。
通过查看变量我们可以看到,变量 X
的形状为 (100, 2)。这意味着 X
有 100 行和 2 列。同样,y
的形状为 (100,),因此它只是一个一维向量,恰好包含 0 和 1。
因此,X[y==0,0]
会找出 X
中所有 y
值为 0 (y == 0
) 的行,并且这些行位于 X
的第一列。