Язык разметки прогнозного моделирования

Поделись знанием:
Перейти к: навигация, поиск

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

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

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

Версия 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

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

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

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

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

Напишите отзыв о статье "Язык разметки прогнозного моделирования"

Ссылки

  1. A. Guazzelli, M. Zeller, W. Chen, and G. Williams. [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.
  2. A. Guazzelli, W. Lin, T. Jena (2010). [www.amazon.com/dp/1452858268 PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics]. CreateSpace.
  3. [www.dmg.org/v4-0/Changes.html Data Mining Group website | PMML 4.0 — Changes from PMML 3.2]
  4. [adapasupport.zementis.com/2009/06/pmml-40-is-here.html Zementis website | PMML 4.0 is here!]
  5. R. Pechter. [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.

Напишите отзыв о статье "Язык разметки прогнозного моделирования"

Ссылки

  • [www.dmg.org/index.html Data Mining Group Home]
  • [www.predictive-analytics.info/2009/04/pmml-data-pre-processing-primer.html Data Pre-processing in PMML and ADAPA — A Primer]
  • [www.predictive-analytics.info/2009/04/how-do-i-use-pmml-converter.html Information on how to use the PMML Converter]
  • [www.dmg.org/v3-2/GeneralStructure.html PMML 3.2 Specification]
  • [www.dmg.org/v4-0/GeneralStructure.html PMML 4.0 Specification]
  • [www.analyticbridge.com/group/pmml PMML Discussion Group — Analytic Bridge]
  • [www.linkedin.com/groupRegistration?gid=2328634 PMML Interest Group — LinkedIn]
  • [www.amazon.com/dp/1452858268 PMML in Action: A new (first) book on PMML — Available on Amazon.com]
  • [www.ibm.com/developerworks/industry/library/ind-PMML1/ What is PMML? Explore the power of predictive analytics and open standards] — Статья на сайте IBM developerWorks.
  • [www.ibm.com/developerworks/industry/library/ind-PMML2/ Representing predictive solutions in PMML: Move from raw data to predictions] — Статья на сайте IBM developerWorks.

Отрывок, характеризующий Язык разметки прогнозного моделирования

– Ну, ну, разом, налегни! – кричали голоса, и в темноте ночи раскачивалось с морозным треском огромное, запорошенное снегом полотно плетня. Чаще и чаще трещали нижние колья, и, наконец, плетень завалился вместе с солдатами, напиравшими на него. Послышался громкий грубо радостный крик и хохот.
– Берись по двое! рочаг подавай сюда! вот так то. Куда лезешь то?
– Ну, разом… Да стой, ребята!.. С накрика!
Все замолкли, и негромкий, бархатно приятный голос запел песню. В конце третьей строфы, враз с окончанием последнего звука, двадцать голосов дружно вскрикнули: «Уууу! Идет! Разом! Навались, детки!..» Но, несмотря на дружные усилия, плетень мало тронулся, и в установившемся молчании слышалось тяжелое пыхтенье.
– Эй вы, шестой роты! Черти, дьяволы! Подсоби… тоже мы пригодимся.
Шестой роты человек двадцать, шедшие в деревню, присоединились к тащившим; и плетень, саженей в пять длины и в сажень ширины, изогнувшись, надавя и режа плечи пыхтевших солдат, двинулся вперед по улице деревни.
– Иди, что ли… Падай, эка… Чего стал? То то… Веселые, безобразные ругательства не замолкали.
– Вы чего? – вдруг послышался начальственный голос солдата, набежавшего на несущих.
– Господа тут; в избе сам анарал, а вы, черти, дьяволы, матершинники. Я вас! – крикнул фельдфебель и с размаху ударил в спину первого подвернувшегося солдата. – Разве тихо нельзя?
Солдаты замолкли. Солдат, которого ударил фельдфебель, стал, покряхтывая, обтирать лицо, которое он в кровь разодрал, наткнувшись на плетень.
– Вишь, черт, дерется как! Аж всю морду раскровянил, – сказал он робким шепотом, когда отошел фельдфебель.
– Али не любишь? – сказал смеющийся голос; и, умеряя звуки голосов, солдаты пошли дальше. Выбравшись за деревню, они опять заговорили так же громко, пересыпая разговор теми же бесцельными ругательствами.
В избе, мимо которой проходили солдаты, собралось высшее начальство, и за чаем шел оживленный разговор о прошедшем дне и предполагаемых маневрах будущего. Предполагалось сделать фланговый марш влево, отрезать вице короля и захватить его.
Когда солдаты притащили плетень, уже с разных сторон разгорались костры кухонь. Трещали дрова, таял снег, и черные тени солдат туда и сюда сновали по всему занятому, притоптанному в снегу, пространству.
Топоры, тесаки работали со всех сторон. Все делалось без всякого приказания. Тащились дрова про запас ночи, пригораживались шалашики начальству, варились котелки, справлялись ружья и амуниция.
Притащенный плетень осьмою ротой поставлен полукругом со стороны севера, подперт сошками, и перед ним разложен костер. Пробили зарю, сделали расчет, поужинали и разместились на ночь у костров – кто чиня обувь, кто куря трубку, кто, донага раздетый, выпаривая вшей.


Казалось бы, что в тех, почти невообразимо тяжелых условиях существования, в которых находились в то время русские солдаты, – без теплых сапог, без полушубков, без крыши над головой, в снегу при 18° мороза, без полного даже количества провианта, не всегда поспевавшего за армией, – казалось, солдаты должны бы были представлять самое печальное и унылое зрелище.
Напротив, никогда, в самых лучших материальных условиях, войско не представляло более веселого, оживленного зрелища. Это происходило оттого, что каждый день выбрасывалось из войска все то, что начинало унывать или слабеть. Все, что было физически и нравственно слабого, давно уже осталось назади: оставался один цвет войска – по силе духа и тела.
К осьмой роте, пригородившей плетень, собралось больше всего народа. Два фельдфебеля присели к ним, и костер их пылал ярче других. Они требовали за право сиденья под плетнем приношения дров.
– Эй, Макеев, что ж ты …. запропал или тебя волки съели? Неси дров то, – кричал один краснорожий рыжий солдат, щурившийся и мигавший от дыма, но не отодвигавшийся от огня. – Поди хоть ты, ворона, неси дров, – обратился этот солдат к другому. Рыжий был не унтер офицер и не ефрейтор, но был здоровый солдат, и потому повелевал теми, которые были слабее его. Худенький, маленький, с вострым носиком солдат, которого назвали вороной, покорно встал и пошел было исполнять приказание, но в это время в свет костра вступила уже тонкая красивая фигура молодого солдата, несшего беремя дров.
– Давай сюда. Во важно то!
Дрова наломали, надавили, поддули ртами и полами шинелей, и пламя зашипело и затрещало. Солдаты, придвинувшись, закурили трубки. Молодой, красивый солдат, который притащил дрова, подперся руками в бока и стал быстро и ловко топотать озябшими ногами на месте.
– Ах, маменька, холодная роса, да хороша, да в мушкатера… – припевал он, как будто икая на каждом слоге песни.
– Эй, подметки отлетят! – крикнул рыжий, заметив, что у плясуна болталась подметка. – Экой яд плясать!
Плясун остановился, оторвал болтавшуюся кожу и бросил в огонь.
– И то, брат, – сказал он; и, сев, достал из ранца обрывок французского синего сукна и стал обвертывать им ногу. – С пару зашлись, – прибавил он, вытягивая ноги к огню.
– Скоро новые отпустят. Говорят, перебьем до копца, тогда всем по двойному товару.
– А вишь, сукин сын Петров, отстал таки, – сказал фельдфебель.
– Я его давно замечал, – сказал другой.
– Да что, солдатенок…
– А в третьей роте, сказывали, за вчерашний день девять человек недосчитали.
– Да, вот суди, как ноги зазнобишь, куда пойдешь?
– Э, пустое болтать! – сказал фельдфебель.
– Али и тебе хочется того же? – сказал старый солдат, с упреком обращаясь к тому, который сказал, что ноги зазнобил.
– А ты что же думаешь? – вдруг приподнявшись из за костра, пискливым и дрожащим голосом заговорил востроносенький солдат, которого называли ворона. – Кто гладок, так похудает, а худому смерть. Вот хоть бы я. Мочи моей нет, – сказал он вдруг решительно, обращаясь к фельдфебелю, – вели в госпиталь отослать, ломота одолела; а то все одно отстанешь…
– Ну буде, буде, – спокойно сказал фельдфебель. Солдатик замолчал, и разговор продолжался.
– Нынче мало ли французов этих побрали; а сапог, прямо сказать, ни на одном настоящих нет, так, одна названье, – начал один из солдат новый разговор.
– Всё казаки поразули. Чистили для полковника избу, выносили их. Жалости смотреть, ребята, – сказал плясун. – Разворочали их: так живой один, веришь ли, лопочет что то по своему.
– А чистый народ, ребята, – сказал первый. – Белый, вот как береза белый, и бравые есть, скажи, благородные.
– А ты думаешь как? У него от всех званий набраны.
– А ничего не знают по нашему, – с улыбкой недоумения сказал плясун. – Я ему говорю: «Чьей короны?», а он свое лопочет. Чудесный народ!
– Ведь то мудрено, братцы мои, – продолжал тот, который удивлялся их белизне, – сказывали мужики под Можайским, как стали убирать битых, где страженья то была, так ведь что, говорит, почитай месяц лежали мертвые ихние то. Что ж, говорит, лежит, говорит, ихний то, как бумага белый, чистый, ни синь пороха не пахнет.
– Что ж, от холода, что ль? – спросил один.
– Эка ты умный! От холода! Жарко ведь было. Кабы от стужи, так и наши бы тоже не протухли. А то, говорит, подойдешь к нашему, весь, говорит, прогнил в червях. Так, говорит, платками обвяжемся, да, отворотя морду, и тащим; мочи нет. А ихний, говорит, как бумага белый; ни синь пороха не пахнет.
Все помолчали.
– Должно, от пищи, – сказал фельдфебель, – господскую пищу жрали.
Никто не возражал.
– Сказывал мужик то этот, под Можайским, где страженья то была, их с десяти деревень согнали, двадцать дён возили, не свозили всех, мертвых то. Волков этих что, говорит…
– Та страженья была настоящая, – сказал старый солдат. – Только и было чем помянуть; а то всё после того… Так, только народу мученье.
– И то, дядюшка. Позавчера набежали мы, так куда те, до себя не допущают. Живо ружья покидали. На коленки. Пардон – говорит. Так, только пример один. Сказывали, самого Полиона то Платов два раза брал. Слова не знает. Возьмет возьмет: вот на те, в руках прикинется птицей, улетит, да и улетит. И убить тоже нет положенья.
– Эка врать здоров ты, Киселев, посмотрю я на тебя.
– Какое врать, правда истинная.
– А кабы на мой обычай, я бы его, изловимши, да в землю бы закопал. Да осиновым колом. А то что народу загубил.
– Все одно конец сделаем, не будет ходить, – зевая, сказал старый солдат.
Разговор замолк, солдаты стали укладываться.
– Вишь, звезды то, страсть, так и горят! Скажи, бабы холсты разложили, – сказал солдат, любуясь на Млечный Путь.
– Это, ребята, к урожайному году.
– Дровец то еще надо будет.
– Спину погреешь, а брюха замерзла. Вот чуда.
– О, господи!
– Что толкаешься то, – про тебя одного огонь, что ли? Вишь… развалился.
Из за устанавливающегося молчания послышался храп некоторых заснувших; остальные поворачивались и грелись, изредка переговариваясь. От дальнего, шагов за сто, костра послышался дружный, веселый хохот.
– Вишь, грохочат в пятой роте, – сказал один солдат. – И народу что – страсть!
Один солдат поднялся и пошел к пятой роте.
– То то смеху, – сказал он, возвращаясь. – Два хранцуза пристали. Один мерзлый вовсе, а другой такой куражный, бяда! Песни играет.
– О о? пойти посмотреть… – Несколько солдат направились к пятой роте.


Пятая рота стояла подле самого леса. Огромный костер ярко горел посреди снега, освещая отягченные инеем ветви деревьев.
В середине ночи солдаты пятой роты услыхали в лесу шаги по снегу и хряск сучьев.
– Ребята, ведмедь, – сказал один солдат. Все подняли головы, прислушались, и из леса, в яркий свет костра, выступили две, держащиеся друг за друга, человеческие, странно одетые фигуры.
Это были два прятавшиеся в лесу француза. Хрипло говоря что то на непонятном солдатам языке, они подошли к костру. Один был повыше ростом, в офицерской шляпе, и казался совсем ослабевшим. Подойдя к костру, он хотел сесть, но упал на землю. Другой, маленький, коренастый, обвязанный платком по щекам солдат, был сильнее. Он поднял своего товарища и, указывая на свой рот, говорил что то. Солдаты окружили французов, подстелили больному шинель и обоим принесли каши и водки.
Ослабевший французский офицер был Рамбаль; повязанный платком был его денщик Морель.
Когда Морель выпил водки и доел котелок каши, он вдруг болезненно развеселился и начал не переставая говорить что то не понимавшим его солдатам. Рамбаль отказывался от еды и молча лежал на локте у костра, бессмысленными красными глазами глядя на русских солдат. Изредка он издавал протяжный стон и опять замолкал. Морель, показывая на плечи, внушал солдатам, что это был офицер и что его надо отогреть. Офицер русский, подошедший к костру, послал спросить у полковника, не возьмет ли он к себе отогреть французского офицера; и когда вернулись и сказали, что полковник велел привести офицера, Рамбалю передали, чтобы он шел. Он встал и хотел идти, но пошатнулся и упал бы, если бы подле стоящий солдат не поддержал его.
– Что? Не будешь? – насмешливо подмигнув, сказал один солдат, обращаясь к Рамбалю.
– Э, дурак! Что врешь нескладно! То то мужик, право, мужик, – послышались с разных сторон упреки пошутившему солдату. Рамбаля окружили, подняли двое на руки, перехватившись ими, и понесли в избу. Рамбаль обнял шеи солдат и, когда его понесли, жалобно заговорил:
– Oh, nies braves, oh, mes bons, mes bons amis! Voila des hommes! oh, mes braves, mes bons amis! [О молодцы! О мои добрые, добрые друзья! Вот люди! О мои добрые друзья!] – и, как ребенок, головой склонился на плечо одному солдату.
Между тем Морель сидел на лучшем месте, окруженный солдатами.
Морель, маленький коренастый француз, с воспаленными, слезившимися глазами, обвязанный по бабьи платком сверх фуражки, был одет в женскую шубенку. Он, видимо, захмелев, обнявши рукой солдата, сидевшего подле него, пел хриплым, перерывающимся голосом французскую песню. Солдаты держались за бока, глядя на него.
– Ну ка, ну ка, научи, как? Я живо перейму. Как?.. – говорил шутник песенник, которого обнимал Морель.
Vive Henri Quatre,
Vive ce roi vaillanti –
[Да здравствует Генрих Четвертый!
Да здравствует сей храбрый король!
и т. д. (французская песня) ]
пропел Морель, подмигивая глазом.
Сe diable a quatre…
– Виварика! Виф серувару! сидябляка… – повторил солдат, взмахнув рукой и действительно уловив напев.
– Вишь, ловко! Го го го го го!.. – поднялся с разных сторон грубый, радостный хохот. Морель, сморщившись, смеялся тоже.
– Ну, валяй еще, еще!
Qui eut le triple talent,
De boire, de battre,
Et d'etre un vert galant…
[Имевший тройной талант,
пить, драться
и быть любезником…]
– A ведь тоже складно. Ну, ну, Залетаев!..
– Кю… – с усилием выговорил Залетаев. – Кью ю ю… – вытянул он, старательно оттопырив губы, – летриптала, де бу де ба и детравагала, – пропел он.
– Ай, важно! Вот так хранцуз! ой… го го го го! – Что ж, еще есть хочешь?
– Дай ему каши то; ведь не скоро наестся с голоду то.
Опять ему дали каши; и Морель, посмеиваясь, принялся за третий котелок. Радостные улыбки стояли на всех лицах молодых солдат, смотревших на Мореля. Старые солдаты, считавшие неприличным заниматься такими пустяками, лежали с другой стороны костра, но изредка, приподнимаясь на локте, с улыбкой взглядывали на Мореля.
– Тоже люди, – сказал один из них, уворачиваясь в шинель. – И полынь на своем кореню растет.
– Оо! Господи, господи! Как звездно, страсть! К морозу… – И все затихло.
Звезды, как будто зная, что теперь никто не увидит их, разыгрались в черном небе. То вспыхивая, то потухая, то вздрагивая, они хлопотливо о чем то радостном, но таинственном перешептывались между собой.

Х
Войска французские равномерно таяли в математически правильной прогрессии. И тот переход через Березину, про который так много было писано, была только одна из промежуточных ступеней уничтожения французской армии, а вовсе не решительный эпизод кампании. Ежели про Березину так много писали и пишут, то со стороны французов это произошло только потому, что на Березинском прорванном мосту бедствия, претерпеваемые французской армией прежде равномерно, здесь вдруг сгруппировались в один момент и в одно трагическое зрелище, которое у всех осталось в памяти. Со стороны же русских так много говорили и писали про Березину только потому, что вдали от театра войны, в Петербурге, был составлен план (Пфулем же) поимки в стратегическую западню Наполеона на реке Березине. Все уверились, что все будет на деле точно так, как в плане, и потому настаивали на том, что именно Березинская переправа погубила французов. В сущности же, результаты Березинской переправы были гораздо менее гибельны для французов потерей орудий и пленных, чем Красное, как то показывают цифры.