В проектах машинного обучения и аналитики часто возникает необходимость сохранять результаты
работы модели – предсказания. Такие данные обычно хранятся в виде табличных файлов,
которые потом передаются другим системам, визуализируются или используются для дальнейшего анализа.
В этой статье мы подробно разберём, какие форматы файлов подходят для предсказаний,
как правильно их структурировать и как быстро конвертировать CSV‑файл в JSON‑формат
(один из самых популярных способов обмена данными). Всё изложено на русском языке и снабжено готовыми примерами кода и рекомендациями.
Основные форматы файлов с предсказаниями
- CSV (Comma‑Separated Values) – простой текстовый файл, где каждая строка представляет запись, а столбцы разделены запятыми (или другим разделителем). Поддерживается почти любой программой для работы с таблицами.
- JSON (JavaScript Object Notation) – формат, удобный для передачи структурированных данных между веб‑приложениями и сервисами. Позволяет хранить вложенные объекты и массивы.
- Parquet, Feather, HDF5 – бинарные форматы, предназначенные для больших наборов данных и быстрой загрузки в аналитических платформах (Spark, Pandas, R).
Для большинства небольших проектов достаточно CSV или JSON. Если требуется обмениваться данными между веб‑сервисами, предпочтительнее JSON, а если работа идёт в Excel – CSV.
Как выглядит CSV‑файл с предсказаниями
Структура CSV‑файла должна быть предсказуемой и однозначно интерпретируемой. Как правило, в нём присутствуют такие столбцы:
| id | input_feature_1 | input_feature_2 | … | prediction | probability |
|---|---|---|---|---|---|
| 1 | 0.45 | 12.3 | … | Class_A | 0.87 |
| 2 | 0.78 | 5.1 | … | Class_B | 0.62 |
Важно:
- Первая строка – заголовок (header) с названиями колонок.
- Все строки одинаковой длины.
- Для чисел используется точка как десятичный разделитель.
Конвертация CSV в JSON
Если ваш проект требует обмена предсказаниями в формате JSON, самый простой способ – использовать готовый скрипт, который читает CSV, формирует массив объектов и сохраняет их в файл .json. Ниже представлена пошаговая инструкция, основанная на проекте, который преобразует CSV, сохранённый из Microsoft Excel, в JSON и автоматически скачивает файл.
Что нужно установить
- Установите Node.js (если ещё не установлен) – он включает npm, необходимый для установки зависимостей.
- Склонируйте репозиторий проекта или загрузите архив с исходным кодом.
- Откройте терминал в папке проекта и выполните команду:
npm install
Это установит все нужные пакеты (например,
csv-parserиfs).
Как запустить конвертер
- Поместите ваш CSV‑файл в директорию
input/проекта. - В терминале выполните:
node convert.js your_file.csv
где
your_file.csv– имя вашего файла. - После выполнения скрипт создаст файл
your_file.jsonв папкеoutput/и предложит скачать его (если скрипт запущен в браузерном окружении).
Пример кода конвертера (Node.js)
const fs = require('fs');
const csv = require('csv-parser');
function csvToJson(csvPath, jsonPath) {
const results = [];
fs.createReadStream(csvPath)
.pipe(csv)
.on('data', (data) => results.push(data))
.on('end', => {
fs.writeFileSync(jsonPath, JSON.stringify(results, null, 2), 'utf8');
console.log(`✅ Конвертация завершена: ${jsonPath}`);
});
}
// Пример использования:
const inputFile = process.argv[2] || 'input/predictions.csv';
const outputFile = 'output/' + inputFile.replace(/.csv$/i, '.json');
csvToJson(inputFile, outputFile);
Этот скрипт читает CSV, преобразует каждую строку в объект JavaScript и сохраняет массив объектов в красивом формате JSON.
Практический пример: от CSV к JSON
Исходный CSV (predictions.csv)
id,feature_1,feature_2,prediction,probability 1,0.45,12.3,Class_A,0.87 2,0.78,5.1,Class_B,0.62 3,0.12,7.8,Class_A,0.91
Полученный JSON (predictions.json)
[
{
"id": "1",
"feature_1": "0.45",
"feature_2": "12.3",
"prediction": "Class_A",
"probability": "0.87"
},
{
"id": "2",
"feature_1": "0.78",
"feature_2": "5.1",
"prediction": "Class_B",
"probability": "0.62"
},
{ "id": "3",
"feature_1": "0.12",
"feature_2": "7.8",
"prediction": "Class_A",
"probability": "0.91"
}
]
Лучшие практики хранения предсказаний
- Ясные названия колонок. Используйте английский язык без пробелов (например,
prediction,probability) – так будет проще парсить файл в разных языках программирования. - Версионирование. Добавляйте в имя файла дату и номер версии модели:
predictions_2026-04-28_v2.csv. - Контроль целостности. Храните хеш (MD5/SHA256) файла в отдельном текстовом документе или в базе данных.
- Метаданные. В отдельном JSON‑файле сохраняйте информацию о модели: её название, гиперпараметры, дата обучения, примерные метрики качества.
- Кодировка. Убедитесь, что файл сохраняется в UTF‑8 без BOM – это избавит от проблем с русскими символами в названиях классов.
Как использовать файл с предсказаниями в проектах
После того как предсказания сохранены в удобном формате, их можно применять в разных сценариях:
- Веб‑демонстрации. JSON‑файл легко отдать клиенту через API‑конечную точку, а JavaScript‑приложение отобразит результаты в таблице или графике.
- Анализ ошибок. Сравните предсказанные метки с истинными (ground truth) и посчитайте метрики (accuracy, F1, ROC‑AUC).
- Пакетный импорт в BI‑системы. Инструменты вроде Power BI или Tableau умеют импортировать CSV напрямую, позволяя строить дашборды.
- Автоматическое обучение. При построении пайплайна (например, с помощью Apache Airflow) можно добавить шаг, который будет генерировать файл с предсказаниями и передавать его следующему этапу – валидации или публикации модели.
Часто задаваемые вопросы
- Можно ли хранить предсказания в базе данных? Да, но для больших объёмов удобнее использовать файлы (CSV/Parquet) и хранить их в облачном хранилище (S3, Azure Blob).
- Как уменьшить размер JSON‑файла? Удалите лишние пробелы (не используйте pretty‑print) и, если возможно, замените строковые метки на числовые коды.
- Нужен ли отдельный файл с вероятностями? Если модель выдаёт только одну метку, достаточно одного столбца
prediction. При многоклассовой классификации удобно хранить массив вероятностей в отдельном столбце (например,probabilitiesв виде JSON‑строки).
Файл с предсказаниями – это простой, но чрезвычайно важный артефакт в любой системе машинного обучения.
Правильно выбранный формат (CSV или JSON), чёткая структура и соблюдение лучших практик позволяют быстро интегрировать результаты модели в бизнес‑процессы,
проводить аналитику и поддерживать воспроизводимость. В этой статье мы рассмотрели основные типы файлов,
показали, как конвертировать CSV в JSON с помощью готового проекта, а также предоставили практические рекомендации по организации и использованию предсказаний.
Следуйте этим советам, и работа с предсказаниями станет надёжной и удобной.
Дата публикации: 28 апреля 2026 г.