python pmml评分库

pypmml的Python项目详细描述


PYPMML

pypmml是一个python pmml评分库,它实际上是用于PMML4S的python api。

先决条件

  • Java=1.8
  • python 2.7或>;=3.5

依赖关系

  • PY4J
  • 熊猫(可选)

安装

pip install pypmml

或者从github安装最新版本:

pip install --upgrade git+https://github.com/autodeployai/pypmml.git

用法

  1. 从各种源(如文件名、字符串或字节数组)加载模型。

    frompypmmlimportModel# The model is from http://dmg.org/pmml/pmml_examples/KNIME_PMML_4.1_Examples/single_iris_dectree.xmlmodel=Model.fromFile('single_iris_dectree.xml')
  2. 调用predict(data)来预测不同类型的新值,例如dict、json、pandas的序列或数据帧。

    # data in dictresult=model.predict({'sepal_length':5.1,'sepal_width':3.5,'petal_length':1.4,'petal_width':0.2})>>>print(result){'Probability':1.0,'Node_ID':'1','Probability_Iris-virginica':0.0,'Probability_Iris-setosa':1.0,'Probability_Iris-versicolor':0.0,'PredictedValue':'Iris-setosa'}# data in 'records' jsonresult=model.predict('[{"sepal_length": 5.1, "sepal_width": 3.5, "petal_length": 1.4, "petal_width": 0.2}]')>>>print(result)[{"Probability":1.0,"Probability_Iris-versicolor":0.0,"Probability_Iris-setosa":1.0,"Probability_Iris-virginica":0.0,"PredictedValue":"Iris-setosa","Node_ID":"1"}]# data in 'split' jsonresult=model.predict('{"columns": ["sepal_length", "sepal_width", "petal_length", "petal_width"], "data": [[5.1, 3.5, 1.4, 0.2]]}')>>>print(result){"columns":["PredictedValue","Probability","Probability_Iris-setosa","Probability_Iris-versicolor","Probability_Iris-virginica","Node_ID"],"data":[["Iris-setosa",1.0,1.0,0.0,0.0,"1"]]}

    如何使用熊猫

    importpandasaspd# data in Seriesresult=model.predict(pd.Series({'sepal_length':5.1,'sepal_width':3.5,'petal_length':1.4,'petal_width':0.2}))>>>print(result)Node_ID1PredictedValueIris-setosaProbability1Probability_Iris-setosa1Probability_Iris-versicolor0Probability_Iris-virginica0Name:0,dtype:object# The data is from here: http://dmg.org/pmml/pmml_examples/Iris.csvdata=pd.read_csv('Iris.csv')# data in DataFrameresult=model.predict(data)>>>print(result)Node_IDPredictedValueProbabilityProbability_Iris-setosaProbability_Iris-versicolorProbability_Iris-virginica01Iris-setosa1.0000001.00.0000000.00000011Iris-setosa1.0000001.00.0000000.000000....................14810Iris-virginica0.9782610.00.0217390.97826114910Iris-virginica0.9782610.00.0217390.978261[150rowsx6columns]
  3. 关闭PY4J的网关以释放资源。

    Model.close()

在Pyspark中使用

请参阅PyPMML-Spark项目。

支架

如果您对pypmml库有任何疑问,请在此存储库上打开问题。

对项目的反馈和贡献,无论是哪一种,都是非常受欢迎的。

许可证

pypmmlAPL 2.0下获得许可。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
构造函数的java条件调用   类Dog中的java构造函数Dog不能应用于给定类型   java jsch和运行“sudo su”   java将队列和堆栈相互复制   java如何在netbeans项目的文件夹中添加库   java While循环在我的代码中不存在   如何在XML中使用java方法的返回值   java是否可以在不写入文件的情况下将字符串/字节数组作为文件发布?   java为什么这些字符串不相等?   sockets客户机-服务器java编程,用户可选择   java如何在SpringMVC和hibernate中保存模型返回视图的列表   java如何修复组织。openqa。硒。WebDriverException:未知错误   Java,Ant错误:编码Cp1252的不可映射字符   JAVAlang.ClassCastException:[Ljava.lang.String;与java.lang.String不兼容   java如何使用JDK8(可选)为空字段创建自定义IntelliJ getter模板   java Tomcat6响应。sendRedirect()404错误