首页 > 解决方案 > X[y==0,1] 操作在代码中做了什么?

问题描述

在这段代码中:

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什么?

标签: pythonpython-3.xmachine-learningscikit-learn

解决方案


在这种情况下,变量Xy都是 numpy.ndarray 类型。

查看变量,我们可以看到变量X的形状为 (100, 2)。这意味着X有 100 行和 2 列。类似地,y具有形状 (100,),因此只是一个一维向量。它恰好只包含 0 和 1。

从而X[y==0,0]找到 X 的所有y值为 0 ( y == 0) 的行,并且位于 X 的第一列X


推荐阅读