Используйте модели PMML в Python - PullRequest
0 голосов
/ 18 сентября 2018

Я нашел много тем, связанных с этим, в Интернете, но я не смог найти решения.

Предположим, я хочу загрузить любую модель PMML из этого списка примеров и запустить ихв Python (желательно Python 3).Есть какой-либо способ сделать это?

Я ищу способ импортировать PMML, который был развернут за пределами Python, и импортировать его для использования с этим языком.

Ответы [ 2 ]

0 голосов
/ 25 июля 2019

Вы можете использовать PyPMML для применения PMML в Python, например:

from pypmml import Model

model = Model.fromFile('DecisionTreeIris.pmml')
result = model.predict({
    "Sepal_Length" : 5.1,
    "Sepal_Width" : 3.5,
    "Petal_Length" : 1.4,
    "Petal_Width" : 0.2
})

Для получения дополнительной информации о других библиотеках PMML, см.: https://github.com/autodeployai

0 голосов
/ 16 октября 2018

После некоторых исследований я нашел решение этой проблемы: библиотека 'openscoring' .

Использовать ее очень просто:

import subprocess
from openscoring import Openscoring
import numpy as np

p = subprocess.Popen('java -jar openscoring-server-executable-1.4.3.jar',
             shell=True)

os = Openscoring("http://localhost:8080/openscoring")

# Deploying a PMML document DecisionTreeIris.pmml as an Iris model:   
os.deployFile("Iris", "DecisionTreeIris.pmml")

# Evaluating the Iris model with a data record:
arguments = {
    "Sepal_Length" : 5.1,
    "Sepal_Width" : 3.5,
    "Petal_Length" : 1.4,
    "Petal_Width" : 0.2
}
result = os.evaluate("Iris", arguments)
print(result)

Возвращает значениецелевой переменной в словаре.Больше нет необходимости выходить за пределы Python для использования моделей PMML (вам просто нужно запустить сервер с Java, что можно сделать с помощью Python, как я показал выше).

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