Читать нас в Telegram

Датасет (англ. dataset), или выборка — это структурированный набор данных, который используется для обучения и тестирования моделей машинного обучения. Это фундамент для разработки и улучшения алгоритмов. Датасеты позволяют моделям «учиться» на примерах и применять полученные знания для решения реальных задач.

Из чего состоит датасет?

Датасет состоит из:

Это сами объекты исследования. Они могут быть разных типов (тексты, изображения, аудио- и видеозаписи).

  • разметки (опционально)

Это метаданные или дополнительная информация для описания и классификации данных. Например, в изображениях это могут быть метки объектов на фото, в текстах — выделенные именованные сущности.

Пример разметки текста, где PER Person имя человека или группы людей, FAC Facility учреждение и CHAR Characteristic характеристика человека (звание, профессия, национальность или принадлежность к социальной группе)

В датасете ImageNet собрано около 14 млн изображений. Каждое из них сопровождается меткой класса, к которому принадлежит (например, указана порода собаки или название растения на фото).

Какие бывают датасеты

Датасеты классифицируют по разным признакам. Разберём некоторые из них.

По типу данных:

  • изображения: например, ImageNet, ObjectNet,
  • тексты: например, корпус исторических дневников «Прожито», датасет «Размечено»,

аудио/видео: датасеты для распознавания речи, эмоций или действий. Датасет ESC-50 содержит в себе звуки окружающей среды, такие как шум дождя, пение птиц или лай собак. Kinetics-700 состоит из 650 тыс. клипов, где каждый клип длится около 10 секунд. Датасет охватывает 700 классов человеческих действий, к примеру, игру на музыкальных инструментах (взаимодействие человека с объектом) или рукопожатия (взаимодействие человека с человеком).

Категории звуков в датасете ESC-50. Скриншот с сайта Github

По способу получения данных:

  • реальные данные: собранные из реального мира.

    Такие данные собирают университеты и исследовательские лаборатории, например, Stanford и OpenAI. Также существуют open source проекты, такие как Zooniverse, где в сборе данных участвуют волонтёры. Для YMYL-тем (Your Money or Your Life), таких как медицина, финансы и юриспруденция, существуют специальные проекты. Например, в CheXpert врачи участвуют в маркировке рентгенограмм грудной клетки, важных для диагностики и лечения многих опасных заболеваний.
        
  • синтетические данные: сгенерированные алгоритмами или моделями, как в случае использования OpenPose для создания изображений на основе скелетонов. Или тексты, сгенерированные LLM — большими языковыми моделями.

По наличию разметки:

  • размеченные датасеты: данные сопровождаются аннотациями,
  • неразмеченные датасеты: данные без дополнительной информации.

Выборка для датасета

Чтобы датасет был хорошим, он должен быть репрезентативным — достаточно точным и полным. То есть при создании выборки нужно обратить внимание на:

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

Для изображений учитываются разные погодные условия, освещение и ракурсы, для текста — стили и контексты, а для числовых данных — диапазоны значений, шкалы. 

Например, создатели датасета ObjectNet привлекли фрилансеров для сбора фотографий объектов в неожиданных ракурсах и контекстах, чтобы устранить однообразие, присущее другим датасетам.

  • количество данных

Для обучения моделей с высокой точностью требуется достаточный объём датасета. Какой? Зависит от самих данных, модели и её задач.

  • качество данных

Они должны быть достоверными, соответствовать действительности и подходить для задач, которые будут решать обучаемые на этих данных модели.  

Зачем моделям датасеты

В машинном обучении датасет обычно делят на три части: тренировочную (train), валидационную (validation) и тестовую (test).

Первая нужна для самого обучения моделей. Например, находить именованные сущности в исторических документах — для этой задачи был создан датасет «Размечено».

Вторую часть датасета используют для валидации разных параметров обучения и настроек модели: проверяют, насколько точно и эффективно модели, обученные с разными параметрами, справляются с новыми данными.

Третья часть используется для тестирования финальной версии модели, обученной с оптимальными параметрами, подобранными на валидационной части.

Иногда валидационную часть используют также в качестве тестовой.

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

Пример датасета Тitanic

Рассмотрим один из классических датасетов для машинного обучения — про пассажиров «Титаника» и их судьбу.

Датасет Titanic на Kaggle содержит информацию о пассажирах самого знаменитого затонувшего судна и о том, удалось ли им выжить. Вы можете скачать его самостоятельно и открыть в приложении для редактирования таблиц или с помощью кода.

Датасет разбит на два файла — train и test, которые содержат 850 и 459 записей соответственно. Сейчас для нас это разбиение неважно, можем считать, что это один датасет на 1 309 записей.

Каждая запись включает следующие данные:

  • идентификационный номер пассажира,
  • класс, которым он плыл (1-й, 2-й или 3-й),
  • имя, возраст и пол,
  • количество родственников на борту,
  • номер билета и его стоимость,
  • номер каюты,
  • порт посадки,
  • и другие.

Требуется построить модель, предсказывающую выживание пассажира на основе предоставленных данных. Выживание — бинарная целевая переменная (то есть 1 означает, что пассажир выжил, 0 — не выжил). Проверить точность прогноза можно также с помощью этого датасета.

Скриншот из обзора датасета Titanic на сайте Kaggle, где в одной колонке ID пассажиров, а в другой — бинарный прогноз их выживания (1, 0)

Датасет Titanic часто используется как стандартный набор данных для задачи классификации для начинающих в области Data Science. Работая с ним, можно изучить различные методы предобработки данных, обработки пропущенных значений, создания новых признаков и оценки качества модели.

Где искать датасеты?

  • Открытые источники и платформы:
    • Kaggle: платформа для обмена датасетами и совместного анализа самых разных данных: от характеристик покемонов до мирового уровня преступности. На платформе проводятся соревнования по машинному обучению, где пользователи могут изучать, публиковать и решать задачи в области данных. Kaggle также предоставляет облачные инструменты для экспериментов с моделями.
    • HuggingFace: крупнейшее хранилище датасетов и моделей.
    • ImageNet: масштабный датасет изображений, аннотированных по категориям, используемый для обучения и оценки моделей компьютерного зрения. Это ключевой ресурс для задач классификации изображений и развития нейронных сетей.
    • UCI Machine Learning Repository: один из самых известных источников данных для машинного обучения, предлагающий разнообразные наборы для анализа, от медицинских до финансовых. Репозиторий ориентирован на исследовательские задачи и образовательные цели.
    • Государственные ресурсы: Порталы открытых данных различных министерств и ведомств, например, Портал государственных закупок или Открытые данные ПФР.
    • data.mos.ru: данные Правительства Москвы, включая статистику, справочники, реестры и другую информацию.
  • Исследовательские проекты и инициативы:
    • «Прожито»: корпус исторических дневников и других эго-документов.
    • «Размечено»: датасет для распознавания именованных сущностей в исторических текстах.
    • «Если быть точным»: платформа с данными по социальным проблемам России.
  • Самостоятельный сбор данных: