列表切片中的冒号操作符:代码语义及首个冒号含义问询
代码行
mini_batch_X = shuffled_X[:, k * mini_batch_size:(k + 1) * mini_batch_size]解释 语义说明
这是NumPy数组的切片操作,核心作用是从打乱后的数据集shuffled_X里提取第k个小批量的特征数据,赋值给mini_batch_X。具体细节:
shuffled_X是二维数组,通常按「特征数 × 样本数」的维度组织(行对应特征,列对应单个样本)。k代表当前要提取的小批次序号,mini_batch_size是每个小批次包含的样本数量。k * mini_batch_size:(k + 1) * mini_batch_size是列维度的切片范围,选中从第k*mini_batch_size列到第(k+1)*mini_batch_size列的元素(左闭右开区间,实际包含mini_batch_size个样本)。
简单说就是:保留所有特征,只选取指定范围的样本,生成一个新的小批量特征数组。
第一个冒号的含义
在NumPy二维数组的切片语法[行切片, 列切片]中,第一个冒号对应行维度的全量选取,意思是把shuffled_X里的所有行(也就是所有特征)全部保留,不做任何过滤。
内容的提问来源于stack exchange,提问作者Hansel Gavin Dias
相关产品推荐
相关产品推荐

