как разбить данные на обучение и тестирование - PullRequest
0 голосов
/ 25 февраля 2020

Я получил этот набор данных, который состоит из изображений и их меток. Я загружаю их, используя пользовательскую функцию, которую я написал. Проблема, с которой я столкнулся, заключается в том, что я не знаю, как правильно разделить их между тренировками и тестированием. Я просматривал документацию по 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 Ответ

1 голос
/ 25 февраля 2020

Попробуйте использовать 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)
...