Язык разметки прогнозного моделирования
Язык разметки для прогнозного моделирования (Predictive Model Markup Language — PMML) является языком разметки на основе XML, разработанным Data Mining Group (DMG) и обеспечивающим приложениям способ определения моделей, относящихся к прогнозной аналитике и анализу данных, а также обмен такими моделями между PMML-совместимыми приложениями.
PMML предоставляет приложениям независимый от производителей метод определения модели, поэтому проприетарные проблемы и несовместимости больше не являются препятствием для обмена моделями между приложениями. Он позволяет пользователям разрабатывать модели в приложении одного производителя и использовать приложения других производителей для визуализации, анализа, оценки и иного использования моделей. Ранее это было затруднено, но с PMML обмен моделями между совместимыми приложениями упростился.
Поскольку PMML — это стандарт на основе XML, его спецификация представлена в форме языка описания XML Schema.
Компоненты PMML
PMML содержит интуитивно понятную структуру для описания модели анализа данных, будь то искусственная нейронная сеть или логистическая регрессия.
Её можно описать следующей последовательностью компонент[1][2]:
- Заголовок (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 4.x
Версия PMML, 4.0, была выпущена 16 июня 2009[3][4][5].
Среди новых возможностей:
PMML 4.1 была выпущена 31 декабря 2011[6][7].
PMML 4.2 была выпущена 28 февраля 2014[8][9].
PMML 4.3 была выпущена 23 августа 2016[10][11].
Среди новых возможностей:
- Новые типы моделей:
- Gaussian Process
- Байесова сеть
- новые встроенные функции
- уточнение формулировок и доработки в документации
PMML 4.4 была выпущена 27 ноября 2019[12].
История выпусков
Версия 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
|
Продукты, поддерживающие PMML
Спектр программных продуктов, предлагаемых для создания и использования PMML:
- Angoss KnowledgeSTUDIO: создаёт PMML 3.2 для регрессионных моделей (логистических и линейных), деревьев решений, кластерного анализа, нейронных сетей и моделей на основе набора правил (используется для представления показателей).
- Angoss KnowledgeSEEKER: создаёт PMML 3.2 для деревьев решений.
- Angoss StrategyBuilder (модуль расширения для KnowledgeSEEKER и KnowledgeSTUDIO): создает PMML 3.2 для деревьев решений (используется для представления деревьев стратегии).
- IBM InfoSphere Warehouse: создаёт PMML 3.0 и 3.1 только для последовательностей моделей. Принимает (оценивает и визуализирует) PMML 3.1 и младше.
- IBM SPSS Modeler: создаёт и оценивает PMML 3.2 и 4.0 для различных моделей.
- IBM SPSS Statistics: создаёт PMML 3.2 и 4.0 для различных моделей.
- KNIME: создаёт и принимает PMML 4.0 для нейронных сетей, деревьев решений, моделей кластеризации, регрессионных моделей и метода опорных векторов. Начиная с версии 2.4.0, KNIME предлагает расширенную поддержку предварительной обработки PMML, включая возможность правки существующего кода PMML.
- KXEN: создаёт PMML 3.2 для регрессионных моделей (том числе моделей интеллектуального анализа данных) и кластерного анализа.
- Microsoft SQL Server 2008 Analysis Services: создаёт и принимает PMML 2.1 для деревьев решений и кластерного анализа.
- MicroStrategy: поддерживает PMML 2.0, 2.1, 3.0, 3.1, 3.2 и 4.0 для линейной регрессии, логистической регрессии, деревьев решений, кластерного анализа, ассоциативных правил, временных рядов, нейронных сетей и метода опорных векторов.
- Open Data Group’s Augustus: создаёт PMML 4.0 для деревьев, наивного байесовского классификатора и моделей на основе набора правил. Принимает PMML 4.0 модели деревьев, наивного байесовского классификатора, на основе набора правил и регрессионные модели. Предыдущие версии создавали и принимали регрессионные модели, модели деревьев и наивного байесовского классификатора.
- Oracle Data Mining: поддерживает основные возможности PMML 3.1 для регрессионных моделей. Импортированные модели становятся моделями Oracle Data Mining (ODM), пригодными к выгрузке в Exadata.
- Pervasive DataRush: создаёт и принимает PMML 3.2 для регрессионных моделей, деревьев решений и наивного байесовского классификатора. Создает PMML 3.2 для ассоциативных правил и кластерного анализа (K-means Center-Based).
- Predixion PMML Connexion: принимает PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа данных, в том числе деревьев решений, моделей на основе набора правил, метода опорных векторов, нейронных сетей, наивного байесовского классификатора, линейной и логистической регрессии, а также кластерного анализа.
- RapidMiner: использует свободное расширение PMML, несколько типов моделей можно экспортировать в PMML.
- Rattle/R: использует R (язык программирования) для построения нескольких прогнозных моделей. Предлагает пакет PMML для экспорта моделей на R в PMML 3.2. Пакет поддерживает экспорт моделей метода опорных векторов, линейной регрессии, логистической регрессии, деревьев решений, алгоритма случайного леса, нейронных сетей, алгоритма к-средних и иерархической кластеризации, а также ассоциативных правил.
- Salford-Systems CART: система деревьев решений, создающая PMML 3.1.
- SAND CDBMS 6.1 PMML Extension: принимает PMML версий 3.1 и 3.2 для нескольких моделей интеллектуального анализа данных, включая модели ассоциативных правил, кластеризации, регрессии, нейронных сетей, наивного байесовского классификатора, метода опорных векторов, набора правил и деревьев решений. Также принимает элементы препроцессинга и встроенные функции.
- SAS Enterprise Miner: создаёт PMML 2.1 и 3.1 для нескольких моделей интеллектуального анализа данных, включая модели линейной регрессии, логистической регрессии, деревьев решений, нейронных сетей, алгоритма к-средних и ассоциативных правил.
- STATISTICA: создаёт PMML 2.0 и 3.0 для анализа моделей линейной регрессии, логистической регрессии, деревьев решений, метода опорных векторов и нейронных сетей
- TIBCO Spotfire Miner 8.1: создаёт и принимает PMML 2.0 для регрессионных моделей, деревьев решений, нейронных сетей, кластерного анализа и наивного байесовского классификатора.
- TERADATA Warehouse Miner 5.3.1: принимает от PMML 2.1 до 3.2 для регрессионных моделей, деревьев решений, нейронных сетей, кластерного анализа и моделей интеллектуального анализа данных (регрессионного типа).
- Weka (Pentaho): принимает PMML 3.2 для регрессионных моделей, деревьев решений, нейронных сетей, системы правил и метода опорных векторов.
- Zementis ADAPA: пакетная и немедленная оценка PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа данных, включая модели деревьев решений, ассоциативных правил, метода опорных векторов, нейронных сетей, наивного байесовского классификатора, системы правил, линейной илогистической регрессии, а также моделей регрессии Кокса (Cox) и кластерного анализа. ADAPA также принимает все элементы пред- и постобработки PMML, включая преобразования, встроенные функции, выходы и цели.
- Zementis PMML Converter: проверяет, правит и преобразует файлы PMML версий 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0.
- Zementis Universal PMML Plug-in: оценка в базе данных для PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа. Доступна в EMC Greenplum Database.
- Intersystems IRIS: принимает и выполняет модели PMML версий 4.1, 4.2, 4.3, 4.4.
Генератор преобразований
PMML предлагает большой набор преобразований данных, в том числе отображение значений, нормализацию и дискретизацию. Он также предлагает несколько встроенных функций, а также арифметические и логические операции, которые могут быть объединены для представления сложных этапов предварительной обработки. С использованием Transformations Generator можно графически создать преобразование и получить соответствующий код на PMML.
Примечания
Ссылки
|
|