python-3.x X[y== 0,1]操作在代码中做什么?

t3psigkw  于 2023-02-01  发布在  Python
关注(0)|答案(2)|浏览(130)

在此代码中:

from sklearn.datasets import make_moons
import matplotlib.pyplot as plt

X, 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究竟做了什么?

ccrfmcuu

ccrfmcuu1#

在本例中,变量Xy都是numpy.ndarray类型。
观察变量,我们可以看到变量X的形状为(100,2),这意味着X有100行和2列,类似地,y的形状为(100,),因此它只是一个一维向量,恰好只包含0和1。
因此,X[y==0,0]查找y值为0(y == 0)且位于X的第一列中的X的所有行

6qqygrtg

6qqygrtg2#

(X[y== 0,0],X[y== 0,1])解释:
X[y== 0,0]
'y== 0',这将设置一个条件,即只要y为0,即只取y为0的那些示例
“,0”,这是列表中索引0处X的元素或X[0]
X[y== 0,0],整个表达式是x坐标,它说,'只有在那些y为0的列表中(忽略其余列表),才取X[0]作为x坐标。
X[y== 0,1],整个表达式是y坐标,它说,'只有在那些y为0的列表中(忽略其余列表),才取X[1]作为y坐标。
(X[y== 0,0],X[y== 0,1]),整个表达式是散点图中某个点的x和y坐标

相关问题