Python中的矢量标签

问题描述 投票:1回答:1

我正在学习一本机器学习书,并且在代码的一部分中显示:

X_train_01_subset= X_train [(y_train ==0) | (y_train ==1)]
y_train_01_subset= y_train [(y_train ==0) | (y_train ==1)]

[X_train是带有训练样本的104x2向量,而y_train是104x1向量并且包含样本标签:0,1和2。

做什么

[(y_train ==0) | (y_train ==1)]

X_trainy_train中做什么? (算法有点扩展,如果您需要放置所有代码,请告诉我)

python numpy vector scikit-learn bitwise-operators
1个回答
1
投票

分步打破。首先,这个

(y_train == 0)
(y_train == 1)

是生成布尔掩码的操作。

然后,这个:

(y_train ==0) | (y_train ==1)

按位或操作。也就是说,如果两个值中的一个或两个均为1,则输出1。否则为0

这里是一个例子:

# inputs
In [22]: a = np.array([1, 1, 0, 0]) 
In [23]: b = np.array([1, 0, 1, 0]) 

# bitwise or
In [24]: a | b 
Out[24]: array([1, 1, 1, 0])

最后,我们将以上结果用作索引,以从X_train中检索样本:

X_train [(y_train ==0) | (y_train ==1)]
© www.soinside.com 2019 - 2024. All rights reserved.