Что такое управляемая аналитика?

Хотя слово «управляемая аналитика» вводит ваш разум в сложное состояние, оно просто означает автоматизацию науки о данных. Управляемая аналитика позволяет человеку, не обладающему достаточным опытом в области науки о данных, пройти весь процесс и увидеть новые идеи, скрытые в существующих данных. Например, ИТ-администратор школы может следить за этим процессом и прогнозировать будущие результаты, например, насколько хорошо учащиеся определенного класса будут работать по определенному предмету.

Что такое KNIME?

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

Жизненный цикл науки о данных

На приведенном выше рисунке показан рекурсивный жизненный цикл науки о данных от очистки данных до оценки модели. Внедряя управляемую аналитику в Virtuoso Platform компании Cinglevue, мы в основном сосредоточились на обеспечении гибкости и удобства для конечного пользователя Virtuoso. Объем разработанного нами процесса управляемой аналитики варьируется от выбора функций до оценки модели с предположением, что пользователь очистил данные. Самый верхний рисунок иллюстрирует рабочий процесс KNIME Guided Analytics, который используется для выполнения вышеупомянутого процесса от выбора функции до оценки модели. Когда вы развертываете этот рабочий процесс на сервере KNIME, вы можете получить к нему доступ через веб-портал и получить удобные мастера. По сути, это позволяет пользователю загружать набор данных в виде файла csv, как показано ниже.

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

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

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

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

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

Архитектура

Архитектура высокого уровня принятого процесса управляемой аналитики изображена на рисунке выше. Сервис аналитики обернут вокруг сервера KNIME, который позволяет составлять список и выполнять развернутые рабочие процессы KNIME. Платформа Virtuoso напрямую взаимодействует со службой аналитики и выполняет рабочие процессы, относящиеся к выбору функций и моделированию. Сервис прогнозирования реализован на базе Openscoring Engine. Платформа Virtuoso напрямую взаимодействует со службой прогнозирования и использует функции развертывания и оценки модели при открытии оценок.

Как Cinglevue представила управляемую аналитику на платформе Virtuoso?

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

Доступ к источнику данных осуществляется непосредственно во внешнем интерфейсе. Важность заключается в том, что любой набор данных в формате csv может быть использован для получения новых идей с помощью этого рабочего процесса. Вскоре после загрузки набора данных пользователю необходимо выбрать целевую переменную. После выбора целевой переменной остальные извлеченные функции перечислены в списке «Доступные функции», и пользователь может выбрать любую функцию, которая, по его мнению, повлияет на результат. Выбранные функции отправляются на сервер KNIME через службу аналитики, чтобы запустить рабочий процесс и отправить обратно полученные оценочные метрики (точность). Значения точности получаются с использованием метода прямого выбора признаков путем итеративного добавления признаков. Полученные значения точности отображаются, как показано на рисунке ниже в разделе «Выбранные функции».

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

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

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

Затем следующим шагом является выбор алгоритмов машинного обучения, перечисленных в соответствии с функцией интеллектуального анализа данных, выбранной в разделе Выбор метода машинного обучения. Если выбран метод классификации, перечисляются алгоритмы классификации, а если выбран метод регрессии, алгоритмы регрессии перечислены в разделе «Выбор алгоритма». Выбранные алгоритмы вместе с набором данных и выбранными функциями отправляются на сервер KNIME для ответа с точностью или значениями R² для производительности выбранных алгоритмов вместе с лучшей моделью в формате PMML. Результат отображается в виде гистограммы, как показано на рисунке ниже.

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

На этом этапе мы завершили этапы выбора функций и обучения модели. Затем следует развертывание модели и ее оценка. Virtuoso Platform использует функциональные возможности движка Openscoring для этих двух целей.

PMML-файл лучшей модели, которую мы получили, развертывается в движке Openscoring с использованием идентификатора модели, заданного пользователем. Развернутые модели перечислены, как показано на рисунке ниже.

Как только пользователь нажимает кнопку «Оценить» конкретной модели, поля ввода, относящиеся к этой модели, отображаются вместе с допустимыми границами, как показано ниже на нескольких рисунках.

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

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

Если вам нужны разъяснения, напишите мне через [email protected]. Высоко ценим ваши ценные комментарии об этом подходе к автоматизации процесса анализа данных.

Дополнительная информация

[1] https://www.knime.com/blog/principles-of-guided-analytics

[2] https://www.knime.com/knime-software/knime-analytics-platform

[3] https://en.wikipedia.org/wiki/Data_science

[4] https://en.wikipedia.org/wiki/Machine_learning

[5] https://en.wikipedia.org/wiki/Automated_machine_learning