Поддержка Java для PMML - PullRequest
       11

Поддержка Java для PMML

9 голосов
/ 02 сентября 2011

Я новичок в PMML: язык разметки прогнозируемой модели ( www.dmg.org ), и мне было интересно, есть ли какая-либо поддержка Java (Open Source / professional) для создания / анализа файлов PMML ,

Изначально я имел в виду только возможность создания / анализа PMML-файлов программно из сред Java.

Я "гуглю" и нашел несколько возможностей:

Открытый исходный код:

С Явы.

  • JDM . javax.datamining. Кажется мертвым? У кого-то есть дополнительная информация?

Professional.

DIY

  • Используйте библиотеку XML Java и создайте для себя анализатор / средство записи файлов PMML

Я ценю все ваши мнения.

Заранее спасибо

Оскар

1 Ответ

1 голос
/ 01 июня 2014

Вы должны понимать, что ответ может зависеть от МОДЕЛЬНОГО ЭЛЕМЕНТА, с которым вы хотите работать. Также весьма вероятно, что ваши лучшие варианты создания PMML и его анализа будут исходить из разных пакетов программного обеспечения. Я собираюсь предположить, что под «созданием PMML» вы подразумеваете документ, а не модель. Я никогда не слышал, чтобы кто-нибудь интегрировал автоматическую подгонку модели в исполнение, но, возможно, она уже существует. Конечно, модель PMML может быть передана с использованием SOAP.

Я не могу говорить с другими проектами, но продукт, предлагаемый Zementis под названием Adapa , используется только для исполнения PMML. В этом продукте предполагается, что существует приложение подбора модели, которое будет выполнять создание путем экспорта подгоненной модели в PMML. Уже есть много хорошо разработанных приложений подбора моделей, поэтому я думаю, что это разумное предположение.

Версия, которую я использовал (3.6), была в целом быстрой, но она не могла обрабатывать ансамбли типичного размера случайного леса (500+ деревьев) без особо большой кучи. Я думаю, что они, возможно, исправили это в более новых версиях. Хотя это не рекламируется, Zementis, похоже, не предлагает некоторые из моделей, а именно: текстовые модели, последовательности, базовые модели или временные ряды (для которых стандарт PMML в настоящее время в любом случае имеет только экспоненциальное сглаживание). Моя версия также не имеет K-Nearest Neighbours, но я слышал, что более поздние версии имеют.

Если вы не рассматриваете возможность комплексной подгонки и выполнения (в этом случае вам следует подумать об онлайн-обучении), я бы посоветовал рассмотреть эти вопросы по порядку:

  1. Какой тип модели мне интересен?
  2. В каких приложениях я предпочитаю создавать модели?
  3. И наконец, как мне это выполнить и какие у меня требования в этом отношении (веб-сервисы, облако, производительность и т. Д.)?

Если вы посмотрите список членов в группе DMG, вы найдете много коммерческих поставщиков, которые либо на стороне предложения (например, SAS, SPSS, Togaware, Rapid-I) или спрос сторона (так много, чтобы перечислить).

В вашем списке вы также не упомянули Weka, но они также выполняют некоторые модели PMML , и существуют решения на основе R / Java , поэтому вы можете выполнить PMML- > R импортирует (см. FileToXMLNode) в среде Java (но вы также можете просто выполнить R).

Наконец, если вы имеете в виду очень специфическую модель и понимаете, что значит «выполнить ее» математически, тогда не составит труда создать то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...