Руководство по обслуживанию модели машинного обучения через API с использованием FastAPI, Pydantic и Sklearn

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

Это хорошо.

Но каковы же дальнейшие шаги? Что вы делаете с моделью?

Модель машинного обучения бесполезна, если ее кто-то не использует.

Наша цель как специалистов по данным – создавать хорошие модели и делиться ими с нашей командой или клиентами.

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

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

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

В этой статье мы вместе научимсясоздавать модель машинного обучения и обслуживать ее через API.

Благодаря этим знаниям вы сможете продвигаться вперед в конвейере машинного обучения и обслуживать свои модели (а также и другие функции, если хотите) благодаря Python и FastAPI.

FastAPI — это невероятная библиотека, которая в последние годы потрясла сферу науки о данных благодаря своему невероятному удобству и скорости. Более того, его документация очень богата и обширна.

Следуя этому руководству, вы научитесь:

  • Смоделируйте набор данных игрушек с помощью LightGBM
  • Напишите функции и классы, чтобы делать прогнозы на основе невидимых данных.
  • Обслуживание модели через REST благодаря FastAPI

Вы готовы? Давай начнем.

Набор данных

В этом примере я буду использовать набор данных Набор жилищных данных Sklearn’s California, о котором вы можете прочитать больше здесь 👇