如何将数据划分为训练和测试



我得到了这个数据集,它由图像及其标签组成。我使用我编写的自定义函数加载它们。我偶然发现的问题是,我不知道如何在训练和测试之间适当地划分它们。我一直在看TensorFlow文档,我发现了一些东西,但它们不够解释。

def create_training_data():
_images = []
_labels = []
for category in CATEGORIES:
class_num = CATEGORIES.index(category)
new_path = os.path.join(DATASET, category)
for img in os.listdir(new_path):
img_array = cv2.imread(os.path.join(new_path, img), cv2.IMREAD_GRAYSCALE)
_images.append(img_array)
_labels.append(class_num)
return (_images, _labels)

这就是我目前加载数据的方式

(training_images, training_labels) = create_training_data()
training_images = np.array(training_images)
training_images = training_images / 255.0

我怎么可能把它分为训练和测试,测试大小为0.3?

尝试使用sklearn.model_selection.train_test_split,它可以拆分您的列表数据集

X_train, X_test, y_train, y_test = train_test_split(
training_images, training_labels, test_size=0.3, random_state=42)

最新更新