Machine learning в продакшн — Flask REST API

Обученная модель машинного обучения сама по себе пользу бизнесу не принесет. Модель должна быть интегрирована в 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)

Код обучения, сохранения и загрузки модели доступен в репозитории — ссылка

Читать далее

Как сделать резюме привлекательным с помощью pet project

У начинающих Дата Саентистов резюме состоит из пройденных курсов, образования и возможно не самого релевантного опыта работы. Такие резюме мало чем отличаются от основной массы соискателей.

Работа над pet project отличная возможность прокачать навыки. Если добавить в резюме реализованный pet-project оно сразу станет привлекательным и появится тема для разговора на интервью.

Так, что же такое pet-project? Pet-project — это проект, который делается ради себя. Он создается вне работы и часто связан с личным интересом. Например: спорт, электроника, приготовление еды, автомобили, путешествия, медицина и т.д. Проект поможет расширить профессиональные навыки и научиться новым, которые пригодятся в работе.

Вот несколько идей для проектов в Data Science, к реализации которых уже можно приступить:

Читать далее

Чеклист для запуска Machine Learning  проекта

В этой заметке постараюсь раскрыть мысли по поводу необходимых шагов для старта проекта в области Machine Learning.

Необходимые данные

  1. Набор данных для обучения
    • Исторические данные — для обучения предсказательных моделей
    • Обучающая выборка — образцы того, что мы хотим найти/предсказать — для обучения модели
    • Достаточной глубины (с учетом сезонности и т. п. до нескольких лет)
    • Достаточного объема, репрезентативная выборка
  2. Набор данных для тестирования
    • Исторические данные — для тестирования предсказательных моделей
    • Тестовая выборка — для проверки качества модели
    • Достаточного объема, репрезентативная выборка
  3. Актуальные данные — материал для работы модели

Читать далее