PMML

Материал из in.wiki
Перейти к навигации Перейти к поиску

Язык разметки для прогнозного моделирования (Predictive Model Markup Language — PMML) является языком разметки на основе XML, разработанным Data Mining Group (DMG) и обеспечивающим приложениям способ определения моделей, относящихся к прогнозной аналитике и анализу данных, а также обмен такими моделями между PMML-совместимыми приложениями.

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

Поскольку PMML — это стандарт на основе XML, его спецификация представлена в форме языка описания XML Schema. Более 30 организаций анонсировали продукты, поддерживающие PMML[1].

Компоненты PMML[править | править код]

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

Её можно описать следующей последовательностью компонент[2][3]:

  • Заголовок (Header): содержит общую информацию о документе PMML, например, информацию об авторском праве на модель, её описание, информацию о приложении, использованном для создания модели, например его название и версию. Он также содержит атрибут для временной метки, используемый для определения даты создания модели.
  • Словарь данных (Data Dictionary): содержит определения всех возможных полей, используемых в модели. Именно здесь поле определяется как непрерывное, категориальное или порядковое (атрибут optype). В зависимости от этого определения затем определяются соответствующие диапазоны значений, а также тип данных (например, строка или тип с двойной точностью).
  • Преобразования данных (Data Transformations): преобразования позволяют отобразить пользовательские данные в требуемой форме для использования модели интеллектуального анализа данных. PMML определяет несколько видов простых преобразований данных.
    • Нормализация (Normalization): отображает значения в числа, вход может быть непрерывным или дискретным.
    • Дискретизация (Discretization): отображает непрерывные значения в дискретные значения.
    • Отображение значений (Value mapping): отображает дискретные значения в дискретные значения.
    • Функции (Functions): вычисляет значения путём применения функции к одному или нескольким параметрам.
    • Агрегация (Aggregation): используется для суммирования или сборки группы значений.
  • Модель (Model): содержит определение модели интеллектуального анализа данных. Многослойная искусственная нейронная сеть прямого распространения является наиболее распространенным представлением нейронных сетей в современных приложениях, учитывая популярность и эффективность, связанные с её алгоритмом обучения, известным как метод обратного распространения ошибки. Такая сеть представлена в PMML элементом «NeuralNetwork», содержащим следующие атрибуты:
    • Название модели (атрибут modelName)
    • Название функции (атрибут functionName)
    • Название алгоритма (атрибут algorithmName)
    • Функция активации (атрибут activationFunction)
    • Количество слоев (атрибут numberOfLayers)

За этой информацией следуют три вида нейронных слоёв, которые определяют архитектуру модели нейронной сети, представленной документом PMML. Это атрибуты NeuralInputs, NeuralLayer и NeuralOutputs. Помимо нейронных сетей, PMML позволяет представлять многие другие модели интеллектуального анализа данных, включая метод опорных векторов, ассоциативные правила, наивный байесовский классификатор, модели кластеризации, текстовые модели, деревья принятия решений, а также различные регрессионные модели.

  • Схема анализа (Mining Schema): схема интеллектуального анализа данных содержит список всех полей, используемых в модели. Это может быть подмножество полей, определённое в словаре данных. Она содержит конкретные сведения о каждом поле, такие как:
    • Название (атрибут name): должно ссылаться на поле в словаре данных
    • Тип использования (атрибут usageType): определяет способ использования поля в модели. Стандартные значения: активное, прогнозируемое и дополнительное. Прогнозируемыми являются те поля, значения которых прогнозируются моделью.
    • Обработка выбросов (атрибут outliers): определяет используемый способ обработки выбросов. В PMML выбросы можно рассматривать как отсутствующие значения, как экстремальные значения (на основании определения верхних и нижних значений для той или иной области) или как есть.
    • Правило замены отсутствующих значений (атрибут missingValueReplacement): если этот атрибут указан, то отсутствующее значение автоматически заменяется заданным значением.
    • Обработка отсутствующего значения (атрибут missingValueTreatment): показывает, чем заменяется отсутствующее значение (например, значением, средним или медианой).
  • Цели (Targets): позволяют выполнять пост-обработку прогнозируемого значения в формате масштабирования, если выход модели непрерывен. Цели могут быть также использованы для задач классификации. В этом случае атрибут priorProbability указывает вероятности по умолчанию для соответствующей категории цели. Он используется, если логика прогнозирования не производит результат сама по себе. Это может произойти, например, если входное значение отсутствует, и нет другого способа определить недостающие значения.
  • Выход (Output): этот элемент может быть использован, чтобы указать все требуемые поля вывода, ожидаемые от модели. Это особенности прогнозируемого поля, а также обычно само прогнозируемое значение, вероятность, близость к кластеру (для моделей кластеризации), стандартная ошибка и т. д.

История выпусков[править | править код]

PMML был разработан Робертом Ли Гроссманом, тогдашним директором Национального центра интеллектуального анализа данных (National Center for Data Mining Language) при Иллинойсском университете в Чикаго.

Версия 0.9 - последняя версия, выпущенная лично им[4], последующие велись Data Mining Group[5].

Версия 0.7 Июль 1997
Версия 0.9 Июль 1998
Версия 1.0 Август 1999
Версия 1.1 Август 2000
Версия 2.0 Август 2001
Версия 2.1 Март 2003
Версия 3.0 Октябрь 2004
Версия 3.1 Декабрь 2005
Версия 3.2 Май 2007
Версия 4.0 Июнь 2009
Версия 4.1 Декабрь 2011
Версия 4.2 Февраль 2014
Версия 4.2.1 Март 2015
Версия 4.3 Август 2016
Версия 4.4 Ноябрь 2019

PMML 4.x[править | править код]

Версия PMML, 4.0, была выпущена 16 июня 2009[6][7][8].

Среди новых возможностей:

PMML 4.1 была выпущена 31 декабря 2011[9][10].

В неё были включены следующие усовершенствования:

  • Улучшенные возможности предварительной обработки: В число встроенных функций добавлены ряд булевых операций и функция If-Then-Else;
  • Модели временных рядов: Новые модели экспоненциального сглаживания; а также плэйсхолдеры для ARIMA, разложения сезонных трендов и оценки спектральной плотности, поддержка которых планируется в ближайшем будущем;
  • Описание модели: Сохранение результатов оценки и показателей эффективности модели в самом файле PMML;
  • Множественные модели: Возможности композиции моделей, ансамблей и сегментации (например, объединение регрессии и деревьев решений);
  • Расширения существующих элементов: Добавление многоклассовой классификации для метода опорных векторов, улучшенное представление правил ассоциации и добавление моделей регрессии Кокса.

PMML 4.2 была выпущена 28 февраля 2014[11][12].

Новые функции включают:

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

PMML 4.3 была выпущена 23 августа 2016[13][14].

Среди новых возможностей:

  • Новые типы моделей:
    • Gaussian Process
    • Байесова сеть
  • новые встроенные функции
  • уточнение формулировок и доработки в документации

PMML 4.4 была выпущена 27 ноября 2019[15][16].

Продукты, поддерживающие PMML[править | править код]

Спектр программных продуктов, предлагаемых для создания и использования PMML:

Генератор преобразований[править | править код]

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

См. также[править | править код]

Примечания[править | править код]

  1. PMML Powered. Data Mining Group. Дата обращения: 14 декабря 2017.
  2. A. Guazzelli, M. Zeller, W. Chen, and G. Williams. PMML: An Open Standard for Sharing Models Архивная копия от 23 ноября 2009 на Wayback Machine. The R Journal, Volume 1/1, May 2009.
  3. A. Guazzelli, W. Lin, T. Jena (2010). PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics Архивная копия от 18 июня 2022 на Wayback Machine. CreateSpace.
  4. The management and mining of multiple predictive models using the predictive modeling markup language. ResearchGate. doi:10.1016/S0950-5849(99)00022-1. Дата обращения: 21 декабря 2015.
  5. Data Mining Group. — «The DMG is proud to host the working groups that develop the Predictive Model Markup Language (PMML) and the Portable Format for Analytics (PFA), two complementary standards that simplify the deployment of analytic models.» Дата обращения: 14 декабря 2017.
  6. Data Mining Group website | PMML 4.0 — Changes from PMML 3.2 Архивировано 28 июля 2012 года.
  7. Zementis website | PMML 4.0 is here! Дата обращения: 2 сентября 2011. Архивировано из оригинала 3 октября 2011 года.
  8. R. Pechter. What’s PMML and What’s New in PMML 4.0? Архивная копия от 6 октября 2011 на Wayback Machine The ACM SIGKDD Explorations Newsletter, Volume 11/1, July 2009.
  9. Data Mining Group website | PMML 4.1 - Changes from PMML 4.0. Дата обращения: 24 октября 2017. Архивировано 25 октября 2017 года.
  10. Predictive Analytics Info website | PMML 4.1 is here! Дата обращения: 24 октября 2017. Архивировано 25 октября 2017 года.
  11. Data Mining Group website | PMML 4.2 - Changes from PMML 4.1 Архивировано 20 мая 2014 года.
  12. Predictive Analytics Info website | PMML 4.2 is here! Дата обращения: 24 октября 2017. Архивировано 25 октября 2017 года.
  13. Data Mining Group website | PMML 4.3 - Changes from PMML 4.2.1. Дата обращения: 24 октября 2017. Архивировано 28 июня 2017 года.
  14. Predictive Model Markup Language product website | Project activity. Дата обращения: 24 октября 2017. Архивировано 12 июня 2018 года.
  15. The Data Mining Group releases Predictive Model Markup Language v4.4. Дата обращения: 19 января 2023. Архивировано 19 января 2023 года.
  16. PMML 4.4.1 - General Structure. Data Mining Group. Дата обращения: 12 июля 2021.

Ссылки[править | править код]