如何在R中保存logit模型并在Python中导入它?

如何在R中保存logit模型并在Python中导入它?,python,r,model,pmml,reticulate,Python,R,Model,Pmml,Reticulate,我需要在R3.6中训练一个glm模型,并将其导入Python3.7中进行预测 作为概念证明,我从 我可以用PMML格式保存R模型,但是没有Python库来导入它: library(r2pmml) r2pmml(my_model, "my_model.pmml") 所以这不是一个解决方案 我了解到我可以以pickle格式导出R模型,但当我尝试使用networkite库执行此操作时: package.install(reticulate) library(reticulate) use_pytho

我需要在R3.6中训练一个glm模型,并将其导入Python3.7中进行预测

作为概念证明,我从

我可以用PMML格式保存R模型,但是没有Python库来导入它:

library(r2pmml)
r2pmml(my_model, "my_model.pmml")
所以这不是一个解决方案

我了解到我可以以
pickle
格式导出R模型,但当我尝试使用
networkite
库执行此操作时:

package.install(reticulate)
library(reticulate)
use_python("/opt/anaconda3/bin/python")
py_save_object(my_model, "my_model")
我得到这个错误:

你知道我如何解决这个问题吗?

Python库可以导入PMML文件。下面的示例基于您提供的R代码

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from pypmml import Model                                           
>>> model = Model.fromFile('./Downloads/my_model.pmml')
>>> model.predict({'x1':-0.08629063, 'x2': 2.832245})
{'probability(1)': 0.9999454865350921, 'probability(0)': 5.451346490792375e-05}
如果您专门与sklearn合作,您可能会发现这对您很有帮助。移植整个R glm模型对象很困难,因为它包含一长串内容,其中包括环境变量(try
str(my_model)
并亲自检查)。代替移植完整模型对象,可以考虑通过使用JSON-R从R中移植模型系数,然后以与链接中显示的相同方式在Python中构建新的模型对象。p>
Error in py_call_impl(callable, dots$args, dots$keywords) :
      Evaluation error: Evaluation error: Unable to convert R object to Python type..
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from pypmml import Model                                           
>>> model = Model.fromFile('./Downloads/my_model.pmml')
>>> model.predict({'x1':-0.08629063, 'x2': 2.832245})
{'probability(1)': 0.9999454865350921, 'probability(0)': 5.451346490792375e-05}