77 lines
5.2 KiB
Markdown
77 lines
5.2 KiB
Markdown
# Данные для курса
|
||
|
||
Датасеты не хранятся в Git: они большие, имеют отдельные лицензии и иногда требуют
|
||
согласия с условиями использования. Для каждого задания используется один из трёх
|
||
режимов.
|
||
|
||
## 1. Генерируем сами
|
||
|
||
Это позволяет знать правильный ответ и проверять реализацию:
|
||
|
||
- NumPy, линейная алгебра и оптимизация — случайные матрицы и заданные функции;
|
||
- классификация/кластеризация — `sklearn.datasets.make_classification`,
|
||
`make_blobs`, `make_moons`, `make_circles`;
|
||
- вероятность — симуляции Монте-Карло;
|
||
- звук — синусоиды, шум, импульсы и click track с известным BPM;
|
||
- нейросети — XOR и небольшие синтетические выборки.
|
||
|
||
Синтетические данные нужны для проверки математики, но не заменяют итоговую
|
||
проверку на реальных данных.
|
||
|
||
## 2. Загружаем готовые открытые наборы
|
||
|
||
Загрузка выполняется при начале модуля, обычно через sklearn, torchvision,
|
||
Hugging Face Datasets или официальный архив.
|
||
|
||
- Табличный ML: Breast Cancer Wisconsin, Wine, California Housing либо OpenML.
|
||
- PCA/кластеры: sklearn Digits и синтетические геометрии.
|
||
- Computer Vision: Fashion-MNIST, CIFAR-10 и Oxford-IIIT Pet. Последний подходит
|
||
для эксперимента с кошками/собаками и transfer learning.
|
||
- Рукописные символы: MNIST и EMNIST.
|
||
- Речь: собственные записи, LibriSpeech/Multilingual LibriSpeech или Common Voice
|
||
после проверки актуальной лицензии и условий.
|
||
- NLP: Tiny Shakespeare для учебной LM; AG News/IMDb для классификации.
|
||
- LLM fine-tuning: небольшой самостоятельно проверенный instruction-набор из
|
||
источников с совместимой лицензией.
|
||
|
||
Перед загрузкой проверяйте официальный источник, лицензию и объём. В отчёте
|
||
фиксируйте версию/дату, способ получения и checksum либо идентификатор dataset.
|
||
|
||
## 3. Выбираем самостоятельно
|
||
|
||
Самостоятельный выбор нужен только там, где он является частью навыка:
|
||
|
||
- EDA — выбрать интересный открытый табличный набор;
|
||
- transfer learning — можно заменить Oxford-IIIT Pet своим небольшим набором;
|
||
- транскрибация — записать собственную речь или выбрать разрешённый корпус;
|
||
- osu! — использовать собственную либо Creative Commons музыку;
|
||
- capstone — подобрать данные под самостоятельно сформулированную задачу.
|
||
|
||
Это не означает «найти что-нибудь и надеяться». Перед работой нужно согласовать:
|
||
источник, лицензию, target, объём, качество и схему разбиения. Если выбор вызывает
|
||
сомнение, сначала пришлите ссылку или описание — я помогу проверить пригодность.
|
||
|
||
## Правила хранения
|
||
|
||
Рекомендуемая локальная структура:
|
||
|
||
```text
|
||
data/
|
||
raw/ # неизменённые исходники
|
||
interim/ # промежуточные преобразования
|
||
processed/ # готовые признаки и splits
|
||
external/ # сторонние наборы
|
||
```
|
||
|
||
В Git сохраняются только скрипты загрузки, метаданные, маленькие тестовые fixtures
|
||
и checksums. Персональные данные, голоса других людей, коммерческая музыка, веса
|
||
моделей и токены доступа не коммитятся.
|
||
|
||
## Разбиение данных
|
||
|
||
- Разделяйте данные до подбора модели.
|
||
- Изображения одного объекта, фрагменты одной записи и куски одной песни должны
|
||
попадать только в один split.
|
||
- Test-set открывается для финальной оценки, а не для ежедневного выбора параметров.
|
||
- При временной задаче используйте хронологическое, а не случайное разбиение.
|