Сохранить предсказания модели

Храни свои прогнозы ИИ в надежном облаке: мгновенный доступ, защита от потери и возможность делиться результатами с командой в пару кликов.

Если вы обучили модель, получили предсказания и хотите записать результаты в файл (или загрузить готовые прогнозы куда-то ещё), эта статья поможет быстро сделать всё правильно. Мы рассмотрим самые популярные способы сохранения: CSV, JSON, Pickle, JobLib, ONNX, HDF5/Parquet и даже таблиц Excel & Google-Sheets. Везде будут примеры «готового» кода, а также адреса и контакты, где можно получить консультацию круглосуточно, бесплатно и без регистрации.

Оглавление

  1. Зачем вообще сохранять предсказания
  2. Подготовка данных: рекомендация «ДО» и «ПОСЛЕ» прогноза
  3. Часть 1: быстрый и простой CSV → открыть в Excel
  4. Часть 2: Pickle/Joblib → сериализуем скрипт и прогноз
  5. Часть 3: JSON → для API и веб-приложений
  6. Часть 4: ONNX, Parquet, HDF5 → серьёзные объёмы и производительность
  7. Часть 5: автоматическая выгрузка в Google-Sheets без ключа
  8. Контакты и помощь онлайн: куда написать или позвонить
  9. Частые ошибки и FAQ

Зачем нужно сохранять прогнозы?

  • Вы завершили предсказание и хотите «закрыть ноутбук» без потери данных.
  • Результаты нужны другим людям: бухгалтерии, менеджменту, заказчику.
  • Точки прогноза впоследствии пойдут в вашу LSTM/ARIMA-модель, и её не нужно будет переобучать заново.
  • HCA Healthcare использует подобный процесс для обработки 2 400 точек данных в день и публикации внутри системы — удобно сравнить с тем, что делает ваш проект.

Подготовка: проверьте данные ДО прогноза

Почти все ошибки «ничего не сохраняет» случаются из-за пропущенных значений, неправильных типов данных или дублирующихся строк. Перед самым прогнозом:

  1. df.isna.sum — убедитесь, что NaN’ов нет.
  2. X_test.shape, y_pred.shape — проверьте форматы.
  3. Если используете TensorFlow / Keras LSTM: model.save_weights('lstm.h5') и предсказания в .npy.


Часть 1: Сохранение в CSV — бесплатно и без регистрации

Самый быстрый способ при работе на любом сервере.


import pandas as pd
y_pred = model.predict(X_test)
out = pd.DataFrame({'id': ids, 'target': y_pred.flatten})
out.to_csv('predictions_03_02_2026.csv', index=False)

Как открыть: просто два клика — колонка Excel готова. Часто команды «посчитать лучшую модель без предоплаты» именно так и передают отчёт клиенту.

Часть 2: Pickle / Joblib, полное «замораживание» скрипта

  • Pickle = стандарт Python;
  • Joblib = аналог, но быстрее для массивов numpy.

import joblib
joblib.dump(model, 'lin_reg.pkl') # саму модель
joblib.dump(y_pred, 'predictions.pkl') # прогнозы

reg = joblib.load('lin_reg.pkl')
pred = joblib.load('predictions.pkl')

Глубокие специалисты почти всегда делают backup и кладут .pkl-файлы в архив — никаких конфликтов версий не возникнет, если использовать ту же Python-дистрибуцию (poetry/venv).

Часть 3: JSON для API и «прямого» сайта

JSON удобен, если нужно показать прогноз сразу на сайте или отправить в Telegram-бота.


import json
data = {str(id_): float(val) for id_, val in zip(ids, y_pred)}
with open('pred.json', 'w', encoding='utf-8') as f:
 json.dump(data, f, ensure_ascii=False, indent=2)

Получается «легкая» карта: {«client42″: 21.031,»client43»: 11.777,…}. У к-либо открытого сервера можно развернуть быстро без предоплаты.

Часть 4: ONNX, Parquet, HDF5 — для больших объёмов

6.1 ONNX Export (TensorFlow → любой язык)


import tf2onnx
spec = (tf.TensorSpec((None, 30), tf.float32, name='input'),)
output_path = "model.onnx"
tf2onnx.convert.from_keras(model, input_signature=spec, opset=13).save(output_path)

6.2 Parquet (Pandas)


out.to_parquet('pred.parquet.gz', compression='gzip')

6.3 HDF5 (h5py, hdf5-python)


df.to_hdf('predictions.h5', key='pred', mode='w')

Parquet лучше всего брать, когда величины с плавающей точкой более 5 Гб — файл в нагрузку уменьшается в 3–5 раз без потери точности.

Часть 5: Автоматически выгрузить в Google-Sheets без ключа

  1. Установите gspread → pip install gspread oauth2client.
  2. Создайте пустую таблицу, откройте общий доступ.
  3. Добавьте менеджеру-консультанту e-mail (ниже в блоке контактов) → он мгновенно закачает.

import gspread
from google.oauth2.service_account import Credentials
sc = ['https://www.googleapis.com/auth/spreadsheets','https://www.googleapis.com/auth/drive']
creds = Credentials.from_service_account_file('creds.json', scopes=sc)
gc = gspread.authorize(creds)
gc.open_by_key('YOUR_SHEET_ID').worksheet('result').update([out.columns.values.tolist] + out.values.tolist)

Всё бесплатно и онлайн — никакой кредитной карты не требуется. Нужна помощь? Напишите нам в ВК или Ватсап (см. ниже).


Контакты и помощь — бесплатные консультации

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

  • Телефон: +7 (987) -23-45-67 — WhatsApp и голос 24/7;
  • Telegram: @rune_helper — личный приём онлайн, задайте любой вопрос по мантрам, рунам или сохранению модели;
  • ВКонтакте: vk.com/rune_mage — чат до 500 человек, консультация без регистрации;
  • Сайт-портал: magicdata.run — пишите форму, получите ответ за 5 минут (без предоплаты, гарантия результата);
  • Онлайн прямо сейчас: живая чат-ряд (после загрузки страницы в браузере доступна мини-помощь).

Если вам нужно найти номер телефона мастера или по отзывам — поиск-блок на главной странице настроен на «без предоплаты».

Частые вопросы

Q1: «Прогноз сохранился в файл, но при загрузке форма ломается»
A1: Убедитесь, что колонки в DataFrame и сайт-API совпадают по типу (float32 vs float64).
Q2: «Как открыть .pkl в другом файле без лишнего импорта?»
A2: Используйте jdupes lin_reg.pkl — проверьте результирующий дайджест на повторение значений.
Q3: «Удобнее ли сохранять модель YOLO в .onnx для Kaggle-конкурса?»
A3: Да, формат ONNX (opset 12+) позволяет загрузить чужой файл на Kaggle «без решистрации».

08:14 — последний build: Python 3.12, TensorFlow 2.16, joblib 1.4.2, Pandas 2.2.1