Evidently AI это библиотека, которая помогает анализировать модели машинного обучения во время проверки или мониторинга продакшена.

Data Science, ML и Analytics Engineering
Evidently AI это библиотека, которая помогает анализировать модели машинного обучения во время проверки или мониторинга продакшена.
В заметке я расскажу как до определенного уровня использования бесплатно задеплоить модель и на заморачиваться с написанием микросервиса. Отмечу, что такое решение легко интегрируется, например, в веб-сервис. Всё, что вам нужно это использовать Google Cloud Functions.
Google Cloud Functions это serverless подход, т.е. серверные услуги предоставляются без аренды или покупки оборудования. При таком подходе управлением ресурсами инфраструктуры, её настройкой и обслуживанием занимается провайдер.
Основной плюс Google Cloud Functions это автоматическая масштабируемость, высокая доступность и отказоустойчивость.
В заметке я расскажу как в 50 строчек Python кода создать рабочий прототип веб приложения с рабочей моделью машинного обучения. Представьте, что у вас есть классная идея проекта. Теперь нужно реализовать MVP (minimum viable product) и показать его менеджеру/партнеру/ инвестору или просто похвастаться перед друзьями.
Мы будем использовать BentoML. Это гибкая высокопроизводительная платформа, которая идеально подходит для создания MVP.
Возможности BentoML:
Обученная модель машинного обучения сама по себе пользу бизнесу не принесет. Модель должна быть интегрирована в IT инфраструктуру компании. Рассмотрим реализацию REST API микросервиса на примере задачи классификации цветов Ирисов. Набор данных состоит из длины и ширины двух типов лепестков Ириса: sepal и petal. Целевая переменная — это сорт Ириса: 0 — Setosa, 1 — Versicolor, 2 — Virginica.
Прежде чем переходить к реализации нашего API надо обучить и сохранить модель. Возьмем модель RandomForestClassifier. Теперь сохраним модель в файл и загрузим, чтобы делать прогнозы. Это можно сделать с помощью pickle или joblib. Рассмотрим pickle, вариант с joblib останется для самостоятельного разбора.
import pickle filename = 'model.pkl'
pickle.dump(clf, open(filename, 'wb'))
Для загрузки и проверки модели воспользуемся pickle.load
loaded_model = pickle.load(open(filename, 'rb'))
result = loaded_model.score(X_test, y_test)
print(result)
Код обучения, сохранения и загрузки модели доступен в репозитории — ссылка