Пошаговое разбиение. Во-первых, это
(y_train == 0)
(y_train == 1)
- это операция для генерации логической маски.
Тогда это:
(y_train ==0) | (y_train ==1)
- это операция побитовое ИЛИ . То есть он выводит 1
, если одно или оба значения равны 1
else 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)]