我正在阅读《用Python构建机器学习系统》这本书。在对鸢尾花数据进行分类时,我对以下语法感到困惑:
plt.scatter(features[target == t,0], features[target == t,1], marker=marker, c=c)
具体来说,features[target == t,0]
到底是什么意思?
回答:
查看这个代码,似乎features
和target
都是数组,而t
是一个数字。此外,features
和target
的行数相同。
在这种情况下,features[target == t, 0]
执行以下操作:
-
target == t
创建一个与target
形状相同的布尔数组(如果值为t
则为True
,否则为False
)。 -
features[target == t, 0]
从features
中选择那些在target == t
数组中对应True
的行。0
指定应选择features
的第一列。
换句话说,这段代码选择target
等于t
的features
的行,并从这些行中,0
选择第一列。