После некоторых исследований я нашел решение этой проблемы: библиотека '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, как я показал выше).