Обучение, тестирование, проверка разделения в tfds.load

поэтому меня просят реализовать параметр функции разделения: 80% обучение, 10% проверка и 10% тестирование. И я не понимаю, как это сделать здесь. Пожалуйста помоги. Спасибо.

def plot_example(x_raw, y_raw):
  fig, axes = plt.subplots(3, 3)
  i = 0
  for i in range(3):
    for j in range(3):
      imgplot = axes[i,j].imshow(x_raw[i*3 + j], cmap = 'bone')
      axes[i,j].set_title(y_raw[i*3 + j])
      axes[i,j].get_yaxis().set_visible(False)
      axes[i,j].get_xaxis().set_visible(False)
  fig.set_size_inches(18.5, 10.5, forward=True)

## TODO: Implement the split function parameter: 80% train, 10% validation, and 10% test.
(ds_train, ds_val, ds_test), ds_info = tfds.load("colorectal_histology", 
                                           split=[],
                                           as_supervised=True, with_info=True)
df = tfds.as_dataframe(ds_train.shuffle(1000).take(1000), ds_info)

plot_example(df['image'], df['label'])
print(ds_info)

Пожалуйста, объясни

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

tfds.load имеет аргумент разделения. Вы можете использовать этот аргумент для загрузки набора данных в желаемом формате. Если вы хотите 80% поезд, 10% вал, 10% тест, вы можете просто сделать

tfds.load(
    colorectal_histology,
    split=["train[20%:]", "train[0%:10%]", "train[10%:20%"],
    as_supervised=True, 
    with_info=True)

Здесь 1-й аргумент в разделении train[10%:] вернет 90% набора данных в качестве обучающего, train[0%:10%] вернет 10% набора данных из обучения в качестве проверки, а train[10%:20%] вернет остальные 10% в качестве тестового набора. Хотя вы можете использовать полный тестовый набор, но если вы хотите разделить тренировку на 80,10,10, это то, что вы можете сделать.

Подробнее здесь

Другие вопросы по теме