Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用PMML模型_Python_Xml_Python 3.x_Prediction_Pmml - Fatal编程技术网

在Python中使用PMML模型

在Python中使用PMML模型,python,xml,python-3.x,prediction,pmml,Python,Xml,Python 3.x,Prediction,Pmml,我在互联网上找到了许多与此相关的话题,但我找不到解决方案 假设我想从下载任何PMML模型,并在Python中运行它们(最好是Python 3)。有没有办法做到这一点 我正在寻找一种方法来导入部署在Python之外的PMML,并将其导入到该语言中使用。经过一些研究,我找到了解决方案: 使用它非常简单: import subprocess from openscoring import Openscoring import numpy as np p = subprocess.Popen('jav

我在互联网上找到了许多与此相关的话题,但我找不到解决方案

假设我想从下载任何PMML模型,并在Python中运行它们(最好是Python 3)。有没有办法做到这一点


我正在寻找一种方法来导入部署在Python之外的PMML,并将其导入到该语言中使用。

经过一些研究,我找到了解决方案:

使用它非常简单:

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来运行服务器)。

您可以在Python中应用PMML,例如:

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库的更多信息,请参见:

您最好忽略该示例列表,因为这些PMML模型中有一半无效或与相应的数据文件不匹配-可能会让您认为(Python)工具坏了,但事实并非如此。@user1808924您知道我在哪里可以找到一些使用其数据集的工作示例,以试用Python中的一些代码吗?它的可能重复是重复的,因为它问了同样的问题:“如何在Python中使用PMML模型?”。不幸的是,正如您所发现的,目前没有很好的答案,因为似乎没有任何好的本机Python PMML导入器。如果有,它将是这个问题和这个问题的答案,因此它们是重复的。中提到了几个选项,如果您还没有找到它,但看起来它们并不完整或是最新的。如果使用此解决方案,我们需要使用最新版本的jar。在这里发布,以便帮助所有人