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

时间:2020-02-25 03:47:01

标签: python tensorflow training-data

我得到了由图像及其标签组成的数据集。我使用编写的自定义函数加载它们。我偶然发现的问题是,我不知道如何在培训和测试之间适当地划分它们。我一直在查看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的测试和测试之间进行划分?

1 个答案:

答案 0 :(得分:1)

尝试使用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)