# Subsample the data for more efficient code execution in this exercise num_training = 5000 mask = list(range(num_training)) X_train = X_train[mask] y_train = y_train[mask] num_test = 500 mask = list(range(num_test)) X_test = X_test[mask] y_test = y_test[mask] # Reshape the image data into rows X_train = np.reshape(X_train, (X_train.shape[0], -1)) X_test = np.reshape(X_test, (X_test.shape[0], -1)) print(X_train.shape, X_test.shape)
时间: 2023-08-18 15:01:05 浏览: 107
settings.zip_xgb 网格搜索_xgboost_xgboost格搜索_xgboost网格搜索_网格搜索
在这段代码中,我们对训练数据集和测试数据集进行了子采样,以提高代码执行效率。
首先,我们定义了变量 `num_training` 和 `num_test`,分别表示要从训练数据集和测试数据集中选择的样本数量。
然后,我们使用 `list(range(num_training))` 创建一个包含从 0 到 `num_training-1` 的列表,并将其赋值给变量 `mask`。这个列表将用于对训练数据集进行子采样。
接下来,我们使用 `mask` 列表对训练数据集进行索引操作,将子采样后的结果赋值给变量 `X_train` 和 `y_train`。这样就得到了包含 `num_training` 个样本的训练数据集。
同样的步骤也适用于测试数据集。我们创建了一个包含从 0 到 `num_test-1` 的列表,并将其赋值给变量 `mask`。然后,使用 `mask` 对测试数据集进行索引操作,得到包含 `num_test` 个样本的子采样后的测试数据集,赋值给变量 `X_test` 和 `y_test`。
最后,我们使用 `np.reshape` 函数将图像数据转换为行向量的形式。通过将第二个参数设置为 `-1`,函数会自动计算行数,以保持原始数据的总大小不变。这样做是为了适应某些机器学习算法对输入数据的要求。最后,我们打印出变量 `X_train` 和 `X_test` 的形状,以确认数据的维度是否正确。
这段代码的目的是对数据集进行子采样,并将图像数据转换为行向量的形式,以便在后续的代码中更高效地执行。
阅读全文