Перейти к содержимому
Страницы

Основные понятия

Наборы данных и разбиение

Как Skynet читает ваши примеры и делит их на обучающую, валидационную и тестовую выборки.

Набор данных — это таблица примеров. Каждая строка — один пример. Skynet выполняет ваш артефакт на примерах, оценивает каждый выход и по оценкам сравнивает версии. На этой странице объясняется, как Skynet читает примеры, что делают роли столбцов и как примеры делятся на обучающую, валидационную и тестовую выборки.

Загрузка данных

На шаге мастера Входные данные есть два варианта:

  • Загрузите файл CSV, JSON или Excel. Skynet принимает файлы .csv, .json, .xlsx и .xls.
  • Выбрать из библиотеки. Используйте набор данных, который вы сохранили ранее.

В запуске может быть не больше 200 000 примеров.

Как управлять сохранёнными наборами данных, описано в разделе Подготовка набора данных.

Роли столбцов

В разделе Как читать данные назначьте каждому столбцу одну роль:

РольЧто Skynet делает со столбцом
ВходПомещает значение в input, который получает ваш код запуска
ВыходПомещает значение в expected, который получает ваша метрика
ПропуститьНе использует столбец

У каждого столбца также есть тип: Текст или Изображение.

Роль «Выход» может быть только у одного столбца. Если назначить роль «Выход» второму столбцу, первый переключится на «Пропустить».

Что получает ваш код

Для каждой строки Skynet формирует один пример:

  • input — словарь. В нём по одному ключу на каждый столбец с ролью «Вход».
  • expected — словарь с одним ключом: именем столбца с ролью «Выход».

Для такой таблицы:

messagelabelid
I was charged twicebilling17

с ролями message = Вход, label = Выход и id = Пропустить ваш код получит:

{"message": "I was charged twice"}

Режимы данных

Роли задают режим данных запуска:

РежимКогдаЧто происходит
ПарыОдин столбец имеет роль «Выход»Каждая строка — пример с входом и ожидаемым значением. Нужно не меньше 2 строк.
ОдиночныйНет столбца с ролью «Выход»Запуск использует только столбцы «Вход» первой строки. Это один пример без ожидаемого значения.

В одиночном режиме Skynet использует единственный пример для обучения, отбора и отчёта. Ничего не откладывается.

Разбиение

В режиме пар Skynet делит примеры на три выборки:

ВыборкаДля чего она
ОбучающаяДвижок предлагает и проверяет версии на этих примерах.
ВалидационнаяSkynet выбирает лучшую версию на этих примерах.
ТестоваяSkynet сообщает итоговую оценку на этих примерах.

Разбиение по умолчанию

Число парОбучающаяВалидационнаяТестовая
5 или больше70%15%15%
Меньше 585%15%0%

Если пар меньше 5, Skynet не выделяет тестовую выборку.

Как Skynet считает примеры

Skynet переводит доли в целое число примеров методом наибольших остатков. Сумма всегда равна числу примеров. Выборка с долей больше нуля получает хотя бы один пример. Выборка с нулевой долей не получает примеров.

Перед разбиением Skynet перемешивает примеры. Перемешивание использует сид запуска. Если сид не задан, Skynet вычисляет его по примерам, цели и артефакту. Поэтому при повторной отправке того же запуска вы получите то же разбиение.

Запасные варианты

  • Если пар меньше 5, Skynet убирает тестовую выборку и масштабирует обучающую и валидационную так, чтобы в сумме они давали 1.
  • Если обучающая выборка пуста, Skynet использует валидационные примеры как обучающие.
  • Если валидационной выборки нет, Skynet выбирает версию на обучающих примерах.
  • Если тестовой выборки нет, Skynet сообщает оценку на валидационной. Если нет и валидационной, оценка сообщается на обучающей.

Изменение разбиения

В разделе разбиения показано Рекомендованное разбиение. У него два режима:

  1. Использовать рекомендацию: Skynet использует разбиение по умолчанию, описанное выше.
  2. Ручной выбор: вы сами задаёте Обучающая, Валидационная и Тестовая.

В ручном режиме каждое поле принимает долю от 0 до 1 с шагом 0.05. Рядом с каждым полем показано, сколько примеров оно получает. Сумма трёх долей должна быть равна 1. Иначе мастер показывает сообщение «Сумма долей разбиения должна быть равна 1.»

Примеры для проверки контракта

Проверка контракта на шаге Метрика и запуск запускает ваш код на 3 примерах. Skynet берёт их только из обучающей и валидационной выборок, никогда из тестовой.

Связанные страницы