В продолжение сравнительного анализа моделей эпидемий мы хотим рассмотреть еще одну регрессионную модель, созданную Watson Studio AutoAI. Мы будем использовать новый API Python для определения и запуска эксперимента AutoAI. Блокнот jupyter со всеми шагами можно найти здесь.

COVID-19 данные

Мы используем Репозиторий данных COVID-19 Центра системных наук и инженерии (CSSE) Университета Джона Хопкинса.

В качестве рабочей среды используется среда выполнения ноутбука Watson Studio (предлагается бесплатный тариф). На первом этапе мы загружаем данные о подтвержденных случаях в pandas DataFrame для дальнейшей предварительной обработки.

На следующем этапе мы:

  • filter df, чтобы иметь только случаи Польши
  • измените его так, чтобы он содержал только столбцы "Количество дней, начиная с 22 января" и "Количество дел".
  • удалить (сохранить) 5 последних записей в тестовых целях.

Такой набор предварительно обработанных данных сохраняется в виде CSV-файла в Cloud Object Storage для дальнейшего анализа и обмена. Если вы хотите узнать точные шаги по работе с COS в Watson Studio, обратитесь к этой документации.

AutoAI эксперимент

AutoAI доступен в Watson Machine Learning с графическим интерфейсом через IBM Watson Studio. Сначала вам нужно создать экземпляр Watson Machine Learning (также предлагается бесплатный план).

Я буду использовать API Python для работы с AutoAI. Графический интерфейс также предлагается для непрограммистов. Для программной работы с экспериментом AutoAI нам необходимо установить пакет watson-machine-learning-client-V4 , доступный на pypi.

!pip install -U watson-machine-learning-client-V4

Теперь мы готовы определить оптимизатор AutoAI для нашего варианта использования. Сначала нам нужно предоставить сведения о подключении к нашему набору обучающих данных (файл CSV загружен в COS).

Затем мы можем определить оптимизатор. Требуется следующая информация:

  • name - название эксперимента
  • prediction_type - тип проблемы (регресс)
  • prediction_column - имя целевого столбца («Обращения»)
  • scoring - метрика оптимизации (MSE)

Мы можем предварительно просмотреть конфигурацию, позвонив optimizer.get_params().

Чтобы ускорить наш тест, мы сократили количество оценщиков до двух. Теперь мы можем запустить эксперимент в интерактивном режиме.

Теперь мы можем перечислить обученные конвейеры и информацию о метриках оценки в виде pandas DataFrame, вызвав метод summary(). Вы можете использовать DataFrame, чтобы сравнить все найденные конвейеры и выбрать тот, который вам нравится, для дальнейшего тестирования. При количестве исследуемых оценщиков по умолчанию (1) мы получили четыре модели трубопровода. Давайте воспользуемся возможностями построения панд, чтобы сравнить значение метрики R2 для всех из них.

Как мы видим, Pipeline_4 показывает лучший результат r_2 по данным удержания. Оценка R2 превышает 98%.

Вы можете легко загрузить модель AutoAI в локальную среду выполнения, вызвав метод get_pipeline(). По умолчанию возвращается лучшая модель в обогащенном формате scikit-learn. Усовершенствования позволяют визуализировать модель в виде графика или распечатать код определения модели. Как мы видим, лучшим оценщиком здесь был выбран хребет.

Давайте воспользуемся пакетом plotly для визуализации общего количества подтвержденных случаев и прогнозов, чтобы увидеть, насколько наша модель соответствует реальным данным. Красная точка представляет собой задержку. Зеленые тестовые записи, которые хранились для локальной оценки до того, как данные были отправлены в AutoAI.

Вывод модели

В этом разделе я покажу, насколько легко вы можете предоставить свою модель как WebService. Затем вы можете интегрировать его со своим блестящим приложением, отправив ему запросы на прогноз и представив результаты обратно в вашем приложении.

Вам просто необходимо:

  • укажите модель конвейера, которую вы хотите развернуть, предоставив объект модели или имя
  • установить имя веб-службы

После создания веб-сервиса вы можете получить все подробности, позвонив:

service.get_params()

Если вы хотите получить прогнозы на следующие дни, вам просто нужно сделать запрос на оценку для веб-службы. Pandas DataFrame поддерживается.

В результате обзвона оценки возвращается список прогнозируемых случаев. В качестве входного pandas передается DataFrame со столбцами функций.

Следующие шаги

Доработка (настройка) модели трубопровода с полуавтоматической библиотекой данных Lale. Пожалуйста, ознакомьтесь с рассказом Кирана об этом: Улучшение выходных конвейеров Watson AutoAI.

Ссылки:

  1. Репозиторий данных COVID-19 Центра системных наук и инженерии (CSSE) Университета Джонса Хопкинса
  2. Обслуживание модели эпидемии COVID-19 с помощью машинного обучения Watson
  3. Студия Ватсона АвтоАИ
  4. Машинное обучение Watson
  5. Lale - полуавтоматическая библиотека данных
  6. Записная книжка - AutoAI и нефтеперерабатывающий завод в Лале