PMML: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
w>WikitanvirBot
м (r2.7.1) (робот добавил: it:Predictive Model Markup Language)
w>Butko
(оформление)
Строка 1: Строка 1:
[[File:PMML Logo.png|right]] '''Язык разметки для прогнозного моделирования''' ('''Predictive Model Markup Language - PMML''') является [[ Язык разметки | языком разметки ]] на основе [[XML]], разработанным Data Mining Group (DMG), и обеспечивающим приложениям способ определения моделей, относящихся к [[Прогнозная аналитика | прогнозной аналитике]] и [[Data Mining|анализу данных]], а также обмен такими моделями между PMML-совместимыми приложениями.
+
'''Язык разметки для прогнозного моделирования''' ('''Predictive Model Markup Language — PMML''') является [[ Язык разметки | языком разметки ]] на основе [[XML]], разработанным Data Mining Group (DMG), и обеспечивающим приложениям способ определения моделей, относящихся к [[Прогнозная аналитика | прогнозной аналитике]] и [[Data Mining|анализу данных]], а также обмен такими моделями между PMML-совместимыми приложениями.
  
 
PMML предоставляет приложениям независимый от производителей метод определения модели, поэтому проприетарные проблемы и несовместимости больше не являются препятствием для обмена моделями между приложениями. Он позволяет пользователям разрабатывать модели в приложении одного производителя и использовать приложения других производителей для визуализации, анализа, оценки и иного использовани\ моделей. Ранее это было затруднено, но с PMML, обмен моделями между совместимыми приложениями упростился.
 
PMML предоставляет приложениям независимый от производителей метод определения модели, поэтому проприетарные проблемы и несовместимости больше не являются препятствием для обмена моделями между приложениями. Он позволяет пользователям разрабатывать модели в приложении одного производителя и использовать приложения других производителей для визуализации, анализа, оценки и иного использовани\ моделей. Ранее это было затруднено, но с PMML, обмен моделями между совместимыми приложениями упростился.
  
Поскольку PMML - это стандарт на основе XML, его спецификация представлена в форме языка описания [[XML Schema]].
+
Поскольку PMML — это стандарт на основе XML, его спецификация представлена в форме языка описания [[XML Schema]].
  
==Компоненты PMML==
+
== Компоненты PMML ==
 
PMML содержит интуитивно понятную структуру для описания модели анализа данных, будь то [[искусственная нейронная сеть]] или [[логистическая регрессия]].
 
PMML содержит интуитивно понятную структуру для описания модели анализа данных, будь то [[искусственная нейронная сеть]] или [[логистическая регрессия]].
 
[[File:PMMLComponents.jpg|right|350px|H3|]]
 
  
 
Её можно описать следующей последовательностью компонент:<ref>A. Guazzelli, M. Zeller, W. Chen, and G. Williams. [http://journal.r-project.org/2009-1/RJournal_2009-1_Guazzelli+et+al.pdf PMML: An Open Standard for Sharing Models]. ''The R Journal'', Volume 1/1, May 2009.</ref><ref>A. Guazzelli, W. Lin, T. Jena (2010). [http://www.amazon.com/dp/1452858268 PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics]. CreateSpace.</ref>
 
Её можно описать следующей последовательностью компонент:<ref>A. Guazzelli, M. Zeller, W. Chen, and G. Williams. [http://journal.r-project.org/2009-1/RJournal_2009-1_Guazzelli+et+al.pdf PMML: An Open Standard for Sharing Models]. ''The R Journal'', Volume 1/1, May 2009.</ref><ref>A. Guazzelli, W. Lin, T. Jena (2010). [http://www.amazon.com/dp/1452858268 PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics]. CreateSpace.</ref>
  
* '''Заголовок (Header)''': содержит общую информацию о документе PMML, например, информацию об авторском праве на модель, ее описание, информацию о приложении, использованном для создания модели, например его название и версию. Он также содержит атрибут для временной метки, используемый для определения даты создания модели.  
+
* '''Заголовок (Header)''': содержит общую информацию о документе PMML, например, информацию об авторском праве на модель, её описание, информацию о приложении, использованном для создания модели, например его название и версию. Он также содержит атрибут для временной метки, используемый для определения даты создания модели.
  
* '''Словарь данных (Data Dictionary)''': содержит определения всех возможных полей, используемых в модели. Именно здесь поле определяется как непрерывное, категориальное, или порядковое (атрибут optype). В зависимости от этого определения затем определяются соответствующие диапазоны значений, а также тип данных (например, строка или тип с двойной точностью).  
+
* '''Словарь данных (Data Dictionary)''': содержит определения всех возможных полей, используемых в модели. Именно здесь поле определяется как непрерывное, категориальное, или порядковое (атрибут optype). В зависимости от этого определения затем определяются соответствующие диапазоны значений, а также тип данных (например, строка или тип с двойной точностью).
  
* '''Преобразования данных (Data Transformations)''': преобразования позволяют отобразить пользовательские данные в требуемой форме для использования модели интеллектуального анализа данных. PMML определяет несколько видов простых преобразований данных.  
+
* '''Преобразования данных (Data Transformations)''': преобразования позволяют отобразить пользовательские данные в требуемой форме для использования модели интеллектуального анализа данных. PMML определяет несколько видов простых преобразований данных.
 
** Нормализация (Normalization): отображает значения в числа, вход может быть непрерывным или дискретным.
 
** Нормализация (Normalization): отображает значения в числа, вход может быть непрерывным или дискретным.
 
** Дискретизация (Discretization): отображает непрерывные значения в дискретные значения.
 
** Дискретизация (Discretization): отображает непрерывные значения в дискретные значения.
Строка 23: Строка 21:
 
** Агрегация (Aggregation): используется для суммирования или сборки группы значений.
 
** Агрегация (Aggregation): используется для суммирования или сборки группы значений.
  
* '''Модель (Model)''': содержит определение модели интеллектуального анализа данных. Многослойная [[искусственная нейронная сеть]] [[feedforward neural network | прямого распространения]] является наиболее распространенным представлением нейронных сетей в современных приложениях, учитывая популярность и эффективность, связанные с её алгоритмом обучения, известным как [[метод обратного распространения ошибки]]. Такая сеть представлен в PMML элементом "NeuralNetwork", содержащим следующие атрибуты:
+
* '''Модель (Model)''': содержит определение модели интеллектуального анализа данных. Многослойная [[искусственная нейронная сеть]] [[feedforward neural network | прямого распространения]] является наиболее распространенным представлением нейронных сетей в современных приложениях, учитывая популярность и эффективность, связанные с её алгоритмом обучения, известным как [[метод обратного распространения ошибки]]. Такая сеть представлен в PMML элементом «NeuralNetwork», содержащим следующие атрибуты:
 
** Название модели (атрибут modelName)
 
** Название модели (атрибут modelName)
 
** Название функции (атрибут functionName)
 
** Название функции (атрибут functionName)
Строка 34: Строка 32:
 
** Название (атрибут name): должно ссылаться на поле в словаре данных
 
** Название (атрибут name): должно ссылаться на поле в словаре данных
 
** Тип использования (атрибут usageType): определяет способ использования поля в модели. Стандартные значения: активное, прогнозируемое, и дополнительное. Прогнозируемыми являются те поля, значения которых прогнозируются моделью.
 
** Тип использования (атрибут usageType): определяет способ использования поля в модели. Стандартные значения: активное, прогнозируемое, и дополнительное. Прогнозируемыми являются те поля, значения которых прогнозируются моделью.
** Обработка выбросов (атрибут outliers): определяет используемый спосбо обработки выбросов. В PMML выбросы можно рассматривать как отсутствующие значения, как экстремальные значения (на основании определения верхних и нижних значений для той или иной области), или как есть.  
+
** Обработка выбросов (атрибут outliers): определяет используемый спосбо обработки выбросов. В PMML выбросы можно рассматривать как отсутствующие значения, как экстремальные значения (на основании определения верхних и нижних значений для той или иной области), или как есть.
 
** Правило замены отсусттвующих значений (атрибут missingValueReplacement): если этот атрибут указан, то отсутствующее значение автоматически заменяется заданным значением.
 
** Правило замены отсусттвующих значений (атрибут missingValueReplacement): если этот атрибут указан, то отсутствующее значение автоматически заменяется заданным значением.
 
** Обработка отсутствующего значения (атрибут missingValueTreatment): показывает, чем заменяется отсутствующее значение (например, значением, средним или медианой).
 
** Обработка отсутствующего значения (атрибут missingValueTreatment): показывает, чем заменяется отсутствующее значение (например, значением, средним или медианой).
  
* '''Цели (Targets)''': позволяют пост-обработку прогнозируемого значения в формате масштабирования, если выход модели непрерывен. Цели могут быть также использованы для задач классификации. В этом случае атрибут priorProbability указывает вероятности по умолчанию для соответствующей категории цели. Он используется, если логика прогнозирования не производит результат сама по себе. Это может произойти, например, если входное значение отсутствует, и нет другого способа определить недостающие значения.  
+
* '''Цели (Targets)''': позволяют пост-обработку прогнозируемого значения в формате масштабирования, если выход модели непрерывен. Цели могут быть также использованы для задач классификации. В этом случае атрибут priorProbability указывает вероятности по умолчанию для соответствующей категории цели. Он используется, если логика прогнозирования не производит результат сама по себе. Это может произойти, например, если входное значение отсутствует, и нет другого способа определить недостающие значения.
  
* '''Выход (Output)''': этот элемент может быть использован, чтобы указать все требуемые поля вывода, ожидаемые от модели. Это особенности прогнозируемого поля а также обычно само прогнозируемое значение, вероятность, близость к кластеру (для моделей кластеризации), стандартная ошибка и т.д.
+
* '''Выход (Output)''': этот элемент может быть использован, чтобы указать все требуемые поля вывода, ожидаемые от модели. Это особенности прогнозируемого поля а также обычно само прогнозируемое значение, вероятность, близость к кластеру (для моделей кластеризации), стандартная ошибка и т. д.
  
==PMML 4.0==
+
== PMML 4.0 ==
Последняя версия PMML, 4.0, была выпущена 16 июня 2009.<ref>[http://www.dmg.org/v4-0/Changes.html Data Mining Group website | PMML 4.0 - Changes from PMML 3.2]</ref><ref>[http://adapasupport.zementis.com/2009/06/pmml-40-is-here.html Zementis website | PMML 4.0 is here!]</ref><ref>R. Pechter. [http://www.sigkdd.org/explorations/issues/11-1-2009-07/p3V11n1.pdf What's PMML and What's New in PMML 4.0?] ''The ACM SIGKDD Explorations Newsletter'', Volume 11/1, July 2009.</ref>
+
Последняя версия PMML, 4.0, была выпущена 16 июня 2009.<ref>[http://www.dmg.org/v4-0/Changes.html Data Mining Group website | PMML 4.0 — Changes from PMML 3.2]</ref><ref>[http://adapasupport.zementis.com/2009/06/pmml-40-is-here.html Zementis website | PMML 4.0 is here!]</ref><ref>R. Pechter. [http://www.sigkdd.org/explorations/issues/11-1-2009-07/p3V11n1.pdf What’s PMML and What’s New in PMML 4.0?] ''The ACM SIGKDD Explorations Newsletter'', Volume 11/1, July 2009.</ref>
  
 
Среди новых возможностей:
 
Среди новых возможностей:
  
* '''Улучшенные возможности препроцессинга''': Дополнения к встроенным функциям включают в себя спектр операций [[ Алгебра логики | алгебры логики]] и [[Оператор ветвления | операторов ветвления]].  
+
* '''Улучшенные возможности препроцессинга''': Дополнения к встроенным функциям включают в себя спектр операций [[ Алгебра логики | алгебры логики]] и [[Оператор ветвления | операторов ветвления]].
  
 
* '''Модели [[Временной ряд | временных рядов]]''': Новые экспоненциальные модели [[Smoothing | сглаживания]]; а также точки интеграции [[ARIMA]], [[Seasonal adjustment|Seasonal Trend Decomposition]] и [[Spectral Analysis]], планируемых к включению в ближайшее время.
 
* '''Модели [[Временной ряд | временных рядов]]''': Новые экспоненциальные модели [[Smoothing | сглаживания]]; а также точки интеграции [[ARIMA]], [[Seasonal adjustment|Seasonal Trend Decomposition]] и [[Spectral Analysis]], планируемых к включению в ближайшее время.
Строка 53: Строка 51:
 
* '''Пояснение модели''': Сохранение показателей оценки и эффективности модели в самом файле PMML.
 
* '''Пояснение модели''': Сохранение показателей оценки и эффективности модели в самом файле PMML.
  
* '''Множественные модели''': Возможности для композиции моделей, ансамблей, и сегментации (например, объединение [[Регрессионный анализ | регрессионного анализа]] и деревьев решений).  
+
* '''Множественные модели''': Возможности для композиции моделей, ансамблей, и сегментации (например, объединение [[Регрессионный анализ | регрессионного анализа]] и деревьев решений).
  
 
* '''Расширение существующих элементов''': Добавление [[multi-class classification | многоклассовой классификации]] для [[Метод опорных векторов | метода опорных векторов]], улучшенное представление [[Association rule|ассоциативных правил]], и включение [[Proportional hazards models|моделей пропорциональных рисков]].
 
* '''Расширение существующих элементов''': Добавление [[multi-class classification | многоклассовой классификации]] для [[Метод опорных векторов | метода опорных векторов]], улучшенное представление [[Association rule|ассоциативных правил]], и включение [[Proportional hazards models|моделей пропорциональных рисков]].
  
==История выпусков==
+
== История выпусков ==
 
<table cellspacing="1" cellpadding="1" border="0" width="250">
 
<table cellspacing="1" cellpadding="1" border="0" width="250">
 
         <tr><td>Версия 0.7</td><td>July 1997</td></tr>
 
         <tr><td>Версия 0.7</td><td>July 1997</td></tr>
Строка 71: Строка 69:
 
</table>
 
</table>
  
==Продукты, поддерживающие PMML==
+
== Продукты, поддерживающие PMML ==
 
Спектр программных продуктов, предлагаемых для создания и использования PMML:
 
Спектр программных продуктов, предлагаемых для создания и использования PMML:
  
Строка 86: Строка 84:
 
* '''[http://www.spss.com/software/statistics/ IBM SPSS Statistics]''': создает PMML 3.2 и 4.0 для различных моделей.
 
* '''[http://www.spss.com/software/statistics/ IBM SPSS Statistics]''': создает PMML 3.2 и 4.0 для различных моделей.
  
* '''[http://www.knime.com/ KNIME]''': создает и принимает PMML 4.0 для [[Искусственная нейронная сеть | нейронных сетей]], деревьев решений, моделей кластеризации, регрессионных моделей, и [[Метод опорных векторов | метода опорных векторов]]. Начиная с версии 2.4.0, KNIME предлагает расширенную поддержку прдварительной обработки PMML, включая возможность правки существующего кода PMML.
+
* '''[http://www.knime.com/ KNIME]''': создает и принимает PMML 4.0 для [[Искусственная нейронная сеть | нейронных сетей]], деревьев решений, моделей кластеризации, регрессионных моделей, и [[Метод опорных векторов | метода опорных векторов]]. Начиная с версии 2.4.0, KNIME предлагает расширенную поддержку прдварительной обработки PMML, включая возможность правки существующего кода PMML.
  
 
* '''[http://www.kxen.com/ KXEN]''': создает PMML 3.2 для регрессионных моделей (том числе моделей интеллектуального анализа данных) и [[Кластерный анализ | кластерного анализа]].
 
* '''[http://www.kxen.com/ KXEN]''': создает PMML 3.2 для регрессионных моделей (том числе моделей интеллектуального анализа данных) и [[Кластерный анализ | кластерного анализа]].
Строка 94: Строка 92:
 
* '''[http://www.microstrategy.com/Software/Products/Service_Modules/DataMining_Services/index.asp MicroStrategy]''': поддерживает PMML 2.0, 2.1, 3.0, 3.1, 3.2 и 4.0 для [[linear regression | линейной регрессии]], [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[Кластерный анализ | кластерного анализа]], [[Association rule|ассоциативных правил]], [[Временной ряд | временных рядов]], [[Искусственная нейронная сеть | нейронных сетей]] и [[Метод опорных векторов | метода опорных векторов]].
 
* '''[http://www.microstrategy.com/Software/Products/Service_Modules/DataMining_Services/index.asp MicroStrategy]''': поддерживает PMML 2.0, 2.1, 3.0, 3.1, 3.2 и 4.0 для [[linear regression | линейной регрессии]], [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[Кластерный анализ | кластерного анализа]], [[Association rule|ассоциативных правил]], [[Временной ряд | временных рядов]], [[Искусственная нейронная сеть | нейронных сетей]] и [[Метод опорных векторов | метода опорных векторов]].
  
* '''[http://opendatagroup.com/open-source/augustus-scoring-engine/ Open Data Group's Augustus]''': Создает PMML 4.0 для деревьев, наивного байесовского классификатора и моделей на основе набора правил. Принимает PMML 4.0 модели деревьев, наивного байесовского классификатора, на основе набора правил и регрессионные модели. Предыдущие версии создавали и принимали регрессионные модели, модели деревьев и наивного байесовского классификатора.
+
* '''[http://opendatagroup.com/open-source/augustus-scoring-engine/ Open Data Group’s Augustus]''': Создает PMML 4.0 для деревьев, наивного байесовского классификатора и моделей на основе набора правил. Принимает PMML 4.0 модели деревьев, наивного байесовского классификатора, на основе набора правил и регрессионные модели. Предыдущие версии создавали и принимали регрессионные модели, модели деревьев и наивного байесовского классификатора.
  
 
* '''[http://www.oracle.com/technetwork/database/options/odm/index.html Oracle Data Mining]''': поддерживает основные возможности PMML 3.1 для регрессионных моделей. Импортированные модели становятся моделями Oracle Data Mining (ODM), пригодными к выгрузке в Exadata.
 
* '''[http://www.oracle.com/technetwork/database/options/odm/index.html Oracle Data Mining]''': поддерживает основные возможности PMML 3.1 для регрессионных моделей. Импортированные модели становятся моделями Oracle Data Mining (ODM), пригодными к выгрузке в Exadata.
  
* '''[http://www.pervasivedatarush.com Pervasive DataRush]''': создает и принимает PMML 3.2 для регрессионных моделей, деревьев решений и [[наивный байесовский классификатор | наивного байесовского классификатора]]. Создает PMML 3.2 для [[Association rule|ассоциативных правил]] и [[Кластерный анализ | кластерного анализа]] (K-means Center-Based).
+
* '''[http://www.pervasivedatarush.com Pervasive DataRush]''': создает и принимает PMML 3.2 для регрессионных моделей, деревьев решений и [[наивный байесовский классификатор | наивного байесовского классификатора]]. Создает PMML 3.2 для [[Association rule|ассоциативных правил]] и [[Кластерный анализ | кластерного анализа]] (K-means Center-Based).
  
 
* '''[http://www.predixionsoftware.com/predixion/PredixionProducts/PredixionPMMLConnexion.aspx Predixion PMML Connexion]''': принимает PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа данных, в том числе деревьев решений, моделей на основе набора правил, [[Метод опорных векторов | метода опорных векторов]], [[Искусственная нейронная сеть | нейронных сетей]], [[наивный байесовский классификатор | наивного байесовского классификатора]], линейной и [[Логистическая регрессия | логистической регрессии]] а также [[Кластерный анализ | кластерного анализа]].
 
* '''[http://www.predixionsoftware.com/predixion/PredixionProducts/PredixionPMMLConnexion.aspx Predixion PMML Connexion]''': принимает PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа данных, в том числе деревьев решений, моделей на основе набора правил, [[Метод опорных векторов | метода опорных векторов]], [[Искусственная нейронная сеть | нейронных сетей]], [[наивный байесовский классификатор | наивного байесовского классификатора]], линейной и [[Логистическая регрессия | логистической регрессии]] а также [[Кластерный анализ | кластерного анализа]].
  
* '''[http://rapidminer.com/ RapidMiner]''': Использует свободное расширение PMML, несколько типов моделей можно экспортировать в PMML.  
+
* '''[http://rapidminer.com/ RapidMiner]''': Использует свободное расширение PMML, несколько типов моделей можно экспортировать в PMML.
  
 
* '''[http://rattle.togaware.com/ Rattle/R]''': Использует [[R (язык программирования)]] для построения нескольких прогнозных моделей. Предлагает пакет PMML для экспорта моделей на R в PMML 3.2. Пакет поддерживает экспорт моделей [[Метод опорных векторов | метода опорных векторов]], линейной регрессии, [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[random forest | алгоритма случайного леса]], [[Искусственная нейронная сеть | нейронных сетей]], [[K-means | алгоритма к-средних]] и иерархической кластеризации, а также [[Association rule|ассоциативных правил]].
 
* '''[http://rattle.togaware.com/ Rattle/R]''': Использует [[R (язык программирования)]] для построения нескольких прогнозных моделей. Предлагает пакет PMML для экспорта моделей на R в PMML 3.2. Пакет поддерживает экспорт моделей [[Метод опорных векторов | метода опорных векторов]], линейной регрессии, [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[random forest | алгоритма случайного леса]], [[Искусственная нейронная сеть | нейронных сетей]], [[K-means | алгоритма к-средних]] и иерархической кластеризации, а также [[Association rule|ассоциативных правил]].
Строка 112: Строка 110:
 
* '''[http://www.sas.com/technologies/analytics/datamining/miner/ SAS Enterprise Miner]''': создает PMML 2.1 и 3.1 для нескольких моделей интеллектуального анализа данных, включая модели линейной регрессии, [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], [[K-means | алгоритма к-средних]] и [[Association rule|ассоциативных правил]].
 
* '''[http://www.sas.com/technologies/analytics/datamining/miner/ SAS Enterprise Miner]''': создает PMML 2.1 и 3.1 для нескольких моделей интеллектуального анализа данных, включая модели линейной регрессии, [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], [[K-means | алгоритма к-средних]] и [[Association rule|ассоциативных правил]].
  
*''' [http://www.statsoft.com STATISTICA]''': создает PMML 2.0 и 3.0 для анализа моделей линейной регрессии, [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[Метод опорных векторов | метода опорных векторов]] и [[Искусственная нейронная сеть | нейронных сетей]]
+
* ''' [http://www.statsoft.com STATISTICA]''': создает PMML 2.0 и 3.0 для анализа моделей линейной регрессии, [[Логистическая регрессия | логистической регрессии]], деревьев решений, [[Метод опорных векторов | метода опорных векторов]] и [[Искусственная нейронная сеть | нейронных сетей]]
  
*''' [http://spotfire.tibco.com TIBCO Spotfire Miner 8.1]''': создает и принимает PMML 2.0 для регрессионных моделей, деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], [[Кластерный анализ | кластерного анализа]] и [[наивный байесовский классификатор | наивного байесовского классификатора]].
+
* ''' [http://spotfire.tibco.com TIBCO Spotfire Miner 8.1]''': создает и принимает PMML 2.0 для регрессионных моделей, деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], [[Кластерный анализ | кластерного анализа]] и [[наивный байесовский классификатор | наивного байесовского классификатора]].
  
*''' [http://www.teradata.com/ TERADATA Warehouse Miner 5.3.1]''': принимает от PMML 2.1 до 3.2 для регрессионных моделей, деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], [[Кластерный анализ | кластерного анализа]] и моделей интеллектуального анализа данных (регрессионного типа).
+
* ''' [http://www.teradata.com/ TERADATA Warehouse Miner 5.3.1]''': принимает от PMML 2.1 до 3.2 для регрессионных моделей, деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], [[Кластерный анализ | кластерного анализа]] и моделей интеллектуального анализа данных (регрессионного типа).
  
*''' [http://www.pentaho.com/ Weka (Pentaho)]''': принимает PMML 3.2 для регрессионных моделей, деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], системы правил и [[Метод опорных векторов | метода опорных векторов]].
+
* ''' [http://www.pentaho.com/ Weka (Pentaho)]''': принимает PMML 3.2 для регрессионных моделей, деревьев решений, [[Искусственная нейронная сеть | нейронных сетей]], системы правил и [[Метод опорных векторов | метода опорных векторов]].
  
 
* '''[http://www.zementis.com Zementis ADAPA]''': пакетная и немедленная оценка PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа данных, включая модели деревьев решений, [[Association rule|ассоциативных правил]], [[Метод опорных векторов | метода опорных векторов]], [[Искусственная нейронная сеть | нейронных сетей]], [[наивный байесовский классификатор | наивного байесовского классификатора]], системы правил, линейной и[[Логистическая регрессия | логистической регрессии]], а также моделей регресии Кокса (Cox) и [[Кластерный анализ | кластерного анализа]]. ADAPA также принимает все элементы пред- и постобработки PMML, включая преобразования, встроенные функции, выходы и цели.
 
* '''[http://www.zementis.com Zementis ADAPA]''': пакетная и немедленная оценка PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа данных, включая модели деревьев решений, [[Association rule|ассоциативных правил]], [[Метод опорных векторов | метода опорных векторов]], [[Искусственная нейронная сеть | нейронных сетей]], [[наивный байесовский классификатор | наивного байесовского классификатора]], системы правил, линейной и[[Логистическая регрессия | логистической регрессии]], а также моделей регресии Кокса (Cox) и [[Кластерный анализ | кластерного анализа]]. ADAPA также принимает все элементы пред- и постобработки PMML, включая преобразования, встроенные функции, выходы и цели.
Строка 126: Строка 124:
 
* '''[http://www.zementis.com/in-DB-plugin.htm Zementis Universal PMML Plug-in]''': оценка в базе данных для PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа. Доступна в EMC Greenplum Database.
 
* '''[http://www.zementis.com/in-DB-plugin.htm Zementis Universal PMML Plug-in]''': оценка в базе данных для PMML 2.0, 2.1, 3.0, 3.1, 3.2, и 4.0 для нескольких моделей интеллектуального анализа. Доступна в EMC Greenplum Database.
  
===Генератор преобразований===
+
=== Генератор преобразований ===
 
PMML предлагает большой набор преобразований данных, в том числе отображение значений, нормализацию и дискретизацию. Он также предлагает несколько встроенных функций, а также арифметические и логические операции, которые могут быть объединены для представления сложных этапов предварительной обработки. С использованием [http://www.zementis.com/PMMLTransformations/PMMLTransformations.html Transformations Generator] можно графически создать преобразование и получить соответствующий код на PMML.
 
PMML предлагает большой набор преобразований данных, в том числе отображение значений, нормализацию и дискретизацию. Он также предлагает несколько встроенных функций, а также арифметические и логические операции, которые могут быть объединены для представления сложных этапов предварительной обработки. С использованием [http://www.zementis.com/PMMLTransformations/PMMLTransformations.html Transformations Generator] можно графически создать преобразование и получить соответствующий код на PMML.
  
==Ссылки==
+
== Ссылки ==
{{reflist}}
+
{{примечания}}
  
==Внешние ссылки==
+
== Ссылки ==
*[http://www.dmg.org/index.html Data Mining Group Home]
+
* [http://www.dmg.org/index.html Data Mining Group Home]
*[http://www.predictive-analytics.info/2009/04/pmml-data-pre-processing-primer.html Data Pre-processing in PMML and ADAPA - A Primer]
+
* [http://www.predictive-analytics.info/2009/04/pmml-data-pre-processing-primer.html Data Pre-processing in PMML and ADAPA — A Primer]
*[http://www.predictive-analytics.info/2009/04/how-do-i-use-pmml-converter.html Information on how to use the PMML Converter]
+
* [http://www.predictive-analytics.info/2009/04/how-do-i-use-pmml-converter.html Information on how to use the PMML Converter]
*[http://www.dmg.org/v3-2/GeneralStructure.html PMML 3.2 Specification]
+
* [http://www.dmg.org/v3-2/GeneralStructure.html PMML 3.2 Specification]
*[http://www.dmg.org/v4-0/GeneralStructure.html PMML 4.0 Specification]
+
* [http://www.dmg.org/v4-0/GeneralStructure.html PMML 4.0 Specification]
*[http://www.analyticbridge.com/group/pmml PMML Discussion Group - Analytic Bridge]
+
* [http://www.analyticbridge.com/group/pmml PMML Discussion Group — Analytic Bridge]
*[http://www.linkedin.com/groupRegistration?gid=2328634 PMML Interest Group - LinkedIn]
+
* [http://www.linkedin.com/groupRegistration?gid=2328634 PMML Interest Group — LinkedIn]
*[http://www.amazon.com/dp/1452858268 PMML in Action: A new (first) book on PMML - Available on Amazon.com]
+
* [http://www.amazon.com/dp/1452858268 PMML in Action: A new (first) book on PMML — Available on Amazon.com]
*[http://www.ibm.com/developerworks/industry/library/ind-PMML1/ What is PMML? Explore the power of predictive analytics and open standards] - Статья на сайте IBM developerWorks.
+
* [http://www.ibm.com/developerworks/industry/library/ind-PMML1/ What is PMML? Explore the power of predictive analytics and open standards] — Статья на сайте IBM developerWorks.
*[http://www.ibm.com/developerworks/industry/library/ind-PMML2/ Representing predictive solutions in PMML: Move from raw data to predictions] - Статья на сайте IBM developerWorks.
+
* [http://www.ibm.com/developerworks/industry/library/ind-PMML2/ Representing predictive solutions in PMML: Move from raw data to predictions] — Статья на сайте IBM developerWorks.
 
[[Категория:Языки разметки]]
 
[[Категория:Языки разметки]]
  

Версия от 11:30, 25 января 2012

Язык разметки для прогнозного моделирования (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.0

Последняя версия PMML, 4.0, была выпущена 16 июня 2009.[3][4][5]

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

  • Пояснение модели: Сохранение показателей оценки и эффективности модели в самом файле PMML.
  • Множественные модели: Возможности для композиции моделей, ансамблей, и сегментации (например, объединение регрессионного анализа и деревьев решений).

История выпусков

Версия 0.7July 1997
Версия 0.9July 1998
Версия 1.0August 1999
Версия 1.1August 2000
Версия 2.0August 2001
Версия 2.1March 2003
Версия 3.0October 2004
Версия 3.1December 2005
Версия 3.2May 2007
Версия 4.0June 2009

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

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

  • IBM InfoSphere Warehouse: создает PMML 3.0 и 3.1 только для последовательностей моделей. Принимает (оценивает и визуализирует) PMML 3.1 и младше.
  • IBM SPSS Modeler: создает и оценивает PMML 3.2 и 4.0 для различных моделей.
  • KNIME: создает и принимает PMML 4.0 для нейронных сетей, деревьев решений, моделей кластеризации, регрессионных моделей, и метода опорных векторов. Начиная с версии 2.4.0, KNIME предлагает расширенную поддержку прдварительной обработки PMML, включая возможность правки существующего кода PMML.
  • KXEN: создает PMML 3.2 для регрессионных моделей (том числе моделей интеллектуального анализа данных) и кластерного анализа.
  • Open Data Group’s Augustus: Создает PMML 4.0 для деревьев, наивного байесовского классификатора и моделей на основе набора правил. Принимает PMML 4.0 модели деревьев, наивного байесовского классификатора, на основе набора правил и регрессионные модели. Предыдущие версии создавали и принимали регрессионные модели, модели деревьев и наивного байесовского классификатора.
  • Oracle Data Mining: поддерживает основные возможности PMML 3.1 для регрессионных моделей. Импортированные модели становятся моделями Oracle Data Mining (ODM), пригодными к выгрузке в Exadata.
  • RapidMiner: Использует свободное расширение PMML, несколько типов моделей можно экспортировать в 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.

Генератор преобразований

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

Ссылки

  1. A. Guazzelli, M. Zeller, W. Chen, and G. Williams. PMML: An Open Standard for Sharing Models. The R Journal, Volume 1/1, May 2009.
  2. A. Guazzelli, W. Lin, T. Jena (2010). PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics. CreateSpace.
  3. Data Mining Group website | PMML 4.0 — Changes from PMML 3.2
  4. Zementis website | PMML 4.0 is here!
  5. R. Pechter. What’s PMML and What’s New in PMML 4.0? The ACM SIGKDD Explorations Newsletter, Volume 11/1, July 2009.

Ссылки

de:Predictive Model Markup Language en:Predictive Model Markup Language es:Predictive Model Markup Language fr:Predictive Model Markup Language it:Predictive Model Markup Language