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

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

На этом этапе мы можем изучить различные инструменты для использования технологии автоматизированного искусственного интеллекта для более быстрого создания моделей с минимальными усилиями по написанию кода.

IBM Watson Studio AutoAI — это сложная и невероятно простая в использовании платформа,котораяпозволяет автоматизировать построение моделей, выполняя задачи, связанные с предварительной обработкой, выбором модели, разработкой функций и оптимизацией гиперпараметров. .

В этом уроке мы собираемся изучить возможности этого сервиса, используя открытый набор данных, связанный с выявлением пациентов с Covid. Нас интересует прогноз состояния по дате пациента, пораженного вирусом: легкое, среднее, тяжелое, умерший, умерший по другим причинам и выздоровевший.

(https://datosabiertos.bogota.gov.co/dataset/numero-de-casos-confirmados-por-el-laboratorio-de-covid-19-bogota-dc/resource/e358ff22-03b1-4300-9a9c- 621дд32а4024)

Изучение набора данных

Этот набор данных имеет следующие поля:

  • CASE: идентификатор обнаруженного случая
  • START_DATE_SYMPTOMS: дата появления симптомов. Нулевые значения предполагают бессимптомного пациента.
  • DIAGNOSYS_DATE: дата постановки диагноза пациенту.
  • ГОРОД: город, в котором находится дело. Для этого набора данных используется город Богота.
  • МЕСТНОСТЬ: населенный пункт, где находится дело. Районные подразделения Боготы.
  • ВОЗРАСТ: Возраст пациента
  • AGE_UNIT: 1=годы,2=месяцы,3=дни
  • ПОЛ: М=мужской, Ж=женский
  • CONTAGION_TYPE: неизвестно, изучается, импортировано, связано.
  • CURRENT_LOCATION: дом, умерший, умер по другой причине, больница, больница интенсивной терапии.
  • СТАТУС: легкая, средняя, ​​тяжелая, скончался, скончался от других причин и выздоровел

Набор данных содержит 689 038 записей с 26 февраля 2020 г. по 31 марта 2021 г.

Студия IBM Watson

Войдите в IBM Cloud (https://cloud.ibm.com/login) и подготовьте IBM Watson Studio. Уровень бесплатного пользования позволяет вам иметь один экземпляр этой службы.

Создайте эксперимент AutoAI

В проектах IBM Watson Studio мы создадим пустой проект, а затем добавим эксперимент Auto AI.

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

Теперь мы можем добавить источник данных

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

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

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

Теперь мы готовы запустить эксперимент

Проведите эксперимент

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

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

Полный анализ занял 89 минут, удивительное время, учитывая, что выполнение всех этих задач вручную может занять недели. Вы также можете сравнить показатели конвейера, такие как точность, потеря журнала, f1, точность и отзыв.

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

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

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

Разверните модель

Мы можем увидеть нашу модель, сохраненную на вкладке «Модели» проекта.

Чтобы развернуть нашу модель, нам нужно перевести ее в пространство развертывания. Если у нас нет пространства развертывания, мы должны сначала его создать.

После повышения мы можем увидеть модель в пространстве развертывания и нажать Развернуть.

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

В нашем примере мы установили случай для женщины 44 лет, находящейся дома, у которой симптомы начались 15 апреля 2021 г., а диагноз Covid был поставлен 22 апреля 2021 г. Модель предсказывала восстановление.

Использование веб-сервиса

Чтобы использовать более раннюю веб-службу в веб-приложении, нам нужен ключ API для ее аутентификации в IBM Cloud. Перейдите в меню навигации Watson/Доступ (IAM)/Ключи API/Создайте ключ API IBM Cloud.

Скопируйте и вставьте строку ключа API в свой код и добавьте ее в запрос заголовка, как в этом примере для веб-приложения Python, работающего во Flask.

Теперь мы можем начать играть и делать некоторые прогнозы на нашей веб-странице, чтобы получить ответы от модели.

Вы можете просмотреть код веб-приложения в этом репозитории GitHub:

https://github.com/mileruiz/IBM-autoAI

Выводы

IBM Auto AI — одна из лучших платформ для автоматизированного искусственного интеллекта. Он очень интуитивно понятен и имеет простой и понятный интерфейс. Он выделяется тем, что прикладывает много усилий для объяснения каждого параметра и шага во всем процессе и дает замечательную и подробную информацию о каждом конвейере данных, который он анализирует.