Импортировать модель SVM из PMML в Java или Python?

Короткий вопрос: существует ли интерфейс PMML для Java, Python или любого другого основного языка программирования, который поддерживает модели SVM?

Предыстория: я обучил модель SVM в R, используя функцию ksvm из пакета kernlab. Теперь я хотел бы использовать эту модель в другом программном обеспечении. Чтобы экспортировать его из R, я думаю, что мог бы использовать PMML (язык разметки Predictive Model) через пакет pmml для R.

Однако я не могу найти ни одной библиотеки для Java, Python или вообще любого языка, позволяющего импортировать такую ​​модель. Группа интеллектуального анализа данных перечисляет довольно много интерфейсов PMML, но в основном это специальные инструменты для статистики. Существует также общая библиотека libsvm, но неясно, как это может использоваться для переноса моделей из одного интерфейса в другой.


person roelandvanbeek    schedule 08.04.2013    source источник
comment
Weka может импортировать модели SVM.   -  person Vincent Zoonekynd    schedule 08.04.2013
comment
@VincentZoonekynd: Похоже, что да, хотя я еще не нашел никакой документации. Спасибо.   -  person roelandvanbeek    schedule 10.04.2013


Ответы (5)


Вы можете импортировать обученную модель на любом языке. Существует пример для Python Повторная инициализация изученных линейных моделей с помощью scikit-learn

person Bilal Dadanlar    schedule 08.06.2013

Вы можете использовать механизм оценки Zementis ADAPA для развертывания своей модели и доступа к ней через веб-сервисы. По моему опыту, ADAPA также доступна в виде библиотеки Java, поэтому вы можете кодировать ее API Java. Надеюсь это поможет.

person user2262875    schedule 09.04.2013
comment
Эта библиотека Java звучит так, как будто это именно то, что я ищу. Однако я ничего не могу найти об этом в Интернете; похоже, что ADAPA предлагается только как веб-сервис. У вас есть дополнительная информация? - person roelandvanbeek; 10.04.2013

Библиотека под названием «Шаблон» переводит модели PMML в каскадные приложения на Java. Затем вы можете запустить оценку модели в Hadoop или в других приложениях Java. https://github.com/Cascading/pattern

Существует реализация SVM для Pattern, которая переписывается для последнего обновления библиотеки. Проверьте список адресов электронной почты разработчиков: https://groups.google.com/forum/?fromgroups#!forum/pattern-user

person Paco    schedule 06.06.2013
comment
Поправьте меня, если я ошибаюсь, но кажется, что каскадные приложения предназначены только для оценки моделей, что я также могу сделать в R. Я хочу написать приложение, использующее модель. - person roelandvanbeek; 06.06.2013

Вы можете использовать Weka как в качестве Java API, так и в качестве отдельного инструмента, который хорошо работает для PPML с некоторыми классификаторами. Проверьте эти классы в API weka: weka.classifiers.pmml.consumer.PMMLClassifier и weka.classifiers.pmml.consumer.SupportVectorMachineModel.

person Ícaro Dourado    schedule 26.03.2016

Я считаю, что JPMML (Java Evaluator PMML API) сделает то, что вы хотите.

person user6253481    schedule 04.03.2017